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.
50 lines
1.2 KiB
50 lines
1.2 KiB
import path from 'path';
|
|
import webpack from 'webpack';
|
|
import pkg from './package.json';
|
|
import TerserPlugin from 'terser-webpack-plugin';
|
|
|
|
const rootDir = path.resolve(__dirname);
|
|
|
|
export default ({ config }) => ({
|
|
...config,
|
|
output: {
|
|
...config.output,
|
|
filename: 'grapes.min.js',
|
|
libraryExport: 'default',
|
|
},
|
|
optimization: {
|
|
minimizer: [new TerserPlugin({
|
|
extractComments: false,
|
|
terserOptions: {
|
|
output: {
|
|
comments: false,
|
|
quote_style: 3, // Preserve original quotes
|
|
preamble: `/*! grapesjs - ${pkg.version} */`,
|
|
}
|
|
}
|
|
})],
|
|
},
|
|
devServer: {
|
|
...config.devServer,
|
|
static: [rootDir],
|
|
headers: { 'Access-Control-Allow-Origin': '*' },
|
|
allowedHosts: 'all',
|
|
},
|
|
resolve: {
|
|
...config.resolve,
|
|
modules: [
|
|
...(config.resolve && config.resolve.modules),
|
|
'src'
|
|
],
|
|
alias: {
|
|
...(config.resolve && config.resolve.alias),
|
|
jquery: 'utils/cash-dom',
|
|
backbone: `${rootDir}/node_modules/backbone`,
|
|
underscore: `${rootDir}/node_modules/underscore`,
|
|
}
|
|
},
|
|
plugins: [
|
|
new webpack.DefinePlugin({ __GJS_VERSION__: `'${pkg.version}'` }),
|
|
...config.plugins,
|
|
]
|
|
});
|
|
|