vue-material/build/webpack/base.js

70 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

2016-10-13 06:27:58 +00:00
import path from 'path';
import webpack from 'webpack';
import eslintFormatter from 'eslint-friendly-formatter';
import config from '../config';
2017-02-07 21:24:29 +00:00
const resolvePath = (dir) => {
return path.resolve(__dirname, '..', '..', dir);
};
2016-10-13 06:27:58 +00:00
export default {
entry: {
2016-10-13 07:29:09 +00:00
docs: './docs/src/index.js'
2016-10-13 06:27:58 +00:00
},
output: {
path: config.rootPath,
publicPath: config.publicPath,
2017-02-07 23:18:41 +00:00
filename: '[name].js'
2016-10-13 06:27:58 +00:00
},
resolve: {
2017-02-07 21:24:29 +00:00
extensions: ['.js', '.vue', '.json'],
2016-10-13 06:27:58 +00:00
alias: {
2017-02-07 21:24:29 +00:00
assets: resolvePath('docs/src/assets')
2016-10-13 06:27:58 +00:00
}
},
module: {
2017-02-07 21:24:29 +00:00
rules: [
2016-10-13 06:27:58 +00:00
{
2017-02-07 21:24:29 +00:00
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [
resolvePath('build'),
resolvePath('src'),
resolvePath('docs')
],
options: {
fix: true,
formatter: eslintFormatter
}
2016-10-13 06:27:58 +00:00
},
{
test: /\.js$/,
2017-02-07 21:24:29 +00:00
loader: 'babel-loader',
include: [
resolvePath('build'),
resolvePath('src'),
resolvePath('docs')
]
2016-10-13 06:27:58 +00:00
},
{
test: /\.theme$/,
2017-02-07 21:24:29 +00:00
use: ['raw-loader', 'sass-loader']
2016-11-29 06:06:18 +00:00
},
{
2017-02-07 21:24:29 +00:00
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
2016-11-29 06:06:18 +00:00
query: {
limit: 10000,
name: '/assets/[name].[hash:8].[ext]'
}
2016-10-13 06:27:58 +00:00
}
]
},
plugins: [
new webpack.DefinePlugin({
'process.env': config.env
})
]
};