@eclipse-scout/cli 25.2.16 → 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 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-25.2-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-25.2-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>
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": "25.2.16",
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": ">=22.12.0",
14
- "npm": ">=10.9.0",
15
- "pnpm": ">=9.15.0"
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.24.0",
32
- "@babel/core": "7.26.0",
33
- "@babel/preset-env": "7.26.0",
34
- "babel-loader": "9.2.1",
35
- "typescript": "5.4.5",
36
- "ts-loader": "9.5.1",
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": "12.0.2",
38
+ "copy-webpack-plugin": "13.0.1",
39
39
  "css-loader": "7.1.2",
40
- "jasmine-core": "5.5.0",
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": "25.2.16",
49
- "@eclipse-scout/tsconfig": "25.2.16",
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.2.1",
54
- "less-loader": "12.2.0",
55
- "mini-css-extract-plugin": "2.9.2",
56
- "css-minimizer-webpack-plugin": "7.0.0",
57
- "terser-webpack-plugin": "5.3.10",
58
- "webpack": "5.97.1",
59
- "yargs-parser": "21.1.1",
60
- "fork-ts-checker-webpack-plugin": "9.0.2",
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.0.1"
62
+ "@cyclonedx/webpack-plugin": "5.2.4"
63
63
  },
64
64
  "devDependencies": {
65
- "@eclipse-scout/releng": "^25.1.0"
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, 2024 BSI Business Systems Integration AG
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, 2025 BSI Business Systems Integration AG
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: {