mirror of
https://github.com/KevinMidboe/vue-chartjs.git
synced 2025-10-29 09:50:21 +00:00
95 lines
2.1 KiB
JavaScript
95 lines
2.1 KiB
JavaScript
var path = require('path')
|
|
var webpack = require('webpack')
|
|
var ExtractTextPlugin = require('extract-text-webpack-plugin')
|
|
var cssLoader = ExtractTextPlugin.extract('style-loader', 'css-loader')
|
|
const npmCfg = require('../package.json')
|
|
const vueLoaderConfig = require('./vue-loader.conf')
|
|
|
|
var banner = [
|
|
npmCfg.name + ' v' + npmCfg.version,
|
|
'(c) ' + (new Date().getFullYear()) + ' ' + npmCfg.author,
|
|
npmCfg.homepage
|
|
].join('\n')
|
|
|
|
function resolve (dir) {
|
|
return path.join(__dirname, '..', dir)
|
|
}
|
|
|
|
module.exports = {
|
|
entry: {
|
|
'vue-chartjs': './src/index.js'
|
|
},
|
|
devtool: 'source-map',
|
|
output: {
|
|
filename: './dist/[name].js',
|
|
library: 'VueChartJs',
|
|
libraryTarget: 'umd',
|
|
umdNamedDefine: true
|
|
},
|
|
externals: {
|
|
'chart.js': {
|
|
root: 'Chart',
|
|
commonjs: 'chart.js',
|
|
commonjs2: 'chart.js',
|
|
amd: 'chart.js'
|
|
}
|
|
},
|
|
resolve: {
|
|
extensions: ['.js', '.vue', '.json'],
|
|
alias: {
|
|
'vue$': 'vue/dist/vue.esm.js',
|
|
'@': resolve('src')
|
|
}
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.(js|vue)$/,
|
|
loader: 'eslint-loader',
|
|
enforce: 'pre',
|
|
include: [resolve('src'), resolve('test')],
|
|
options: {
|
|
formatter: require('eslint-friendly-formatter')
|
|
}
|
|
},
|
|
{
|
|
test: /\.vue$/,
|
|
loader: 'vue-loader',
|
|
options: vueLoaderConfig
|
|
},
|
|
{
|
|
test: /\.js$/,
|
|
loader: 'babel-loader',
|
|
include: [resolve('src'), resolve('test')]
|
|
},
|
|
{
|
|
test: /\.css$/,
|
|
loader: cssLoader
|
|
},
|
|
{
|
|
test: /\.s[a|c]ss$/,
|
|
loader: ExtractTextPlugin.extract('style-loader', 'css-loader!sass-loader')
|
|
},
|
|
{
|
|
test: /\.json$/,
|
|
loader: 'json-loader'
|
|
}
|
|
]
|
|
},
|
|
plugins: [
|
|
new webpack.BannerPlugin(banner),
|
|
new webpack.optimize.ModuleConcatenationPlugin()
|
|
]
|
|
}
|
|
|
|
if (process.env.NODE_ENV === 'production') {
|
|
// delete module.exports.devtool
|
|
module.exports.plugins = [
|
|
new webpack.DefinePlugin({
|
|
'process.env': {
|
|
NODE_ENV: '"production"'
|
|
}
|
|
})
|
|
]
|
|
}
|