mirror of
https://github.com/scratchfoundation/scratch-blocks.git
synced 2024-11-25 16:33:00 +08:00
98 lines
2.2 KiB
JavaScript
98 lines
2.2 KiB
JavaScript
// patch 'fs' to fix EMFILE errors, for example on WSL
|
|
var realFs = require('fs');
|
|
var gracefulFs = require('graceful-fs');
|
|
gracefulFs.gracefulify(realFs);
|
|
|
|
var CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
var path = require('path');
|
|
var UglifyJsPlugin = require('uglifyjs-webpack-plugin');
|
|
|
|
|
|
|
|
module.exports = [{
|
|
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
|
|
entry: {
|
|
horizontal: './shim/horizontal.js',
|
|
vertical: './shim/vertical.js'
|
|
},
|
|
output: {
|
|
library: 'ScratchBlocks',
|
|
libraryTarget: 'commonjs2',
|
|
path: path.resolve(__dirname, 'dist'),
|
|
filename: '[name].js'
|
|
},
|
|
optimization: {
|
|
minimize: false
|
|
},
|
|
performance: {
|
|
hints: false
|
|
}
|
|
}, {
|
|
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
|
|
entry: {
|
|
horizontal: './shim/horizontal.js',
|
|
vertical: './shim/vertical.js'
|
|
},
|
|
output: {
|
|
library: 'Blockly',
|
|
libraryTarget: 'umd',
|
|
path: path.resolve(__dirname, 'dist', 'web'),
|
|
filename: '[name].js'
|
|
},
|
|
optimization: {
|
|
minimizer: [
|
|
new UglifyJsPlugin({
|
|
uglifyOptions: {
|
|
mangle: false
|
|
}
|
|
})
|
|
]
|
|
},
|
|
plugins: []
|
|
},
|
|
{
|
|
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
|
|
entry: './shim/gh-pages.js',
|
|
output: {
|
|
filename: '[name].js',
|
|
path: path.resolve(__dirname, 'gh-pages')
|
|
},
|
|
optimization: {
|
|
minimize: false
|
|
},
|
|
performance: {
|
|
hints: false
|
|
},
|
|
plugins: [
|
|
new CopyWebpackPlugin([{
|
|
from: 'node_modules/google-closure-library',
|
|
to: 'closure-library'
|
|
}, {
|
|
from: 'blocks_common',
|
|
to: 'playgrounds/blocks_common',
|
|
}, {
|
|
from: 'blocks_horizontal',
|
|
to: 'playgrounds/blocks_horizontal',
|
|
}, {
|
|
from: 'blocks_vertical',
|
|
to: 'playgrounds/blocks_vertical',
|
|
}, {
|
|
from: 'core',
|
|
to: 'playgrounds/core'
|
|
}, {
|
|
from: 'media',
|
|
to: 'playgrounds/media'
|
|
}, {
|
|
from: 'msg',
|
|
to: 'playgrounds/msg'
|
|
}, {
|
|
from: 'tests',
|
|
to: 'playgrounds/tests'
|
|
}, {
|
|
from: '*.js',
|
|
ignore: 'webpack.config.js',
|
|
to: 'playgrounds'
|
|
}])
|
|
]
|
|
}];
|