mirror of https://github.com/artf/grapesjs.git
3 changed files with 7085 additions and 8392 deletions
File diff suppressed because it is too large
@ -1,68 +1,38 @@ |
|||
const HtmlWebpackPlugin = require('html-webpack-plugin'); |
|||
const pkg = require('./package.json'); |
|||
const webpack = require('webpack'); |
|||
const path = require('path'); |
|||
const fs = require('fs'); |
|||
import path from 'path'; |
|||
import pkg from './package.json'; |
|||
|
|||
const rootDir = path.resolve(__dirname); |
|||
let plugins = []; |
|||
|
|||
module.exports = env => { |
|||
const name = pkg.name; |
|||
const isProd = env === 'prod'; |
|||
const output = { |
|||
path: path.join(__dirname), |
|||
filename: 'dist/grapes.min.js', |
|||
library: name, |
|||
export default ({ config }) => ({ |
|||
...config, |
|||
output: { |
|||
...config.output, |
|||
filename: 'grapes.min.js', |
|||
libraryExport: 'default', |
|||
libraryTarget: 'umd', |
|||
}; |
|||
|
|||
if (isProd) { |
|||
plugins = [ |
|||
new webpack.optimize.ModuleConcatenationPlugin(), |
|||
new webpack.BannerPlugin(`${name} - ${pkg.version}`), |
|||
]; |
|||
} else if (env === 'dev') { |
|||
output.filename = 'dist/grapes.js'; |
|||
} else { |
|||
const index = 'index.html'; |
|||
const indexDev = `_${index}`; |
|||
const template = fs.existsSync(indexDev) ? indexDev : index; |
|||
plugins.push(new HtmlWebpackPlugin({ template, inject: false })); |
|||
} |
|||
|
|||
return { |
|||
entry: './src', |
|||
output: output, |
|||
plugins: plugins, |
|||
mode: isProd ? 'production' : 'development', |
|||
devtool: isProd ? 'source-map' : (!env ? 'cheap-module-eval-source-map' : false), |
|||
devServer: { |
|||
headers: { 'Access-Control-Allow-Origin': '*' }, |
|||
disableHostCheck: true, |
|||
}, |
|||
module: { |
|||
rules: [{ |
|||
}, |
|||
devServer: { |
|||
headers: { 'Access-Control-Allow-Origin': '*' }, |
|||
disableHostCheck: true, |
|||
}, |
|||
module: { |
|||
rules: [ |
|||
{ |
|||
test: /\/index\.js$/, |
|||
loader: 'string-replace-loader', |
|||
query: { |
|||
search: '<# VERSION #>', |
|||
replace: pkg.version |
|||
} |
|||
}, { |
|||
test: /\.js$/, |
|||
loader: 'babel-loader', |
|||
include: /src/, |
|||
options: { cacheDirectory: true }, |
|||
}], |
|||
}, |
|||
resolve: { |
|||
modules: ['src', 'node_modules'], |
|||
alias: { |
|||
jquery: 'cash-dom', |
|||
backbone: `${rootDir}/node_modules/backbone`, |
|||
underscore: `${rootDir}/node_modules/underscore`, |
|||
} |
|||
}, |
|||
...config.module.rules, |
|||
], |
|||
}, |
|||
resolve: { |
|||
modules: ['src', 'node_modules'], |
|||
alias: { |
|||
jquery: 'cash-dom', |
|||
backbone: `${rootDir}/node_modules/backbone`, |
|||
underscore: `${rootDir}/node_modules/underscore`, |
|||
} |
|||
}; |
|||
} |
|||
}, |
|||
}); |
|||
Loading…
Reference in new issue