Commit 2105a15c authored by Jérome Perrin's avatar Jérome Perrin

webpack: expose production/debug mode

so that when things goes wrong we can make a debug build
parent 3594c27c
......@@ -37,6 +37,7 @@ compiler.outputFileSystem = require("webdav-fs").createAdapter(
{
username: args.username,
password: args.password,
maxBodyLength: 32 * 1024 * 1024,
httpsAgent: args.insecure
? new http.Agent({
rejectUnauthorized: false,
......
// import 'core-js/actual'; // BBB firefox 68
import 'core-js/actual'; // BBB firefox 68
import "./public-path.js"
import * as monaco from 'monaco-editor';
import init, { Workspace } from "./ruff/crates/ruff_wasm/src/pkg";
......
......@@ -2,8 +2,10 @@
"name": "monaco-editor-erp5",
"scripts": {
"build:wasm": "wasm-pack -v build ruff/crates/ruff_wasm --target web",
"build": "webpack --config webpack.config.js",
"deploy": "node deploy.js"
"build": "npm run build:prod",
"build:prod": "webpack --config webpack.config.js --node-env production",
"build:dev": "webpack --config webpack.config.js --node-env development",
"deploy": "NODE_ENV=production node deploy.js"
},
"devDependencies": {
"@babel/core": "^7.20.5",
......
const path = require('path');
const webpack = require('webpack');
const path = require("path");
const webpack = require("webpack");
const TerserPlugin = require("terser-webpack-plugin");
const productionMode = process.env.NODE_ENV == "production";
console.log("building in production mode:", productionMode);
module.exports = {
mode: 'production',
entry: {
"app": './index.js',
"editor.worker": 'monaco-editor/esm/vs/editor/editor.worker.js',
"json.worker": 'monaco-editor/esm/vs/language/json/json.worker',
"css.worker": 'monaco-editor/esm/vs/language/css/css.worker',
"html.worker": 'monaco-editor/esm/vs/language/html/html.worker',
"ts.worker": 'monaco-editor/esm/vs/language/typescript/ts.worker',
app: "./index.js",
"editor.worker": "monaco-editor/esm/vs/editor/editor.worker.js",
"json.worker": "monaco-editor/esm/vs/language/json/json.worker",
"css.worker": "monaco-editor/esm/vs/language/css/css.worker",
"html.worker": "monaco-editor/esm/vs/language/html/html.worker",
"ts.worker": "monaco-editor/esm/vs/language/typescript/ts.worker",
},
output: {
globalObject: 'self',
filename: '[name].bundle.min.js',
path: path.resolve(__dirname, 'dist'),
globalObject: "self",
filename: "[name].bundle.min.js",
path: path.resolve(__dirname, "dist"),
},
module: {
rules: [{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}, {
test: /\.ttf$/,
use: ['file-loader']
},
{
test: /\.m?js$/,
exclude: {
and: [/node_modules/],
not: [
/monaco-editor/,
]
rules: [
{
test: /\.css$/,
use: ["style-loader", "css-loader"],
},
use: {
loader: 'babel-loader',
options: {
presets: [
['@babel/preset-env', {
targets: { firefox: 68 },
corejs: "3"
}]
],
}
}
}
]
},
optimization: {
minimize: true,
minimizer: [new TerserPlugin()],
{
test: /\.ttf$/,
use: ["file-loader"],
},
{
test: /\.m?js$/,
exclude: {
and: [/node_modules/],
not: [/monaco-editor/],
},
use: {
loader: "babel-loader",
options: {
presets: [
[
"@babel/preset-env",
{
targets: { firefox: 68 },
corejs: "3",
},
],
],
},
},
},
],
},
optimization: productionMode
? {
minimize: true,
minimizer: [new TerserPlugin()],
}
: undefined,
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment