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'); |
import path from 'path'; |
||||
const pkg = require('./package.json'); |
import pkg from './package.json'; |
||||
const webpack = require('webpack'); |
|
||||
const path = require('path'); |
|
||||
const fs = require('fs'); |
|
||||
const rootDir = path.resolve(__dirname); |
const rootDir = path.resolve(__dirname); |
||||
let plugins = []; |
|
||||
|
|
||||
module.exports = env => { |
export default ({ config }) => ({ |
||||
const name = pkg.name; |
...config, |
||||
const isProd = env === 'prod'; |
output: { |
||||
const output = { |
...config.output, |
||||
path: path.join(__dirname), |
filename: 'grapes.min.js', |
||||
filename: 'dist/grapes.min.js', |
|
||||
library: name, |
|
||||
libraryExport: 'default', |
libraryExport: 'default', |
||||
libraryTarget: 'umd', |
}, |
||||
}; |
devServer: { |
||||
|
headers: { 'Access-Control-Allow-Origin': '*' }, |
||||
if (isProd) { |
disableHostCheck: true, |
||||
plugins = [ |
}, |
||||
new webpack.optimize.ModuleConcatenationPlugin(), |
module: { |
||||
new webpack.BannerPlugin(`${name} - ${pkg.version}`), |
rules: [ |
||||
]; |
{ |
||||
} 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: [{ |
|
||||
test: /\/index\.js$/, |
test: /\/index\.js$/, |
||||
loader: 'string-replace-loader', |
loader: 'string-replace-loader', |
||||
query: { |
query: { |
||||
search: '<# VERSION #>', |
search: '<# VERSION #>', |
||||
replace: pkg.version |
replace: pkg.version |
||||
} |
} |
||||
}, { |
}, |
||||
test: /\.js$/, |
...config.module.rules, |
||||
loader: 'babel-loader', |
], |
||||
include: /src/, |
}, |
||||
options: { cacheDirectory: true }, |
resolve: { |
||||
}], |
modules: ['src', 'node_modules'], |
||||
}, |
alias: { |
||||
resolve: { |
jquery: 'cash-dom', |
||||
modules: ['src', 'node_modules'], |
backbone: `${rootDir}/node_modules/backbone`, |
||||
alias: { |
underscore: `${rootDir}/node_modules/underscore`, |
||||
jquery: 'cash-dom', |
|
||||
backbone: `${rootDir}/node_modules/backbone`, |
|
||||
underscore: `${rootDir}/node_modules/underscore`, |
|
||||
} |
|
||||
} |
} |
||||
}; |
}, |
||||
} |
}); |
||||
Loading…
Reference in new issue