vue-form-ui
Version:
A set of Vue form components with complex validation
154 lines (148 loc) • 3.75 kB
JavaScript
const webpack = require('webpack');
const merge = require('webpack-merge');
const path = require('path');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
var config = {
output: {
path: path.resolve(__dirname + '/dist/'),
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
include: __dirname,
exclude: /node_modules/
},
{
test: /\.vue$/,
loader: 'vue'
},
{
test: /\.css$/,
loader: 'style!less!css'
}
]
},
externals: {
moment: 'moment'
},
plugins: [
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
// this is used to display bundle sizes
// new BundleAnalyzerPlugin(),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
new webpack.optimize.UglifyJsPlugin( {
minimize : true,
sourceMap : false,
mangle: false,
compress: {
warnings: false
}
})
]
};
module.exports = [
merge(config, {
entry: path.resolve(__dirname + '/src/plugin.js'),
output: {
filename: 'vue-form-ui.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
/*
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/textinput.vue'),
output: {
filename: 'textinput.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/dateinput.vue'),
output: {
filename: 'dateinput.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/emailinput.vue'),
output: {
filename: 'emailinput.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/phoneinput.vue'),
output: {
filename: 'phoneinput.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/buttons.vue'),
output: {
filename: 'buttons.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/selectinput.vue'),
output: {
filename: 'selectinput.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/currencyinput.vue'),
output: {
filename: 'currencyinput.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/checkboxinput.vue'),
output: {
filename: 'checkboxinput.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/addressblock.vue'),
output: {
filename: 'addressblock.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
}),
merge(config, {
entry: path.resolve(__dirname + '/src/inputs/month-year-input.vue'),
output: {
filename: 'month-year-input.js',
libraryTarget: 'umd',
library: 'vue-form-ui',
umdNamedDefine: true
}
})*/
];