mirror of
https://github.com/KevinMidboe/vue-chartjs.git
synced 2025-12-08 20:48:45 +00:00
✨ Add browser full build
This commit is contained in:
92
build/webpack.release.full.js
Normal file
92
build/webpack.release.full.js
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
var vue = require('vue-loader')
|
||||||
|
var path = require('path')
|
||||||
|
var webpack = require("webpack")
|
||||||
|
var ExtractTextPlugin = require("extract-text-webpack-plugin")
|
||||||
|
var projectRoot = path.resolve(__dirname, '../')
|
||||||
|
var cssLoader = ExtractTextPlugin.extract('style-loader', 'css-loader')
|
||||||
|
const npmCfg = require('../package.json');
|
||||||
|
|
||||||
|
var banner = [
|
||||||
|
npmCfg.name + ' v' + npmCfg.version,
|
||||||
|
'(c) ' + (new Date().getFullYear()) + ' ' + npmCfg.author,
|
||||||
|
npmCfg.homepage
|
||||||
|
].join('\n')
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
entry: {
|
||||||
|
'vue-chartjs': './src/index.js'
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
filename: './dist/[name].full.js',
|
||||||
|
library: 'VueChartJs',
|
||||||
|
libraryTarget: 'umd',
|
||||||
|
umdNamedDefine: true
|
||||||
|
},
|
||||||
|
module: {
|
||||||
|
preLoaders: [
|
||||||
|
{
|
||||||
|
test: /\.vue$/,
|
||||||
|
loader: 'eslint',
|
||||||
|
include: projectRoot,
|
||||||
|
exclude: /node_modules/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: 'eslint',
|
||||||
|
include: projectRoot,
|
||||||
|
exclude: /node_modules/
|
||||||
|
}
|
||||||
|
],
|
||||||
|
loaders: [
|
||||||
|
{
|
||||||
|
test: /\.vue$/,
|
||||||
|
loader: 'vue'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.js$/,
|
||||||
|
exclude: /node_modules/,
|
||||||
|
loader: 'babel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: cssLoader
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.s[a|c]ss$/,
|
||||||
|
loader: ExtractTextPlugin.extract('style-loader','css-loader!sass-loader')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.json$/, loader: 'json'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
eslint: {
|
||||||
|
formatter: require('eslint-friendly-formatter')
|
||||||
|
},
|
||||||
|
babel: {
|
||||||
|
presets: ['es2015'],
|
||||||
|
plugins: ['transform-runtime']
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
new webpack.BannerPlugin(banner)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.optimize.OccurenceOrderPlugin()
|
||||||
|
// new ExtractTextPlugin('build.css')
|
||||||
|
]
|
||||||
|
}
|
||||||
18
build/webpack.release.full.min.js
vendored
Normal file
18
build/webpack.release.full.min.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
var config = require('./webpack.release.full.js')
|
||||||
|
var webpack = require('webpack')
|
||||||
|
|
||||||
|
config.output.filename = config.output.filename.replace(/\.js$/, '.min.js')
|
||||||
|
|
||||||
|
delete config.devtool
|
||||||
|
|
||||||
|
config.plugins = [
|
||||||
|
new webpack.optimize.UglifyJsPlugin({
|
||||||
|
sourceMap: false,
|
||||||
|
compress: {
|
||||||
|
warnings: false
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
new webpack.optimize.OccurenceOrderPlugin()
|
||||||
|
]
|
||||||
|
|
||||||
|
module.exports = config
|
||||||
@@ -4,6 +4,13 @@ var webpack = require("webpack")
|
|||||||
var ExtractTextPlugin = require("extract-text-webpack-plugin")
|
var ExtractTextPlugin = require("extract-text-webpack-plugin")
|
||||||
var projectRoot = path.resolve(__dirname, '../')
|
var projectRoot = path.resolve(__dirname, '../')
|
||||||
var cssLoader = ExtractTextPlugin.extract('style-loader', 'css-loader')
|
var cssLoader = ExtractTextPlugin.extract('style-loader', 'css-loader')
|
||||||
|
const npmCfg = require('../package.json');
|
||||||
|
|
||||||
|
var banner = [
|
||||||
|
npmCfg.name + ' v' + npmCfg.version,
|
||||||
|
'(c) ' + (new Date().getFullYear()) + ' ' + npmCfg.author,
|
||||||
|
npmCfg.homepage
|
||||||
|
].join('\n')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
entry: {
|
entry: {
|
||||||
@@ -51,6 +58,9 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
test: /\.s[a|c]ss$/,
|
test: /\.s[a|c]ss$/,
|
||||||
loader: ExtractTextPlugin.extract('style-loader','css-loader!sass-loader')
|
loader: ExtractTextPlugin.extract('style-loader','css-loader!sass-loader')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.json$/, loader: 'json'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -60,7 +70,10 @@ module.exports = {
|
|||||||
babel: {
|
babel: {
|
||||||
presets: ['es2015'],
|
presets: ['es2015'],
|
||||||
plugins: ['transform-runtime']
|
plugins: ['transform-runtime']
|
||||||
}
|
},
|
||||||
|
plugins: [
|
||||||
|
new webpack.BannerPlugin(banner)
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process.env.NODE_ENV === 'production') {
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
|||||||
Reference in New Issue
Block a user