vue-material/build/webpack/base.js
2016-11-29 04:06:18 -02:00

102 lines
2 KiB
JavaScript

import path from 'path';
import webpack from 'webpack';
import autoprefixer from 'autoprefixer';
import eslintFormatter from 'eslint-friendly-formatter';
import config from '../config';
export default {
entry: {
docs: './docs/src/index.js'
},
output: {
path: config.rootPath,
publicPath: config.publicPath,
filename: '[name].js'
},
resolve: {
extensions: ['', '.js', '.vue'],
fallback: [config.nodePath],
alias: {
assets: path.resolve(__dirname, '../../docs/src/assets')
}
},
resolveLoader: {
fallback: [config.nodePath]
},
module: {
preLoaders: [
{
test: /\.vue$/,
loader: 'eslint',
include: config.projectRoot,
exclude: /node_modules/
},
{
test: /\.js$/,
loader: 'eslint',
include: config.projectRoot,
exclude: /node_modules/
}
],
loaders: [
{
test: /\.vue$/,
loader: 'vue'
},
{
test: /\.js$/,
loader: 'babel',
include: config.projectRoot,
exclude: /node_modules/
},
{
test: /\.css$/,
loader: 'vue-style-loader!css-loader'
},
{
test: /\.scss$/,
loader: 'vue-style-loader!css-loader!sass-loader'
},
{
test: /\.theme$/,
loaders: ['raw', 'sass-loader']
},
{
test: /\.json$/,
loaders: ['json-loader']
},
{
test: /\.(png|jpg|gif|svg)(\?.*)?$/,
loader: 'url',
query: {
limit: 10000,
name: '/assets/[name].[hash:8].[ext]'
}
},
{
test: /\.html$/,
loader: 'vue-html'
}
]
},
eslint: {
fix: true,
formatter: eslintFormatter
},
vue: {
loaders: {
css: 'vue-style-loader!css-loader',
scss: 'vue-style-loader!css-loader!sass-loader'
},
postcss: [
autoprefixer({
browsers: ['last 2 versions']
})
]
},
plugins: [
new webpack.DefinePlugin({
'process.env': config.env
})
]
};