@backstage/cli 0.34.0-next.1 → 0.34.0
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/CHANGELOG.md +67 -0
- package/asset-types/asset-types.d.ts +0 -38
- package/config/nodeTransformHooks.mjs +12 -0
- package/dist/lib/errors.cjs.js +44 -17
- package/dist/lib/run.cjs.js +7 -7
- package/dist/lib/version.cjs.js +40 -40
- package/dist/lib/versioning/packages.cjs.js +1 -1
- package/dist/modules/build/commands/package/build/command.cjs.js +3 -3
- package/dist/modules/build/commands/package/start/startFrontend.cjs.js +4 -7
- package/dist/modules/build/commands/repo/build.cjs.js +2 -3
- package/dist/modules/build/lib/buildFrontend.cjs.js +7 -10
- package/dist/modules/build/lib/builder/config.cjs.js +0 -7
- package/dist/modules/build/lib/bundler/bundle.cjs.js +24 -29
- package/dist/modules/build/lib/bundler/config.cjs.js +40 -28
- package/dist/modules/build/lib/bundler/optimization.cjs.js +6 -5
- package/dist/modules/build/lib/bundler/packageDetection.cjs.js +4 -9
- package/dist/modules/build/lib/bundler/server.cjs.js +18 -22
- package/dist/modules/build/lib/bundler/transforms.cjs.js +7 -35
- package/dist/modules/info/commands/info.cjs.js +1 -1
- package/dist/modules/new/index.cjs.js +7 -3
- package/dist/modules/new/lib/execution/PortableTemplater.cjs.js +1 -1
- package/dist/packages/backend-defaults/package.json.cjs.js +1 -1
- package/dist/packages/backend-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/backend-test-utils/package.json.cjs.js +1 -1
- package/dist/packages/catalog-client/package.json.cjs.js +1 -1
- package/dist/packages/cli/package.json.cjs.js +15 -19
- package/dist/packages/core-components/package.json.cjs.js +1 -1
- package/dist/packages/dev-utils/package.json.cjs.js +1 -1
- package/dist/packages/frontend-defaults/package.json.cjs.js +1 -1
- package/dist/packages/frontend-plugin-api/package.json.cjs.js +1 -1
- package/dist/packages/frontend-test-utils/package.json.cjs.js +1 -1
- package/dist/packages/test-utils/package.json.cjs.js +1 -1
- package/dist/packages/theme/package.json.cjs.js +1 -1
- package/dist/plugins/auth-backend/package.json.cjs.js +1 -1
- package/dist/plugins/auth-backend-module-guest-provider/package.json.cjs.js +1 -1
- package/dist/plugins/catalog-node/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder-node/package.json.cjs.js +1 -1
- package/dist/plugins/scaffolder-node-test-utils/package.json.cjs.js +1 -1
- package/dist/wiring/CliInitializer.cjs.js +4 -9
- package/package.json +71 -51
- package/dist/lib/removed.cjs.js +0 -13
- package/dist/lib/svgrTemplate.cjs.js +0 -23
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var path = require('path');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
4
|
+
var core = require('@rspack/core');
|
|
5
|
+
var ESLintRspackPlugin = require('eslint-rspack-plugin');
|
|
6
|
+
var tsCheckerRspackPlugin = require('ts-checker-rspack-plugin');
|
|
7
7
|
var HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
8
|
-
var webpack = require('@module-federation/enhanced/webpack');
|
|
9
8
|
var ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
|
|
10
|
-
var
|
|
9
|
+
var rspack = require('@module-federation/enhanced/rspack');
|
|
11
10
|
var paths = require('../../../../lib/paths.cjs.js');
|
|
12
11
|
var fs = require('fs-extra');
|
|
13
12
|
var optimization = require('./optimization.cjs.js');
|
|
@@ -22,12 +21,9 @@ var ConfigInjectingHtmlWebpackPlugin = require('./ConfigInjectingHtmlWebpackPlug
|
|
|
22
21
|
|
|
23
22
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
24
23
|
|
|
25
|
-
var
|
|
26
|
-
var ESLintPlugin__default = /*#__PURE__*/_interopDefaultCompat(ESLintPlugin);
|
|
27
|
-
var ForkTsCheckerWebpackPlugin__default = /*#__PURE__*/_interopDefaultCompat(ForkTsCheckerWebpackPlugin);
|
|
24
|
+
var ESLintRspackPlugin__default = /*#__PURE__*/_interopDefaultCompat(ESLintRspackPlugin);
|
|
28
25
|
var HtmlWebpackPlugin__default = /*#__PURE__*/_interopDefaultCompat(HtmlWebpackPlugin);
|
|
29
26
|
var ModuleScopePlugin__default = /*#__PURE__*/_interopDefaultCompat(ModuleScopePlugin);
|
|
30
|
-
var ReactRefreshPlugin__default = /*#__PURE__*/_interopDefaultCompat(ReactRefreshPlugin);
|
|
31
27
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
32
28
|
var pickBy__default = /*#__PURE__*/_interopDefaultCompat(pickBy);
|
|
33
29
|
var yn__default = /*#__PURE__*/_interopDefaultCompat(yn);
|
|
@@ -83,7 +79,7 @@ async function createConfig(paths, options) {
|
|
|
83
79
|
frontendConfig,
|
|
84
80
|
moduleFederation,
|
|
85
81
|
publicSubPath = "",
|
|
86
|
-
|
|
82
|
+
webpack
|
|
87
83
|
} = options;
|
|
88
84
|
const { plugins, loaders } = transforms.transforms(options);
|
|
89
85
|
const validBaseUrl = resolveBaseUrl(frontendConfig, moduleFederation);
|
|
@@ -103,25 +99,30 @@ async function createConfig(paths, options) {
|
|
|
103
99
|
sockPort: port
|
|
104
100
|
}
|
|
105
101
|
};
|
|
106
|
-
if (
|
|
102
|
+
if (webpack) {
|
|
103
|
+
const ReactRefreshPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
|
|
104
|
+
plugins.push(new ReactRefreshPlugin(refreshOptions));
|
|
105
|
+
} else {
|
|
107
106
|
const RspackReactRefreshPlugin = require("@rspack/plugin-react-refresh");
|
|
108
107
|
plugins.push(new RspackReactRefreshPlugin(refreshOptions));
|
|
109
|
-
} else {
|
|
110
|
-
plugins.push(new ReactRefreshPlugin__default.default(refreshOptions));
|
|
111
108
|
}
|
|
112
109
|
}
|
|
113
110
|
if (checksEnabled) {
|
|
111
|
+
const TsCheckerPlugin = webpack ? require("fork-ts-checker-webpack-plugin") : tsCheckerRspackPlugin.TsCheckerRspackPlugin;
|
|
112
|
+
const ESLintPlugin = webpack ? require("eslint-webpack-plugin") : ESLintRspackPlugin__default.default;
|
|
114
113
|
plugins.push(
|
|
115
|
-
new
|
|
116
|
-
typescript: { configFile: paths.targetTsConfig, memoryLimit:
|
|
114
|
+
new TsCheckerPlugin({
|
|
115
|
+
typescript: { configFile: paths.targetTsConfig, memoryLimit: 8192 }
|
|
117
116
|
}),
|
|
118
|
-
new
|
|
117
|
+
new ESLintPlugin({
|
|
118
|
+
cache: false,
|
|
119
|
+
// Cache seems broken
|
|
119
120
|
context: paths.targetPath,
|
|
120
121
|
files: ["**/*.(ts|tsx|mts|cts|js|jsx|mjs|cjs)"]
|
|
121
122
|
})
|
|
122
123
|
);
|
|
123
124
|
}
|
|
124
|
-
const bundler =
|
|
125
|
+
const bundler = webpack ? webpack : core.rspack;
|
|
125
126
|
plugins.push(
|
|
126
127
|
new bundler.ProvidePlugin({
|
|
127
128
|
process: require.resolve("process/browser"),
|
|
@@ -139,15 +140,15 @@ async function createConfig(paths, options) {
|
|
|
139
140
|
config: frontendConfig
|
|
140
141
|
}
|
|
141
142
|
};
|
|
142
|
-
if (
|
|
143
|
+
if (webpack) {
|
|
144
|
+
plugins.push(new HtmlWebpackPlugin__default.default(templateOptions));
|
|
145
|
+
} else {
|
|
143
146
|
plugins.push(
|
|
144
147
|
new ConfigInjectingHtmlWebpackPlugin.ConfigInjectingHtmlWebpackPlugin(
|
|
145
148
|
templateOptions,
|
|
146
149
|
options.getFrontendAppConfigs
|
|
147
150
|
)
|
|
148
151
|
);
|
|
149
|
-
} else {
|
|
150
|
-
plugins.push(new HtmlWebpackPlugin__default.default(templateOptions));
|
|
151
152
|
}
|
|
152
153
|
plugins.push(
|
|
153
154
|
new HtmlWebpackPlugin__default.default({
|
|
@@ -165,7 +166,7 @@ async function createConfig(paths, options) {
|
|
|
165
166
|
}
|
|
166
167
|
if (options.moduleFederation) {
|
|
167
168
|
const isRemote = options.moduleFederation?.mode === "remote";
|
|
168
|
-
const AdaptedModuleFederationPlugin =
|
|
169
|
+
const AdaptedModuleFederationPlugin = webpack ? require("@module-federation/enhanced/webpack").ModuleFederationPlugin : rspack.ModuleFederationPlugin;
|
|
169
170
|
const exposes = options.moduleFederation?.exposes ? Object.fromEntries(
|
|
170
171
|
Object.entries(options.moduleFederation?.exposes).map(([k, v]) => [
|
|
171
172
|
k,
|
|
@@ -233,15 +234,26 @@ async function createConfig(paths, options) {
|
|
|
233
234
|
}
|
|
234
235
|
const buildInfo = await readBuildInfo();
|
|
235
236
|
plugins.push(
|
|
236
|
-
new
|
|
237
|
+
webpack ? new webpack.DefinePlugin({
|
|
237
238
|
"process.env.BUILD_INFO": JSON.stringify(buildInfo),
|
|
238
|
-
"process.env.APP_CONFIG":
|
|
239
|
+
"process.env.APP_CONFIG": webpack.DefinePlugin.runtimeValue(
|
|
239
240
|
() => JSON.stringify(options.getFrontendAppConfigs()),
|
|
240
241
|
true
|
|
241
242
|
),
|
|
242
243
|
// This allows for conditional imports of react-dom/client, since there's no way
|
|
243
244
|
// to check for presence of it in source code without module resolution errors.
|
|
244
|
-
"process.env.HAS_REACT_DOM_CLIENT": JSON.stringify(
|
|
245
|
+
"process.env.HAS_REACT_DOM_CLIENT": JSON.stringify(
|
|
246
|
+
hasReactDomClient.hasReactDomClient()
|
|
247
|
+
)
|
|
248
|
+
}) : new bundler.DefinePlugin({
|
|
249
|
+
"process.env.BUILD_INFO": JSON.stringify(buildInfo),
|
|
250
|
+
"process.env.APP_CONFIG": JSON.stringify([]),
|
|
251
|
+
// Inject via index.html instead
|
|
252
|
+
// This allows for conditional imports of react-dom/client, since there's no way
|
|
253
|
+
// to check for presence of it in source code without module resolution errors.
|
|
254
|
+
"process.env.HAS_REACT_DOM_CLIENT": JSON.stringify(
|
|
255
|
+
hasReactDomClient.hasReactDomClient()
|
|
256
|
+
)
|
|
245
257
|
})
|
|
246
258
|
);
|
|
247
259
|
if (options.linkedWorkspace) {
|
|
@@ -252,7 +264,7 @@ async function createConfig(paths, options) {
|
|
|
252
264
|
)
|
|
253
265
|
);
|
|
254
266
|
}
|
|
255
|
-
const reactRefreshFiles =
|
|
267
|
+
const reactRefreshFiles = webpack ? [
|
|
256
268
|
require.resolve(
|
|
257
269
|
"@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js"
|
|
258
270
|
),
|
|
@@ -260,7 +272,7 @@ async function createConfig(paths, options) {
|
|
|
260
272
|
"@pmmmwh/react-refresh-webpack-plugin/overlay/index.js"
|
|
261
273
|
),
|
|
262
274
|
require.resolve("react-refresh")
|
|
263
|
-
];
|
|
275
|
+
] : [];
|
|
264
276
|
const mode = isDev ? "development" : "production";
|
|
265
277
|
const optimization$1 = optimization.optimization(options);
|
|
266
278
|
return {
|
|
@@ -304,7 +316,7 @@ async function createConfig(paths, options) {
|
|
|
304
316
|
util: require.resolve("util/")
|
|
305
317
|
},
|
|
306
318
|
// FIXME: see also https://github.com/web-infra-dev/rspack/issues/3408
|
|
307
|
-
|
|
319
|
+
...webpack && {
|
|
308
320
|
plugins: [
|
|
309
321
|
new ModuleScopePlugin__default.default(
|
|
310
322
|
[paths.targetSrc, paths.targetDev],
|
|
@@ -331,7 +343,7 @@ async function createConfig(paths, options) {
|
|
|
331
343
|
},
|
|
332
344
|
experiments: {
|
|
333
345
|
lazyCompilation: yn__default.default(process.env.EXPERIMENTAL_LAZY_COMPILATION),
|
|
334
|
-
|
|
346
|
+
...!webpack && {
|
|
335
347
|
// We're still using `style-loader` for custom `insert` option
|
|
336
348
|
css: false
|
|
337
349
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var core = require('@rspack/core');
|
|
4
|
+
|
|
4
5
|
const optimization = (options) => {
|
|
5
|
-
const { isDev,
|
|
6
|
-
const MinifyPlugin =
|
|
6
|
+
const { isDev, webpack } = options;
|
|
7
|
+
const MinifyPlugin = webpack ? require("esbuild-loader").EsbuildPlugin : core.SwcJsMinimizerRspackPlugin;
|
|
7
8
|
return {
|
|
8
9
|
minimize: !isDev,
|
|
9
10
|
minimizer: [
|
|
@@ -18,7 +19,7 @@ const optimization = (options) => {
|
|
|
18
19
|
format: void 0,
|
|
19
20
|
include: "remoteEntry.js"
|
|
20
21
|
}),
|
|
21
|
-
|
|
22
|
+
webpack ? void 0 : new core.LightningCssMinimizerRspackPlugin()
|
|
22
23
|
],
|
|
23
24
|
runtimeChunk: "single",
|
|
24
25
|
splitChunks: {
|
|
@@ -44,7 +45,7 @@ const optimization = (options) => {
|
|
|
44
45
|
priority: 10,
|
|
45
46
|
minSize: 1e5,
|
|
46
47
|
minChunks: 1,
|
|
47
|
-
|
|
48
|
+
...webpack && {
|
|
48
49
|
maxAsyncRequests: Infinity,
|
|
49
50
|
maxInitialRequests: Infinity
|
|
50
51
|
}
|
|
@@ -15,27 +15,22 @@ var PQueue__default = /*#__PURE__*/_interopDefaultCompat(PQueue);
|
|
|
15
15
|
|
|
16
16
|
const DETECTED_MODULES_MODULE_NAME = "__backstage-autodetected-plugins__";
|
|
17
17
|
function readPackageDetectionConfig(config$1) {
|
|
18
|
-
const packages = config$1.getOptional("app.experimental.packages");
|
|
18
|
+
const packages = config$1.getOptional("app.packages") ?? config$1.getOptional("app.experimental.packages");
|
|
19
19
|
if (packages === void 0 || packages === null) {
|
|
20
20
|
return void 0;
|
|
21
21
|
}
|
|
22
22
|
if (typeof packages === "string") {
|
|
23
23
|
if (packages !== "all") {
|
|
24
24
|
throw new Error(
|
|
25
|
-
`Invalid app.
|
|
25
|
+
`Invalid app.packages mode, got '${packages}', expected 'all'`
|
|
26
26
|
);
|
|
27
27
|
}
|
|
28
28
|
return {};
|
|
29
29
|
}
|
|
30
30
|
if (typeof packages !== "object" || Array.isArray(packages)) {
|
|
31
|
-
throw new Error(
|
|
32
|
-
"Invalid config at 'app.experimental.packages', expected object"
|
|
33
|
-
);
|
|
31
|
+
throw new Error("Invalid config at 'app.packages', expected object");
|
|
34
32
|
}
|
|
35
|
-
const packagesConfig = new config.ConfigReader(
|
|
36
|
-
packages,
|
|
37
|
-
"app.experimental.packages"
|
|
38
|
-
);
|
|
33
|
+
const packagesConfig = new config.ConfigReader(packages, "app.packages");
|
|
39
34
|
return {
|
|
40
35
|
include: packagesConfig.getOptionalStringArray("include"),
|
|
41
36
|
exclude: packagesConfig.getOptionalStringArray("exclude")
|
|
@@ -4,8 +4,8 @@ var chalk = require('chalk');
|
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var core = require('@rspack/core');
|
|
8
|
+
var devServer = require('@rspack/dev-server');
|
|
9
9
|
var paths$1 = require('../../../../lib/paths.cjs.js');
|
|
10
10
|
var config = require('../../../config/lib/config.cjs.js');
|
|
11
11
|
var config$1 = require('./config.cjs.js');
|
|
@@ -17,8 +17,6 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
17
17
|
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
18
18
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
19
19
|
var openBrowser__default = /*#__PURE__*/_interopDefaultCompat(openBrowser);
|
|
20
|
-
var webpack__default = /*#__PURE__*/_interopDefaultCompat(webpack);
|
|
21
|
-
var WebpackDevServer__default = /*#__PURE__*/_interopDefaultCompat(WebpackDevServer);
|
|
22
20
|
|
|
23
21
|
async function serveBundle(options) {
|
|
24
22
|
const paths$2 = paths.resolveBundlingPaths(options);
|
|
@@ -38,14 +36,14 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
38
36
|
const { name } = await fs__default.default.readJson(
|
|
39
37
|
path.resolve(options.targetDir ?? paths$1.paths.targetDir, "package.json")
|
|
40
38
|
);
|
|
41
|
-
let
|
|
39
|
+
let devServer$1 = void 0;
|
|
42
40
|
let latestFrontendAppConfigs = [];
|
|
43
41
|
const triggerReload = () => {
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
if (process.env.
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
if (devServer$1) {
|
|
43
|
+
devServer$1.invalidate();
|
|
44
|
+
if (!process.env.LEGACY_WEBPACK_BUILD) {
|
|
45
|
+
devServer$1.sendMessage(
|
|
46
|
+
devServer$1.webSocketServer?.clients ?? [],
|
|
49
47
|
"static-changed"
|
|
50
48
|
);
|
|
51
49
|
}
|
|
@@ -92,14 +90,14 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
92
90
|
triggerReload();
|
|
93
91
|
}
|
|
94
92
|
});
|
|
95
|
-
const
|
|
93
|
+
const webpack = process.env.LEGACY_WEBPACK_BUILD ? require("webpack") : void 0;
|
|
96
94
|
const commonConfigOptions = {
|
|
97
95
|
...options,
|
|
98
96
|
checksEnabled: options.checksEnabled,
|
|
99
97
|
isDev: true,
|
|
100
98
|
baseUrl: url,
|
|
101
99
|
frontendConfig,
|
|
102
|
-
|
|
100
|
+
webpack,
|
|
103
101
|
getFrontendAppConfigs: () => {
|
|
104
102
|
return latestFrontendAppConfigs;
|
|
105
103
|
}
|
|
@@ -109,12 +107,10 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
109
107
|
additionalEntryPoints: detectedModulesEntryPoint,
|
|
110
108
|
moduleFederation: options.moduleFederation
|
|
111
109
|
});
|
|
112
|
-
const bundler =
|
|
113
|
-
const DevServer =
|
|
114
|
-
if (
|
|
115
|
-
console.log(
|
|
116
|
-
chalk__default.default.yellow(`\u26A0\uFE0F WARNING: Using experimental RSPack dev server.`)
|
|
117
|
-
);
|
|
110
|
+
const bundler = webpack ?? core.rspack;
|
|
111
|
+
const DevServer = webpack ? require("webpack-dev-server") : devServer.RspackDevServer;
|
|
112
|
+
if (webpack) {
|
|
113
|
+
console.log(chalk__default.default.yellow(`\u26A0\uFE0F WARNING: Using legacy WebPack dev server.`));
|
|
118
114
|
}
|
|
119
115
|
const publicPaths = await paths.resolveOptionalBundlingPaths({
|
|
120
116
|
entry: "src/index-public-experimental",
|
|
@@ -128,7 +124,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
128
124
|
);
|
|
129
125
|
}
|
|
130
126
|
const compiler = publicPaths ? bundler([config$2, await config$1.createConfig(publicPaths, commonConfigOptions)]) : bundler(config$2);
|
|
131
|
-
|
|
127
|
+
devServer$1 = new DevServer(
|
|
132
128
|
{
|
|
133
129
|
hot: !process.env.CI,
|
|
134
130
|
devMiddleware: {
|
|
@@ -172,8 +168,8 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
172
168
|
compiler
|
|
173
169
|
);
|
|
174
170
|
await new Promise(async (resolve, reject) => {
|
|
175
|
-
if (
|
|
176
|
-
|
|
171
|
+
if (devServer$1) {
|
|
172
|
+
devServer$1.startCallback((err) => {
|
|
177
173
|
if (err) {
|
|
178
174
|
reject(err);
|
|
179
175
|
return;
|
|
@@ -190,7 +186,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be
|
|
|
190
186
|
const waitForExit = async () => {
|
|
191
187
|
for (const signal of ["SIGINT", "SIGTERM"]) {
|
|
192
188
|
process.on(signal, () => {
|
|
193
|
-
|
|
189
|
+
devServer$1?.stop();
|
|
194
190
|
process.exit();
|
|
195
191
|
});
|
|
196
192
|
}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var svgrTemplate = require('../../../../lib/svgrTemplate.cjs.js');
|
|
5
|
-
|
|
6
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
7
|
-
|
|
8
|
-
var MiniCssExtractPlugin__default = /*#__PURE__*/_interopDefaultCompat(MiniCssExtractPlugin);
|
|
3
|
+
var core = require('@rspack/core');
|
|
9
4
|
|
|
10
5
|
const transforms = (options) => {
|
|
11
|
-
const { isDev, isBackend,
|
|
12
|
-
const
|
|
6
|
+
const { isDev, isBackend, webpack } = options;
|
|
7
|
+
const CssExtractPlugin = webpack ? require("mini-css-extract-plugin") : core.CssExtractRspackPlugin;
|
|
13
8
|
function insertBeforeJssStyles(element) {
|
|
14
9
|
const head = document.head;
|
|
15
10
|
const firstJssNode = head.querySelector("style[data-jss]");
|
|
@@ -25,7 +20,7 @@ const transforms = (options) => {
|
|
|
25
20
|
exclude: /node_modules/,
|
|
26
21
|
use: [
|
|
27
22
|
{
|
|
28
|
-
loader:
|
|
23
|
+
loader: webpack ? require.resolve("swc-loader") : "builtin:swc-loader",
|
|
29
24
|
options: {
|
|
30
25
|
jsc: {
|
|
31
26
|
target: "es2022",
|
|
@@ -51,7 +46,7 @@ const transforms = (options) => {
|
|
|
51
46
|
exclude: /node_modules/,
|
|
52
47
|
use: [
|
|
53
48
|
{
|
|
54
|
-
loader:
|
|
49
|
+
loader: webpack ? require.resolve("swc-loader") : "builtin:swc-loader",
|
|
55
50
|
options: {
|
|
56
51
|
jsc: {
|
|
57
52
|
target: "es2022",
|
|
@@ -78,29 +73,6 @@ const transforms = (options) => {
|
|
|
78
73
|
fullySpecified: false
|
|
79
74
|
}
|
|
80
75
|
},
|
|
81
|
-
{
|
|
82
|
-
test: [/\.icon\.svg$/],
|
|
83
|
-
use: [
|
|
84
|
-
{
|
|
85
|
-
loader: rspack ? "builtin:swc-loader" : require.resolve("swc-loader"),
|
|
86
|
-
options: {
|
|
87
|
-
jsc: {
|
|
88
|
-
target: "es2022",
|
|
89
|
-
externalHelpers: !isBackend,
|
|
90
|
-
parser: {
|
|
91
|
-
syntax: "ecmascript",
|
|
92
|
-
jsx: !isBackend,
|
|
93
|
-
dynamicImport: true
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
loader: require.resolve("@svgr/webpack"),
|
|
100
|
-
options: { babel: false, template: svgrTemplate.svgrTemplate }
|
|
101
|
-
}
|
|
102
|
-
]
|
|
103
|
-
},
|
|
104
76
|
{
|
|
105
77
|
test: [
|
|
106
78
|
/\.bmp$/,
|
|
@@ -145,7 +117,7 @@ const transforms = (options) => {
|
|
|
145
117
|
options: {
|
|
146
118
|
insert: insertBeforeJssStyles
|
|
147
119
|
}
|
|
148
|
-
} :
|
|
120
|
+
} : CssExtractPlugin.loader,
|
|
149
121
|
{
|
|
150
122
|
loader: require.resolve("css-loader"),
|
|
151
123
|
options: {
|
|
@@ -158,7 +130,7 @@ const transforms = (options) => {
|
|
|
158
130
|
const plugins = new Array();
|
|
159
131
|
if (!isDev) {
|
|
160
132
|
plugins.push(
|
|
161
|
-
new
|
|
133
|
+
new CssExtractPlugin({
|
|
162
134
|
filename: "static/[name].[contenthash:8].css",
|
|
163
135
|
chunkFilename: "static/[name].[id].[contenthash:8].css",
|
|
164
136
|
insert: insertBeforeJssStyles
|
|
@@ -9,8 +9,8 @@ var paths = require('../../../lib/paths.cjs.js');
|
|
|
9
9
|
var Lockfile = require('../../../lib/versioning/Lockfile.cjs.js');
|
|
10
10
|
require('minimatch');
|
|
11
11
|
require('@manypkg/get-packages');
|
|
12
|
-
require('chalk');
|
|
13
12
|
require('../../../lib/versioning/yarn.cjs.js');
|
|
13
|
+
require('@backstage/errors');
|
|
14
14
|
var fs = require('fs-extra');
|
|
15
15
|
|
|
16
16
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var factory = require('../../wiring/factory.cjs.js');
|
|
6
6
|
var commander = require('commander');
|
|
7
7
|
var lazy = require('../../lib/lazy.cjs.js');
|
|
8
|
-
var
|
|
8
|
+
var errors = require('@backstage/errors');
|
|
9
9
|
|
|
10
10
|
var index = factory.createCliPlugin({
|
|
11
11
|
pluginId: "new",
|
|
@@ -46,7 +46,9 @@ var index = factory.createCliPlugin({
|
|
|
46
46
|
description: "Create a new Backstage app",
|
|
47
47
|
deprecated: true,
|
|
48
48
|
execute: async () => {
|
|
49
|
-
|
|
49
|
+
throw new errors.NotImplementedError(
|
|
50
|
+
`This command has been removed, use 'backstage-cli new' instead`
|
|
51
|
+
);
|
|
50
52
|
}
|
|
51
53
|
});
|
|
52
54
|
reg.addCommand({
|
|
@@ -54,7 +56,9 @@ var index = factory.createCliPlugin({
|
|
|
54
56
|
description: "Create a new Backstage plugin",
|
|
55
57
|
deprecated: true,
|
|
56
58
|
execute: async () => {
|
|
57
|
-
|
|
59
|
+
throw new errors.NotImplementedError(
|
|
60
|
+
`This command has been removed, use 'backstage-cli new' instead`
|
|
61
|
+
);
|
|
58
62
|
}
|
|
59
63
|
});
|
|
60
64
|
}
|
|
@@ -12,9 +12,9 @@ var lowerFirst = require('lodash/lowerFirst');
|
|
|
12
12
|
var Lockfile = require('../../../../lib/versioning/Lockfile.cjs.js');
|
|
13
13
|
require('minimatch');
|
|
14
14
|
require('@manypkg/get-packages');
|
|
15
|
-
require('chalk');
|
|
16
15
|
require('../../../../lib/versioning/yarn.cjs.js');
|
|
17
16
|
require('../../../../lib/run.cjs.js');
|
|
17
|
+
require('@backstage/errors');
|
|
18
18
|
var paths = require('../../../../lib/paths.cjs.js');
|
|
19
19
|
var version = require('../../../../lib/version.cjs.js');
|
|
20
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var version = "0.34.0
|
|
3
|
+
var version = "0.34.0";
|
|
4
4
|
var dependencies = {
|
|
5
5
|
"@backstage/catalog-model": "workspace:^",
|
|
6
6
|
"@backstage/cli-common": "workspace:^",
|
|
@@ -18,20 +18,16 @@ var dependencies = {
|
|
|
18
18
|
"@octokit/graphql-schema": "^13.7.0",
|
|
19
19
|
"@octokit/oauth-app": "^4.2.0",
|
|
20
20
|
"@octokit/request": "^8.0.0",
|
|
21
|
-
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
|
|
22
21
|
"@rollup/plugin-commonjs": "^26.0.0",
|
|
23
22
|
"@rollup/plugin-json": "^6.0.0",
|
|
24
23
|
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
25
24
|
"@rollup/plugin-yaml": "^4.0.0",
|
|
25
|
+
"@rspack/core": "^1.4.11",
|
|
26
|
+
"@rspack/dev-server": "^1.1.4",
|
|
27
|
+
"@rspack/plugin-react-refresh": "^1.4.3",
|
|
26
28
|
"@spotify/eslint-config-base": "^15.0.0",
|
|
27
29
|
"@spotify/eslint-config-react": "^15.0.0",
|
|
28
30
|
"@spotify/eslint-config-typescript": "^15.0.0",
|
|
29
|
-
"@sucrase/webpack-loader": "^2.0.0",
|
|
30
|
-
"@svgr/core": "6.5.x",
|
|
31
|
-
"@svgr/plugin-jsx": "6.5.x",
|
|
32
|
-
"@svgr/plugin-svgo": "6.5.x",
|
|
33
|
-
"@svgr/rollup": "6.5.x",
|
|
34
|
-
"@svgr/webpack": "6.5.x",
|
|
35
31
|
"@swc/core": "^1.3.46",
|
|
36
32
|
"@swc/helpers": "^0.5.0",
|
|
37
33
|
"@swc/jest": "^0.2.22",
|
|
@@ -51,7 +47,6 @@ var dependencies = {
|
|
|
51
47
|
"css-loader": "^6.5.1",
|
|
52
48
|
"ctrlc-windows": "^2.1.0",
|
|
53
49
|
esbuild: "^0.25.0",
|
|
54
|
-
"esbuild-loader": "^4.0.0",
|
|
55
50
|
eslint: "^8.6.0",
|
|
56
51
|
"eslint-config-prettier": "^9.0.0",
|
|
57
52
|
"eslint-formatter-friendly": "^7.0.0",
|
|
@@ -62,9 +57,8 @@ var dependencies = {
|
|
|
62
57
|
"eslint-plugin-react": "^7.37.2",
|
|
63
58
|
"eslint-plugin-react-hooks": "^5.0.0",
|
|
64
59
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
65
|
-
"eslint-
|
|
60
|
+
"eslint-rspack-plugin": "^4.2.1",
|
|
66
61
|
express: "^4.17.1",
|
|
67
|
-
"fork-ts-checker-webpack-plugin": "^9.0.0",
|
|
68
62
|
"fs-extra": "^11.2.0",
|
|
69
63
|
"git-url-parse": "^15.0.0",
|
|
70
64
|
glob: "^7.1.7",
|
|
@@ -80,7 +74,6 @@ var dependencies = {
|
|
|
80
74
|
"jest-runtime": "^29.0.2",
|
|
81
75
|
"json-schema": "^0.4.0",
|
|
82
76
|
lodash: "^4.17.21",
|
|
83
|
-
"mini-css-extract-plugin": "^2.4.2",
|
|
84
77
|
minimatch: "^9.0.0",
|
|
85
78
|
"node-stdlib-browser": "^1.3.1",
|
|
86
79
|
"npm-packlist": "^5.0.0",
|
|
@@ -104,12 +97,10 @@ var dependencies = {
|
|
|
104
97
|
sucrase: "^3.20.2",
|
|
105
98
|
"swc-loader": "^0.2.3",
|
|
106
99
|
tar: "^6.1.12",
|
|
107
|
-
"
|
|
100
|
+
"ts-checker-rspack-plugin": "^1.1.5",
|
|
108
101
|
"ts-morph": "^24.0.0",
|
|
109
102
|
undici: "^7.2.3",
|
|
110
103
|
util: "^0.12.3",
|
|
111
|
-
webpack: "^5.94.0",
|
|
112
|
-
"webpack-dev-server": "^5.0.0",
|
|
113
104
|
yaml: "^2.0.0",
|
|
114
105
|
yargs: "^16.2.0",
|
|
115
106
|
"yml-loader": "^2.1.0",
|
|
@@ -134,9 +125,7 @@ var devDependencies = {
|
|
|
134
125
|
"@backstage/plugin-scaffolder-node-test-utils": "workspace:^",
|
|
135
126
|
"@backstage/test-utils": "workspace:^",
|
|
136
127
|
"@backstage/theme": "workspace:^",
|
|
137
|
-
"@
|
|
138
|
-
"@rspack/dev-server": "^1.1.1",
|
|
139
|
-
"@rspack/plugin-react-refresh": "^1.4.2",
|
|
128
|
+
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
|
|
140
129
|
"@types/cross-spawn": "^6.0.2",
|
|
141
130
|
"@types/ejs": "^3.1.3",
|
|
142
131
|
"@types/express": "^4.17.6",
|
|
@@ -154,8 +143,15 @@ var devDependencies = {
|
|
|
154
143
|
"@types/webpack-sources": "^3.2.3",
|
|
155
144
|
"@types/yarnpkg__lockfile": "^1.1.4",
|
|
156
145
|
del: "^8.0.0",
|
|
146
|
+
"esbuild-loader": "^4.0.0",
|
|
147
|
+
"eslint-webpack-plugin": "^4.2.0",
|
|
148
|
+
"fork-ts-checker-webpack-plugin": "^9.0.0",
|
|
149
|
+
"mini-css-extract-plugin": "^2.4.2",
|
|
157
150
|
msw: "^1.0.0",
|
|
158
|
-
nodemon: "^3.0.1"
|
|
151
|
+
nodemon: "^3.0.1",
|
|
152
|
+
"terser-webpack-plugin": "^5.1.3",
|
|
153
|
+
webpack: "~5.96.0",
|
|
154
|
+
"webpack-dev-server": "^5.0.0"
|
|
159
155
|
};
|
|
160
156
|
|
|
161
157
|
exports.dependencies = dependencies;
|