Initial commit of 001code-html Scratch frontend project.
Includes scratch-gui, scratch-vm, scratch-blocks, scratch-render, scratch-l10n, and deployment config. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
97
scratch-blocks/webpack.config.js
Normal file
97
scratch-blocks/webpack.config.js
Normal file
@@ -0,0 +1,97 @@
|
||||
// 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'
|
||||
}])
|
||||
]
|
||||
}];
|
||||
Reference in New Issue
Block a user