This repository has been archived by the owner on Jan 31, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathconfig-overrides.js
106 lines (99 loc) · 3.06 KB
/
config-overrides.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
const MonacoWebpackPlugin = require("monaco-editor-webpack-plugin");
const path = require("path");
const {
override,
addWebpackPlugin,
} = require("customize-cra");
const CopyWebpackPlugin = require('copy-webpack-plugin')
/* config-overrides.js */
module.exports = function (config, env) {
config.optimization.minimizer.find(minimizer => {
if (minimizer.options.extractComments) {
minimizer.options.extractComments = false;
}
});
config.optimization.minimizer[0].options.extractComments = false;
// https://github.com/Microsoft/monaco-editor-webpack-plugin/issues/43
config.resolve.alias = {
"monaco-editor": "monaco-editor/esm/vs/editor/editor.api.js"
}
config.resolveLoader.alias = {
"editor-file-loader": path.resolve(__dirname, "loaders/editor-file-loader/index.js"),
"walkthrough-loader": path.resolve(__dirname, "loaders/walkthrough-loader/index.js")
}
return Object.assign(config, override(
addWebpackPlugin(new MonacoWebpackPlugin({
nodeModulesLocations: ["node_modules"],
filename: "[name].[contenthash:8].worker.js",
languages: ["typescript", "javascript", "css", "scss", "json"],
features: [
//"accessibilityHelp",
//"anchorSelect",
"bracketMatching",
"caretOperations",
"clipboard",
"codeAction",
//"codelens",
//"colorPicker",
"comment",
"contextmenu",
"coreCommands",
"cursorUndo",
"dnd",
"documentSymbols",
"find",
"folding",
//"fontZoom",
"format",
"gotoError",
"gotoLine",
"gotoSymbol",
"hover",
//"iPadShowKeyboard",
"inPlaceReplace",
"indentation",
"inlineHints",
"inspectTokens",
"linesOperations",
"linkedEditing",
"links",
"multicursor",
"parameterHints",
//"quickCommand",
//"quickHelp",
"quickOutline",
"referenceSearch",
"rename",
"smartSelect",
//"snippets",
"suggest",
//"toggleHighContrast",
//"toggleTabFocusMode",
//"transpose",
//"unusualLineTerminators",
//"viewportSemanticTokens",
"wordHighlighter",
"wordOperations",
"wordPartOperations"]
}
)),
addWebpackPlugin(new CopyWebpackPlugin({
patterns:
[
{
from: `**/public/**/*`,
context: `src/frontend-samples`,
noErrorOnMissing: true,
to({ absoluteFilename }) {
const regex = new RegExp(`(public(?:\\\\|\/))(.*)`);
return regex.exec(absoluteFilename)[2];
},
},
]
})),
)(config, env))
}