mirror of
				https://github.com/KevinMidboe/vue-chartjs.git
				synced 2025-10-29 18:00:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			99 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'
 | |
|   },
 | |
|   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"'
 | |
|       }
 | |
|     }),
 | |
|     new webpack.optimize.UglifyJsPlugin({
 | |
|       compress: {
 | |
|         warnings: false
 | |
|       }
 | |
|     })
 | |
|   ]
 | |
| }
 |