mirror of https://github.com/artf/grapesjs.git
nocodeframeworkdrag-and-dropsite-buildersite-generatortemplate-builderui-builderweb-builderweb-builder-frameworkwebsite-builderno-codepage-builder
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.3 KiB
59 lines
1.3 KiB
var HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
var pkg = require('./package.json');
|
|
var webpack = require('webpack');
|
|
var fs = require('fs');
|
|
var name = 'grapes';
|
|
var plugins = [];
|
|
|
|
if (process.env.WEBPACK_ENV !== 'dev') {
|
|
plugins = [
|
|
new webpack.optimize.ModuleConcatenationPlugin(),
|
|
new webpack.optimize.UglifyJsPlugin({
|
|
minimize: true,
|
|
compressor: {warnings: false},
|
|
}),
|
|
new webpack.BannerPlugin(pkg.name + ' - ' + pkg.version),
|
|
]
|
|
} else {
|
|
var index = 'index.html';
|
|
var indexDev = '_' + index;
|
|
plugins.push(new HtmlWebpackPlugin({
|
|
template: fs.existsSync(indexDev) ? indexDev : index
|
|
}));
|
|
}
|
|
|
|
plugins.push(new webpack.ProvidePlugin({
|
|
_: 'underscore',
|
|
Backbone: 'backbone'
|
|
}));
|
|
|
|
module.exports = {
|
|
entry: './src',
|
|
output: {
|
|
filename: './dist/' + name + '.min.js',
|
|
library: 'grapesjs',
|
|
libraryTarget: 'umd',
|
|
},
|
|
plugins: plugins,
|
|
module: {
|
|
loaders: [{
|
|
test: /grapesjs\/index\.js$/,
|
|
loader: 'string-replace-loader',
|
|
query: {
|
|
search: '<# VERSION #>',
|
|
replace: pkg.version
|
|
}
|
|
},{
|
|
test: /\.js$/,
|
|
loader: 'babel-loader',
|
|
include: /src/,
|
|
exclude: /node_modules/
|
|
}],
|
|
},
|
|
resolve: {
|
|
modules: ['src', 'node_modules'],
|
|
alias: {
|
|
jquery: 'cash-dom'
|
|
}
|
|
},
|
|
}
|
|
|