@eclipse-scout/cli 25.2.20 → 26.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/package.json +24 -24
- package/scripts/KeepNonceVariablePlugin.js +32 -0
- package/scripts/karma-defaults.js +5 -1
- package/scripts/webpack-defaults.js +9 -2
package/README.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="https://ci.eclipse.org/scout/job/scout-integration-
|
|
7
|
-
<a href="https://ci.eclipse.org/scout/job/scout-integration-
|
|
6
|
+
<a href="https://ci.eclipse.org/scout/job/scout-integration-26.1-RT-nightly_pipeline/" target="_blank" rel="noopener noreferrer"><img alt="Jenkins" src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fci.eclipse.org%2Fscout%2Fjob%2Fscout-integration-25.2-RT-nightly_pipeline%2F"></a>
|
|
7
|
+
<a href="https://ci.eclipse.org/scout/job/scout-integration-26.1-RT-nightly_pipeline/" target="_blank" rel="noopener noreferrer"><img alt="Jenkins tests" src="https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fci.eclipse.org%2Fscout%2Fjob%2Fscout-integration-25.2-RT-nightly_pipeline%2F"></a>
|
|
8
8
|
<a href="https://www.npmjs.com/package/@eclipse-scout/cli" target="_blank" rel="noopener noreferrer"><img alt="npm" src="https://img.shields.io/npm/dm/@eclipse-scout/cli"></a>
|
|
9
9
|
<a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank" rel="noopener noreferrer"><img alt="NPM" src="https://img.shields.io/npm/l/@eclipse-scout/cli"></a>
|
|
10
10
|
<a href="https://www.npmjs.com/package/@eclipse-scout/cli" target="_blank" rel="noopener noreferrer"><img alt="npm (scoped)" src="https://img.shields.io/npm/v/@eclipse-scout/cli"></a>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-scout/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "26.1.0-beta.1",
|
|
4
4
|
"description": "CLI for Eclipse Scout",
|
|
5
5
|
"author": "BSI Business Systems Integration AG",
|
|
6
6
|
"homepage": "https://eclipse.dev/scout/",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
},
|
|
11
11
|
"license": "EPL-2.0",
|
|
12
12
|
"engines": {
|
|
13
|
-
"node": ">=
|
|
14
|
-
"npm": ">=
|
|
15
|
-
"pnpm": ">=
|
|
13
|
+
"node": ">=24.12.0",
|
|
14
|
+
"npm": ">=11.6.2",
|
|
15
|
+
"pnpm": ">=10.26.1"
|
|
16
16
|
},
|
|
17
17
|
"keywords": [
|
|
18
18
|
"scout",
|
|
@@ -28,16 +28,16 @@
|
|
|
28
28
|
"scripts"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"esbuild": "0.
|
|
32
|
-
"@babel/core": "7.
|
|
33
|
-
"@babel/preset-env": "7.
|
|
34
|
-
"babel-loader": "
|
|
35
|
-
"typescript": "5.
|
|
36
|
-
"ts-loader": "9.5.
|
|
31
|
+
"esbuild": "0.27.2",
|
|
32
|
+
"@babel/core": "7.28.5",
|
|
33
|
+
"@babel/preset-env": "7.28.5",
|
|
34
|
+
"babel-loader": "10.0.0",
|
|
35
|
+
"typescript": "5.9.3",
|
|
36
|
+
"ts-loader": "9.5.4",
|
|
37
37
|
"source-map-loader": "5.0.0",
|
|
38
|
-
"copy-webpack-plugin": "
|
|
38
|
+
"copy-webpack-plugin": "13.0.1",
|
|
39
39
|
"css-loader": "7.1.2",
|
|
40
|
-
"jasmine-core": "5.
|
|
40
|
+
"jasmine-core": "5.13.0",
|
|
41
41
|
"jasmine-jquery": "2.1.1",
|
|
42
42
|
"jquery": "3.7.1",
|
|
43
43
|
"karma": "6.4.4",
|
|
@@ -45,24 +45,24 @@
|
|
|
45
45
|
"karma-jasmine": "5.1.0",
|
|
46
46
|
"karma-jasmine-ajax": "0.1.13",
|
|
47
47
|
"@metahub/karma-jasmine-jquery": "4.0.1",
|
|
48
|
-
"@eclipse-scout/karma-jasmine-scout": "
|
|
49
|
-
"@eclipse-scout/tsconfig": "
|
|
48
|
+
"@eclipse-scout/karma-jasmine-scout": "26.1.0-beta.1",
|
|
49
|
+
"@eclipse-scout/tsconfig": "26.1.0-beta.1",
|
|
50
50
|
"karma-jasmine-html-reporter": "2.1.0",
|
|
51
51
|
"karma-junit-reporter": "2.0.1",
|
|
52
52
|
"karma-webpack": "5.0.1",
|
|
53
|
-
"less": "4.
|
|
54
|
-
"less-loader": "12.
|
|
55
|
-
"mini-css-extract-plugin": "2.9.
|
|
56
|
-
"css-minimizer-webpack-plugin": "7.0.
|
|
57
|
-
"terser-webpack-plugin": "5.3.
|
|
58
|
-
"webpack": "5.
|
|
59
|
-
"yargs-parser": "
|
|
60
|
-
"fork-ts-checker-webpack-plugin": "9.0
|
|
53
|
+
"less": "4.5.1",
|
|
54
|
+
"less-loader": "12.3.0",
|
|
55
|
+
"mini-css-extract-plugin": "2.9.4",
|
|
56
|
+
"css-minimizer-webpack-plugin": "7.0.4",
|
|
57
|
+
"terser-webpack-plugin": "5.3.16",
|
|
58
|
+
"webpack": "5.104.1",
|
|
59
|
+
"yargs-parser": "22.0.0",
|
|
60
|
+
"fork-ts-checker-webpack-plugin": "9.1.0",
|
|
61
61
|
"fork-ts-checker-notifier-webpack-plugin": "9.0.0",
|
|
62
|
-
"@cyclonedx/webpack-plugin": "5.
|
|
62
|
+
"@cyclonedx/webpack-plugin": "5.2.4"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@eclipse-scout/releng": "^
|
|
65
|
+
"@eclipse-scout/releng": "^26.1.0"
|
|
66
66
|
},
|
|
67
67
|
"bin": {
|
|
68
68
|
"scout-scripts": "./bin/scout-scripts.js"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2010, 2026 BSI Business Systems Integration AG
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
*/
|
|
10
|
+
const pluginName = 'KeepNonceVariablePlugin';
|
|
11
|
+
const {toConstantDependency} = require('webpack/lib/javascript/JavascriptParserHelpers');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Plugin that instructs webpack to NOT replace '__webpack_nonce__' with '__webpack_require__.nc'.
|
|
15
|
+
* This is required for all library builds because the variable should only be replaced for application builds targeting the browser.
|
|
16
|
+
* @type {KeepNonceVariablePlugin}
|
|
17
|
+
*/
|
|
18
|
+
module.exports = class KeepNonceVariablePlugin {
|
|
19
|
+
apply(compiler) {
|
|
20
|
+
// see https://github.com/webpack/webpack/blob/v5.104.1/lib/APIPlugin.js#L207
|
|
21
|
+
// see https://webpack.js.org/api/parser/#expression
|
|
22
|
+
compiler.hooks.normalModuleFactory.tap(pluginName, factory => {
|
|
23
|
+
factory.hooks.parser.for('javascript/auto').tap(pluginName, (parser, options) => {
|
|
24
|
+
const webpackNonce = '__webpack_nonce__';
|
|
25
|
+
parser.hooks.expression.for(webpackNonce).tap(pluginName, expression => {
|
|
26
|
+
const dep = toConstantDependency(parser, webpackNonce, [webpackNonce]);
|
|
27
|
+
return dep(expression);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2010,
|
|
2
|
+
* Copyright (c) 2010, 2026 BSI Business Systems Integration AG
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made
|
|
5
5
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -13,6 +13,7 @@ const jquery = require.resolve('jquery');
|
|
|
13
13
|
const scoutBuildConstants = require('./constants');
|
|
14
14
|
const {SourceMapDevToolPlugin} = require('webpack');
|
|
15
15
|
const StatsExtractWebpackPlugin = require('./StatsExtractWebpackPlugin');
|
|
16
|
+
const KeepNonceVariablePlugin = require('./KeepNonceVariablePlugin');
|
|
16
17
|
|
|
17
18
|
module.exports = (config, specEntryPoint) => {
|
|
18
19
|
const webpackConfigFilePath = path.resolve('webpack.config.js');
|
|
@@ -73,6 +74,9 @@ module.exports = (config, specEntryPoint) => {
|
|
|
73
74
|
}
|
|
74
75
|
webpackConfig.plugins.push(new StatsExtractWebpackPlugin()); // used by scout-scripts to access the webpack build result.
|
|
75
76
|
|
|
77
|
+
// nonce-variable must always be processed as the build-output is used in the browser
|
|
78
|
+
webpackConfig.plugins = webpackConfig.plugins.filter(p => !(p instanceof KeepNonceVariablePlugin));
|
|
79
|
+
|
|
76
80
|
const specIndex = searchSpecEntryPoint(specEntryPoint);
|
|
77
81
|
const preprocessorObj = {};
|
|
78
82
|
preprocessorObj[specIndex] = ['webpack'];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2010,
|
|
2
|
+
* Copyright (c) 2010, 2026 BSI Business Systems Integration AG
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made
|
|
5
5
|
* available under the terms of the Eclipse Public License 2.0
|
|
@@ -16,6 +16,7 @@ const CopyPlugin = require('copy-webpack-plugin');
|
|
|
16
16
|
const {CycloneDxWebpackPlugin} = require('@cyclonedx/webpack-plugin');
|
|
17
17
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
18
18
|
const AfterEmitWebpackPlugin = require('./AfterEmitWebpackPlugin');
|
|
19
|
+
const KeepNonceVariablePlugin = require('./KeepNonceVariablePlugin');
|
|
19
20
|
const {SourceMapDevToolPlugin, WatchIgnorePlugin, ProgressPlugin} = require('webpack');
|
|
20
21
|
const ts = require('typescript');
|
|
21
22
|
|
|
@@ -188,7 +189,8 @@ module.exports = (env, args) => {
|
|
|
188
189
|
lessOptions: {
|
|
189
190
|
relativeUrls: false,
|
|
190
191
|
rewriteUrls: 'off',
|
|
191
|
-
math: 'always'
|
|
192
|
+
math: 'always',
|
|
193
|
+
quiet: true // Disable deprecation warnings so they don't spam the log because of bug https://github.com/less/less.js/issues/4339
|
|
192
194
|
}
|
|
193
195
|
}
|
|
194
196
|
}]
|
|
@@ -410,6 +412,11 @@ function libraryConfig(config, options = {}) {
|
|
|
410
412
|
return plugin;
|
|
411
413
|
});
|
|
412
414
|
|
|
415
|
+
// Do NOT replace '__webpack_nonce__' for libraries as it should only be replaced for browser builds.
|
|
416
|
+
// Otherwise, the final build targeting the browser cannot find '__webpack_nonce__' (as it has already been replaced in the first run).
|
|
417
|
+
// If it is not replaced in the final build, the nonce is set to the wrong '__webpack_require__' instance which lets all dynamic import() statements fail.
|
|
418
|
+
plugins.push(new KeepNonceVariablePlugin());
|
|
419
|
+
|
|
413
420
|
return {
|
|
414
421
|
...config,
|
|
415
422
|
optimization: {
|