mirror of
				https://github.com/KevinMidboe/vue-chartjs.git
				synced 2025-10-29 18:00:20 +00:00 
			
		
		
		
	✨ Add umd module gereation for npm package
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
This commit is contained in:
		| @@ -14,13 +14,13 @@ console.log( | ||||
|   '  Opening index.html over file:// won\'t work.\n' | ||||
| ) | ||||
|  | ||||
| var spinner = ora('building for production...') | ||||
| var spinner = ora('building UMD module...') | ||||
| spinner.start() | ||||
|  | ||||
| var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory) | ||||
| rm('-rf', assetsPath) | ||||
| mkdir('-p', assetsPath) | ||||
| cp('-R', 'static/', assetsPath) | ||||
|  | ||||
|  | ||||
| webpack(webpackConfig, function (err, stats) { | ||||
|   spinner.stop() | ||||
|   | ||||
| @@ -1,102 +1,32 @@ | ||||
| var path = require('path') | ||||
| var config = require('../config') | ||||
| var utils = require('./utils') | ||||
| var webpack = require('webpack') | ||||
| var merge = require('webpack-merge') | ||||
| var baseWebpackConfig = require('./webpack.base.conf') | ||||
| var ExtractTextPlugin = require('extract-text-webpack-plugin') | ||||
| var HtmlWebpackPlugin = require('html-webpack-plugin') | ||||
| var env = process.env.NODE_ENV === 'testing' | ||||
|   ? require('../config/test.env') | ||||
|   : config.build.env | ||||
| const webpack = require('webpack') | ||||
| const base = require('./webpack.base.conf') | ||||
| const config = require('../config') | ||||
|  | ||||
| var webpackConfig = merge(baseWebpackConfig, { | ||||
|   module: { | ||||
|     loaders: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true }) | ||||
|   }, | ||||
|   devtool: config.build.productionSourceMap ? '#source-map' : false, | ||||
|   output: { | ||||
| base.entry = { | ||||
|   lib: './src/index.js' | ||||
| } | ||||
|  | ||||
| base.output = { | ||||
|   path: config.build.assetsRoot, | ||||
|     filename: utils.assetsPath('js/[name].[chunkhash].js'), | ||||
|     chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') | ||||
|   }, | ||||
|   vue: { | ||||
|     loaders: utils.cssLoaders({ | ||||
|       sourceMap: config.build.productionSourceMap, | ||||
|       extract: true | ||||
|     }) | ||||
|   }, | ||||
|   plugins: [ | ||||
|     // http://vuejs.github.io/vue-loader/workflow/production.html | ||||
|   publicPath: config.build.assetsPublicPath, | ||||
|   filename: 'vue-chartjs.js', | ||||
|   library: 'VueChartJs', | ||||
|   libraryTarget: 'umd' | ||||
| } | ||||
|  | ||||
| var webpackConfig = Object.assign({}, base) | ||||
|  | ||||
| webpackConfig.devtool = '#source-map' | ||||
| webpackConfig.plugins = (webpackConfig.plugins || []).concat([ | ||||
|   new webpack.DefinePlugin({ | ||||
|       'process.env': env | ||||
|     'process.env': { | ||||
|       NODE_ENV: '"production"' | ||||
|     } | ||||
|   }), | ||||
|   new webpack.optimize.UglifyJsPlugin({ | ||||
|       compress: { | ||||
|         warnings: false | ||||
|       } | ||||
|     compress: { warnings: false } | ||||
|   }), | ||||
|   new webpack.optimize.OccurenceOrderPlugin(), | ||||
|     // extract css into its own file | ||||
|     new ExtractTextPlugin(utils.assetsPath('css/[name].[contenthash].css')), | ||||
|     // generate dist index.html with correct asset hash for caching. | ||||
|     // you can customize output by editing /index.html | ||||
|     // see https://github.com/ampedandwired/html-webpack-plugin | ||||
|     new HtmlWebpackPlugin({ | ||||
|       filename: process.env.NODE_ENV === 'testing' | ||||
|         ? 'index.html' | ||||
|         : config.build.index, | ||||
|       template: 'index.html', | ||||
|       inject: true, | ||||
|       minify: { | ||||
|         removeComments: true, | ||||
|         collapseWhitespace: true, | ||||
|         removeAttributeQuotes: true | ||||
|         // more options: | ||||
|         // https://github.com/kangax/html-minifier#options-quick-reference | ||||
|       }, | ||||
|       // necessary to consistently work with multiple chunks via CommonsChunkPlugin | ||||
|       chunksSortMode: 'dependency' | ||||
|     }), | ||||
|     // split vendor js into its own file | ||||
|     new webpack.optimize.CommonsChunkPlugin({ | ||||
|       name: 'vendor', | ||||
|       minChunks: function (module, count) { | ||||
|         // any required modules inside node_modules are extracted to vendor | ||||
|         return ( | ||||
|           module.resource && | ||||
|           /\.js$/.test(module.resource) && | ||||
|           module.resource.indexOf( | ||||
|             path.join(__dirname, '../node_modules') | ||||
|           ) === 0 | ||||
|         ) | ||||
|       } | ||||
|     }), | ||||
|     // extract webpack runtime and module manifest to its own file in order to | ||||
|     // prevent vendor hash from being updated whenever app bundle is updated | ||||
|     new webpack.optimize.CommonsChunkPlugin({ | ||||
|       name: 'manifest', | ||||
|       chunks: ['vendor'] | ||||
|     }) | ||||
|   ] | ||||
| }) | ||||
|  | ||||
| if (config.build.productionGzip) { | ||||
|   var CompressionWebpackPlugin = require('compression-webpack-plugin') | ||||
|  | ||||
|   webpackConfig.plugins.push( | ||||
|     new CompressionWebpackPlugin({ | ||||
|       asset: '[path].gz[query]', | ||||
|       algorithm: 'gzip', | ||||
|       test: new RegExp( | ||||
|         '\\.(' + | ||||
|         config.build.productionGzipExtensions.join('|') + | ||||
|         ')$' | ||||
|       ), | ||||
|       threshold: 10240, | ||||
|       minRatio: 0.8 | ||||
|     }) | ||||
|   ) | ||||
| } | ||||
| ]) | ||||
|  | ||||
| module.exports = webpackConfig | ||||
|   | ||||
| @@ -4,21 +4,18 @@ var path = require('path') | ||||
| module.exports = { | ||||
|   build: { | ||||
|     env: require('./prod.env'), | ||||
|     index: path.resolve(__dirname, '../dist/index.html'), | ||||
|     assetsRoot: path.resolve(__dirname, '../dist'), | ||||
|     assetsSubDirectory: 'static', | ||||
|     assetsSubDirectory: '', | ||||
|     assetsPublicPath: '/', | ||||
|     productionSourceMap: true, | ||||
|     // Gzip off by default as many popular static hosts such as | ||||
|     // Surge or Netlify already gzip all static assets for you. | ||||
|     // Before setting to `true`, make sure to: | ||||
|     // npm install --save-dev compression-webpack-plugin | ||||
|     productionGzip: false, | ||||
|     productionGzipExtensions: ['js', 'css'] | ||||
|   }, | ||||
|   dev: { | ||||
|     env: require('./dev.env'), | ||||
|     port: 8080, | ||||
|     proxyTable: {} | ||||
|   }, | ||||
|   umd: { | ||||
|     assetsRoot: path.resolve(__dirname, '../umd'), | ||||
|     assetsPublicPath: '/' | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										20
									
								
								dist/vue-chartjs.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								dist/vue-chartjs.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/vue-chartjs.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/vue-chartjs.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "vue-chartjs", | ||||
|   "version": "1.0.0", | ||||
|   "version": "1.0.1", | ||||
|   "description": "Vue wrapper for chart.js", | ||||
|   "author": "Jakub Juszczak <jakub@nextindex.de>", | ||||
|   "repository": { | ||||
| @@ -11,10 +11,10 @@ | ||||
|     "ChartJs", | ||||
|     "Vue", | ||||
|     "Visualisation", | ||||
|     "Wrapper" | ||||
|     "Wrapper", | ||||
|     "Charts" | ||||
|   ], | ||||
|   "private": true, | ||||
|   "main": "src/index.js", | ||||
|   "main": "dist/vue-chartjs.js", | ||||
|   "scripts": { | ||||
|     "dev": "node build/dev-server.js", | ||||
|     "build": "node build/build.js", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user