@backstage/cli 0.35.3 → 0.35.4-next.2
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 +40 -3
- package/bin/backstage-cli +4 -2
- package/config/eslint-factory.js +2 -2
- package/config/jest.js +3 -3
- package/config/jestFileTransform.js +1 -1
- package/config/jestRejectNetworkRequests.js +2 -2
- package/config/jestSucraseTransform.js +1 -1
- package/config/jestYamlTransform.js +1 -1
- package/config/nodeTransform.cjs +3 -3
- package/config/nodeTransformHooks.mjs +4 -4
- package/dist/lib/cache/SuccessCache.cjs.js +5 -5
- package/dist/lib/entryPoints.cjs.js +5 -3
- package/dist/lib/parallel.cjs.js +4 -4
- package/dist/lib/typeDistProject.cjs.js +1 -1
- package/dist/modules/build/commands/package/build/command.cjs.js +6 -0
- package/dist/modules/build/commands/package/start/resolveLinkedWorkspace.cjs.js +1 -1
- package/dist/modules/build/commands/package/start/startBackend.cjs.js +1 -1
- package/dist/modules/build/commands/package/start/startFrontend.cjs.js +1 -1
- package/dist/modules/build/commands/package/start/startPackage.cjs.js +1 -1
- package/dist/modules/build/commands/repo/build.cjs.js +1 -1
- package/dist/modules/build/commands/repo/start.cjs.js +3 -3
- package/dist/modules/build/lib/buildBackend.cjs.js +22 -4
- package/dist/modules/build/lib/buildFrontend.cjs.js +1 -1
- package/dist/modules/build/lib/builder/config.cjs.js +4 -3
- package/dist/modules/build/lib/builder/packager.cjs.js +3 -2
- package/dist/modules/build/lib/builder/plugins.cjs.js +36 -1
- package/dist/modules/build/lib/bundler/bundle.cjs.js +1 -1
- package/dist/modules/build/lib/bundler/config.cjs.js +1 -1
- package/dist/modules/build/lib/bundler/linkWorkspaces.cjs.js +1 -1
- package/dist/modules/build/lib/bundler/packageDetection.cjs.js +2 -2
- package/dist/modules/build/lib/bundler/paths.cjs.js +1 -1
- package/dist/modules/build/lib/bundler/server.cjs.js +1 -1
- package/dist/modules/build/lib/packager/createDistWorkspace.cjs.js +23 -5
- package/dist/modules/build/lib/packager/productionPack.cjs.js +5 -2
- package/dist/modules/build/lib/runner/runBackend.cjs.js +3 -3
- package/dist/modules/config/lib/config.cjs.js +1 -1
- package/dist/modules/create-github-app/commands/create-github-app/GithubCreateAppServer.cjs.js +1 -1
- package/dist/modules/info/commands/info.cjs.js +1 -1
- package/dist/modules/lint/commands/repo/lint.cjs.js +5 -5
- package/dist/modules/maintenance/commands/repo/clean.cjs.js +1 -1
- package/dist/modules/maintenance/commands/repo/fix.cjs.js +62 -16
- package/dist/modules/maintenance/commands/repo/list-deprecations.cjs.js +1 -1
- package/dist/modules/migrate/commands/packageLintConfigs.cjs.js +1 -1
- package/dist/modules/migrate/commands/packageRole.cjs.js +1 -1
- package/dist/modules/migrate/commands/packageScripts.cjs.js +1 -1
- package/dist/modules/migrate/commands/reactRouterDeps.cjs.js +1 -1
- package/dist/modules/migrate/commands/versions/bump.cjs.js +8 -8
- package/dist/modules/migrate/commands/versions/migrate.cjs.js +1 -1
- package/dist/modules/new/lib/codeowners/codeowners.cjs.js +1 -1
- package/dist/modules/new/lib/execution/writeTemplateContents.cjs.js +1 -1
- package/dist/modules/new/lib/preparation/loadPortableTemplate.cjs.js +2 -3
- package/dist/modules/new/lib/preparation/loadPortableTemplateConfig.cjs.js +4 -4
- package/dist/modules/new/lib/preparation/resolvePackageParams.cjs.js +1 -1
- package/dist/modules/test/commands/repo/test.cjs.js +2 -2
- 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 +4 -3
- package/dist/packages/core-app-api/package.json.cjs.js +1 -1
- package/dist/packages/core-components/package.json.cjs.js +1 -1
- package/dist/packages/core-plugin-api/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 +1 -1
- package/package.json +31 -30
- package/templates/catalog-provider-module/src/module.ts.hbs +1 -1
- package/templates/scaffolder-backend-module/src/module.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,49 @@
|
|
|
1
1
|
# @backstage/cli
|
|
2
2
|
|
|
3
|
-
## 0.35.
|
|
3
|
+
## 0.35.4-next.2
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- 20131c5: Added support for CSS exports in package builds. When a package declares a CSS file in its `exports` field (e.g., `"./styles.css": "./src/styles.css"`), the CLI will automatically bundle it during `backstage-cli package build`, resolving any `@import` statements. The export path is rewritten from `src/` to `dist/` at publish time.
|
|
8
|
+
|
|
9
|
+
Fixed `backstage-cli repo fix` to not add `typesVersions` entries for non-script exports like CSS files.
|
|
10
|
+
|
|
11
|
+
- 6ce4a13: Removed `/alpha` from `scaffolderActionsExtensionPoint` import
|
|
12
|
+
- 73351c2: Updated dependency `webpack` to `~5.104.0`.
|
|
8
13
|
- Updated dependencies
|
|
9
|
-
- @backstage/
|
|
14
|
+
- @backstage/integration@1.20.0-next.2
|
|
15
|
+
- @backstage/cli-node@0.2.18-next.1
|
|
16
|
+
- @backstage/config-loader@1.10.8-next.0
|
|
17
|
+
|
|
18
|
+
## 0.35.4-next.1
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- 5e3ef57: Added support for the new `peerModules` metadata field in `package.json`. This field allows plugin packages to declare modules that should be installed alongside them for cross-plugin integrations. The field is validated by `backstage-cli repo fix --publish`.
|
|
23
|
+
- Updated dependencies
|
|
24
|
+
- @backstage/integration@1.20.0-next.1
|
|
25
|
+
- @backstage/cli-node@0.2.18-next.1
|
|
26
|
+
|
|
27
|
+
## 0.35.3-next.0
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- cfd8103: Updated catalog provider module template to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of alpha exports.
|
|
32
|
+
- 7455dae: Use node prefix on native imports
|
|
33
|
+
- 4fc7bf0: Bump to tar v7
|
|
34
|
+
- 122d39c: Completely removed support for the deprecated `app.experimental.packages` configuration. Replace existing usage directly with `app.packages`.
|
|
35
|
+
- 69d880e: Bump to latest zod to ensure it has the latest features
|
|
36
|
+
- Updated dependencies
|
|
37
|
+
- @backstage/config-loader@1.10.8-next.0
|
|
38
|
+
- @backstage/eslint-plugin@0.2.1-next.0
|
|
39
|
+
- @backstage/integration@1.19.3-next.0
|
|
40
|
+
- @backstage/cli-common@0.1.18-next.0
|
|
41
|
+
- @backstage/cli-node@0.2.17-next.0
|
|
42
|
+
- @backstage/catalog-model@1.7.6
|
|
43
|
+
- @backstage/config@1.3.6
|
|
44
|
+
- @backstage/errors@1.2.7
|
|
45
|
+
- @backstage/release-manifests@0.0.13
|
|
46
|
+
- @backstage/types@1.2.2
|
|
10
47
|
|
|
11
48
|
## 0.35.2
|
|
12
49
|
|
package/bin/backstage-cli
CHANGED
|
@@ -15,11 +15,13 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
const path = require('path');
|
|
18
|
+
const path = require('node:path');
|
|
19
19
|
|
|
20
20
|
// Figure out whether we're running inside the backstage repo or as an installed dependency
|
|
21
21
|
/* eslint-disable-next-line no-restricted-syntax */
|
|
22
|
-
const isLocal = require('fs').existsSync(
|
|
22
|
+
const isLocal = require('node:fs').existsSync(
|
|
23
|
+
path.resolve(__dirname, '../src'),
|
|
24
|
+
);
|
|
23
25
|
|
|
24
26
|
if (!isLocal || process.env.BACKSTAGE_E2E_CLI_TEST) {
|
|
25
27
|
require('..');
|
package/config/eslint-factory.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
const { join: joinPath } = require('path');
|
|
17
|
+
const { join: joinPath } = require('node:path');
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Creates a ESLint configuration that extends the base Backstage configuration.
|
|
@@ -235,7 +235,7 @@ function createConfigForRole(dir, role, extraConfig = {}) {
|
|
|
235
235
|
name: '@mui/material',
|
|
236
236
|
message: "Please import '@mui/material/...' instead.",
|
|
237
237
|
},
|
|
238
|
-
...require('module').builtinModules,
|
|
238
|
+
...require('node:module').builtinModules,
|
|
239
239
|
...(extraConfig.restrictedImports ?? []),
|
|
240
240
|
],
|
|
241
241
|
// https://mui.com/material-ui/guides/minimizing-bundle-size/
|
package/config/jest.js
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
const fs = require('fs-extra');
|
|
18
|
-
const path = require('path');
|
|
19
|
-
const crypto = require('crypto');
|
|
20
|
-
const glob = require('util').promisify(require('glob'));
|
|
18
|
+
const path = require('node:path');
|
|
19
|
+
const crypto = require('node:crypto');
|
|
20
|
+
const glob = require('node:util').promisify(require('glob'));
|
|
21
21
|
const { version } = require('../package.json');
|
|
22
22
|
const paths = require('@backstage/cli-common').findPaths(process.cwd());
|
|
23
23
|
const {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
const http = require('http');
|
|
18
|
-
const https = require('https');
|
|
17
|
+
const http = require('node:http');
|
|
18
|
+
const https = require('node:https');
|
|
19
19
|
|
|
20
20
|
const errorMessage = 'Network requests are not allowed in tests';
|
|
21
21
|
|
package/config/nodeTransform.cjs
CHANGED
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
const { pathToFileURL } = require('url');
|
|
17
|
+
const { pathToFileURL } = require('node:url');
|
|
18
18
|
const { transformSync } = require('@swc/core');
|
|
19
19
|
const { addHook } = require('pirates');
|
|
20
|
-
const { Module } = require('module');
|
|
20
|
+
const { Module } = require('node:module');
|
|
21
21
|
|
|
22
22
|
// This hooks into module resolution and overrides imports of packages that
|
|
23
23
|
// exist in the linked workspace to instead be resolved from the linked workspace.
|
|
24
24
|
if (process.env.BACKSTAGE_CLI_LINKED_WORKSPACE) {
|
|
25
|
-
const { join: joinPath } = require('path');
|
|
25
|
+
const { join: joinPath } = require('node:path');
|
|
26
26
|
const { getPackagesSync } = require('@manypkg/get-packages');
|
|
27
27
|
const { packages: linkedPackages, root: linkedRoot } = getPackagesSync(
|
|
28
28
|
process.env.BACKSTAGE_CLI_LINKED_WORKSPACE,
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { dirname, extname, resolve as resolvePath } from 'path';
|
|
18
|
-
import { fileURLToPath } from 'url';
|
|
17
|
+
import { dirname, extname, resolve as resolvePath } from 'node:path';
|
|
18
|
+
import { fileURLToPath } from 'node:url';
|
|
19
19
|
import { transformFile } from '@swc/core';
|
|
20
20
|
import { isBuiltin } from 'node:module';
|
|
21
|
-
import { readFile } from 'fs/promises';
|
|
22
|
-
import { existsSync } from 'fs';
|
|
21
|
+
import { readFile } from 'node:fs/promises';
|
|
22
|
+
import { existsSync } from 'node:fs';
|
|
23
23
|
|
|
24
24
|
// @ts-check
|
|
25
25
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var
|
|
4
|
+
var path = require('node:path');
|
|
5
5
|
var paths = require('../paths.cjs.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -21,7 +21,7 @@ class SuccessCache {
|
|
|
21
21
|
return input.replaceAll(paths.paths.targetRoot, "");
|
|
22
22
|
}
|
|
23
23
|
constructor(name, basePath) {
|
|
24
|
-
this.#path =
|
|
24
|
+
this.#path = path.resolve(basePath ?? DEFAULT_CACHE_BASE_PATH, name);
|
|
25
25
|
}
|
|
26
26
|
async read() {
|
|
27
27
|
try {
|
|
@@ -54,7 +54,7 @@ class SuccessCache {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
for (const item of removed) {
|
|
57
|
-
await fs__default.default.unlink(
|
|
57
|
+
await fs__default.default.unlink(path.resolve(this.#path, item));
|
|
58
58
|
}
|
|
59
59
|
return returned;
|
|
60
60
|
}
|
|
@@ -68,9 +68,9 @@ class SuccessCache {
|
|
|
68
68
|
(item) => item.endsWith(`_${key}`)
|
|
69
69
|
);
|
|
70
70
|
for (const trimmedItem of trimmedItems) {
|
|
71
|
-
await fs__default.default.unlink(
|
|
71
|
+
await fs__default.default.unlink(path.resolve(this.#path, trimmedItem));
|
|
72
72
|
}
|
|
73
|
-
await fs__default.default.writeFile(
|
|
73
|
+
await fs__default.default.writeFile(path.resolve(this.#path, `${now}_${key}`), empty);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var path = require('path');
|
|
3
|
+
var path = require('node:path');
|
|
4
4
|
|
|
5
5
|
const defaultIndex = {
|
|
6
6
|
mount: ".",
|
|
@@ -8,17 +8,19 @@ const defaultIndex = {
|
|
|
8
8
|
name: "index",
|
|
9
9
|
ext: ".ts"
|
|
10
10
|
};
|
|
11
|
+
const SCRIPT_EXTS = [".js", ".jsx", ".ts", ".tsx"];
|
|
11
12
|
function parseEntryPoint(mount, path$1) {
|
|
13
|
+
const ext = path.extname(path$1);
|
|
12
14
|
let name = mount;
|
|
13
15
|
if (name === ".") {
|
|
14
16
|
name = "index";
|
|
15
17
|
} else if (name.startsWith("./")) {
|
|
16
18
|
name = name.slice(2);
|
|
17
19
|
}
|
|
18
|
-
if (name.includes("/")) {
|
|
20
|
+
if (name.includes("/") && SCRIPT_EXTS.includes(ext)) {
|
|
19
21
|
throw new Error(`Mount point '${mount}' may not contain multiple slashes`);
|
|
20
22
|
}
|
|
21
|
-
return { mount, path: path$1, name, ext
|
|
23
|
+
return { mount, path: path$1, name, ext };
|
|
22
24
|
}
|
|
23
25
|
function readEntryPoints(pkg) {
|
|
24
26
|
const exp = pkg.exports;
|
package/dist/lib/parallel.cjs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var os = require('os');
|
|
4
|
-
var
|
|
3
|
+
var os = require('node:os');
|
|
4
|
+
var node_worker_threads = require('node:worker_threads');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
7
7
|
|
|
@@ -65,7 +65,7 @@ async function runWorkerQueueThreads(options) {
|
|
|
65
65
|
let itemIndex = 0;
|
|
66
66
|
await Promise.all(
|
|
67
67
|
Array(threadCount).fill(0).map(async () => {
|
|
68
|
-
const thread = new
|
|
68
|
+
const thread = new node_worker_threads.Worker(`(${workerQueueThread})(${workerFactory})`, {
|
|
69
69
|
eval: true,
|
|
70
70
|
workerData
|
|
71
71
|
});
|
|
@@ -107,7 +107,7 @@ async function runWorkerQueueThreads(options) {
|
|
|
107
107
|
return results;
|
|
108
108
|
}
|
|
109
109
|
function workerQueueThread(workerFuncFactory) {
|
|
110
|
-
const { parentPort, workerData } = require("worker_threads");
|
|
110
|
+
const { parentPort, workerData } = require("node:worker_threads");
|
|
111
111
|
Promise.resolve().then(() => workerFuncFactory(workerData)).then(
|
|
112
112
|
(workerFunc) => {
|
|
113
113
|
parentPort.on("message", async (message) => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var fs = require('fs-extra');
|
|
3
4
|
var packager = require('../../../lib/builder/packager.cjs.js');
|
|
4
5
|
var types = require('../../../lib/builder/types.cjs.js');
|
|
5
6
|
var role = require('../../../../../lib/role.cjs.js');
|
|
@@ -12,6 +13,7 @@ var chalk = require('chalk');
|
|
|
12
13
|
|
|
13
14
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
15
|
|
|
16
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
15
17
|
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
16
18
|
|
|
17
19
|
async function command(opts) {
|
|
@@ -64,8 +66,12 @@ async function command(opts) {
|
|
|
64
66
|
if (roleInfo.output.includes("types")) {
|
|
65
67
|
outputs.add(types.Output.types);
|
|
66
68
|
}
|
|
69
|
+
const packageJson = await fs__default.default.readJson(
|
|
70
|
+
paths.paths.resolveTarget("package.json")
|
|
71
|
+
);
|
|
67
72
|
return packager.buildPackage({
|
|
68
73
|
outputs,
|
|
74
|
+
packageJson,
|
|
69
75
|
minify: Boolean(opts.minify),
|
|
70
76
|
workspacePackages: await cliNode.PackageGraph.listTargetPackages()
|
|
71
77
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var errors = require('@backstage/errors');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
|
-
var posix = require('path/posix');
|
|
5
|
+
var posix = require('node:path/posix');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var startBackend = require('./startBackend.cjs.js');
|
|
4
4
|
var startFrontend = require('./startFrontend.cjs.js');
|
|
5
|
-
var path = require('path');
|
|
5
|
+
var path = require('node:path');
|
|
6
6
|
var glob = require('glob');
|
|
7
7
|
|
|
8
8
|
function resolveEntryPath(entrypoint = "dev", targetDir) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var path = require('path');
|
|
4
|
+
var path = require('node:path');
|
|
5
5
|
var packager = require('../../lib/builder/packager.cjs.js');
|
|
6
6
|
var paths = require('../../../../lib/paths.cjs.js');
|
|
7
7
|
var cliNode = require('@backstage/cli-node');
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var cliNode = require('@backstage/cli-node');
|
|
4
|
-
var path = require('path');
|
|
4
|
+
var path = require('node:path');
|
|
5
5
|
var paths = require('../../../../lib/paths.cjs.js');
|
|
6
6
|
var resolveLinkedWorkspace = require('../package/start/resolveLinkedWorkspace.cjs.js');
|
|
7
7
|
var startPackage = require('../package/start/startPackage.cjs.js');
|
|
8
|
-
var
|
|
8
|
+
var node_util = require('node:util');
|
|
9
9
|
|
|
10
10
|
const ACCEPTED_PACKAGE_ROLES = [
|
|
11
11
|
"frontend",
|
|
@@ -112,7 +112,7 @@ async function resolvePackageOptions(targetPackages, options) {
|
|
|
112
112
|
);
|
|
113
113
|
return [];
|
|
114
114
|
}
|
|
115
|
-
const { values: parsedOpts } =
|
|
115
|
+
const { values: parsedOpts } = node_util.parseArgs({
|
|
116
116
|
args: startScript.split(" "),
|
|
117
117
|
strict: false,
|
|
118
118
|
options: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var os = require('os');
|
|
3
|
+
var os = require('node:os');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
|
-
var path = require('path');
|
|
5
|
+
var path = require('node:path');
|
|
6
6
|
var tar = require('tar');
|
|
7
7
|
var createDistWorkspace = require('./packager/createDistWorkspace.cjs.js');
|
|
8
8
|
var parallel = require('../../../lib/parallel.cjs.js');
|
|
@@ -12,9 +12,27 @@ var cliNode = require('@backstage/cli-node');
|
|
|
12
12
|
|
|
13
13
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
14
|
|
|
15
|
+
function _interopNamespaceCompat(e) {
|
|
16
|
+
if (e && typeof e === 'object' && 'default' in e) return e;
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
n.default = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
32
|
+
|
|
15
33
|
var os__default = /*#__PURE__*/_interopDefaultCompat(os);
|
|
16
34
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
17
|
-
var
|
|
35
|
+
var tar__namespace = /*#__PURE__*/_interopNamespaceCompat(tar);
|
|
18
36
|
|
|
19
37
|
const BUNDLE_FILE = "bundle.tar.gz";
|
|
20
38
|
const SKELETON_FILE = "skeleton.tar.gz";
|
|
@@ -46,7 +64,7 @@ async function buildBackend(options) {
|
|
|
46
64
|
path.resolve(tmpDir, SKELETON_FILE),
|
|
47
65
|
path.resolve(distDir, SKELETON_FILE)
|
|
48
66
|
);
|
|
49
|
-
await
|
|
67
|
+
await tar__namespace.create(
|
|
50
68
|
{
|
|
51
69
|
file: path.resolve(distDir, BUNDLE_FILE),
|
|
52
70
|
cwd: tmpDir,
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
|
-
var crypto = require('crypto');
|
|
6
|
-
var path = require('path');
|
|
5
|
+
var crypto = require('node:crypto');
|
|
6
|
+
var path = require('node:path');
|
|
7
7
|
var commonjs = require('@rollup/plugin-commonjs');
|
|
8
8
|
var resolve = require('@rollup/plugin-node-resolve');
|
|
9
9
|
var postcss = require('rollup-plugin-postcss');
|
|
@@ -210,7 +210,8 @@ async function makeRollupConfigs(options) {
|
|
|
210
210
|
esbuild__default.default({
|
|
211
211
|
target: "ES2023",
|
|
212
212
|
minify: options.minify
|
|
213
|
-
})
|
|
213
|
+
}),
|
|
214
|
+
plugins.cssEntryPoints({ entryPoints: entryPoints$1, targetDir })
|
|
214
215
|
]
|
|
215
216
|
});
|
|
216
217
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var rollup = require('rollup');
|
|
5
5
|
var chalk = require('chalk');
|
|
6
|
-
var path = require('path');
|
|
6
|
+
var path = require('node:path');
|
|
7
7
|
var paths = require('../../../../lib/paths.cjs.js');
|
|
8
8
|
var config = require('./config.cjs.js');
|
|
9
9
|
var types = require('./types.cjs.js');
|
|
@@ -90,7 +90,8 @@ const buildPackage = async (options) => {
|
|
|
90
90
|
} catch {
|
|
91
91
|
}
|
|
92
92
|
const rollupConfigs = await config.makeRollupConfigs(options);
|
|
93
|
-
|
|
93
|
+
const targetDir = options.targetDir ?? paths.paths.targetDir;
|
|
94
|
+
await fs__default.default.remove(path.resolve(targetDir, "dist"));
|
|
94
95
|
const buildTasks = rollupConfigs.map(rollupBuild);
|
|
95
96
|
await Promise.all(buildTasks);
|
|
96
97
|
};
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var
|
|
4
|
+
var postcss = require('postcss');
|
|
5
|
+
var postcssImport = require('postcss-import');
|
|
6
|
+
var path = require('node:path');
|
|
5
7
|
var rollupPluginutils = require('rollup-pluginutils');
|
|
6
8
|
|
|
7
9
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
8
10
|
|
|
9
11
|
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
12
|
+
var postcss__default = /*#__PURE__*/_interopDefaultCompat(postcss);
|
|
13
|
+
var postcssImport__default = /*#__PURE__*/_interopDefaultCompat(postcssImport);
|
|
10
14
|
|
|
11
15
|
function forwardFileImports(options) {
|
|
12
16
|
const filter = rollupPluginutils.createFilter(options.include, options.exclude);
|
|
@@ -85,6 +89,37 @@ function forwardFileImports(options) {
|
|
|
85
89
|
}
|
|
86
90
|
};
|
|
87
91
|
}
|
|
92
|
+
function cssEntryPoints(options) {
|
|
93
|
+
const cssEntries = options.entryPoints.filter((ep) => ep.ext === ".css");
|
|
94
|
+
const generatedFor = /* @__PURE__ */ new Set();
|
|
95
|
+
return {
|
|
96
|
+
name: "backstage-css-entry-points",
|
|
97
|
+
async generateBundle(outputOptions, _bundle, isWrite) {
|
|
98
|
+
if (!isWrite) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const dir = outputOptions.dir || path.dirname(outputOptions.file);
|
|
102
|
+
if (generatedFor.has(dir)) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
generatedFor.add(dir);
|
|
106
|
+
for (const entryPoint of cssEntries) {
|
|
107
|
+
const sourcePath = path.resolve(options.targetDir, entryPoint.path);
|
|
108
|
+
const outputPath = entryPoint.path.replace(/^(\.\/)?src\//, "");
|
|
109
|
+
const source = await fs__default.default.readFile(sourcePath, "utf8");
|
|
110
|
+
const result = await postcss__default.default([postcssImport__default.default()]).process(source, {
|
|
111
|
+
from: sourcePath
|
|
112
|
+
});
|
|
113
|
+
this.emitFile({
|
|
114
|
+
type: "asset",
|
|
115
|
+
fileName: outputPath,
|
|
116
|
+
source: result.css
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
88
122
|
|
|
123
|
+
exports.cssEntryPoints = cssEntryPoints;
|
|
89
124
|
exports.forwardFileImports = forwardFileImports;
|
|
90
125
|
//# sourceMappingURL=plugins.cjs.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var yn = require('yn');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
|
-
var path = require('path');
|
|
5
|
+
var path = require('node:path');
|
|
6
6
|
var core = require('@rspack/core');
|
|
7
7
|
var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
|
|
8
8
|
var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
|
|
@@ -4,7 +4,7 @@ var config = require('@backstage/config');
|
|
|
4
4
|
var chokidar = require('chokidar');
|
|
5
5
|
var fs = require('fs-extra');
|
|
6
6
|
var PQueue = require('p-queue');
|
|
7
|
-
var path = require('path');
|
|
7
|
+
var path = require('node:path');
|
|
8
8
|
var paths = require('../../../../lib/paths.cjs.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -15,7 +15,7 @@ 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.packages")
|
|
18
|
+
const packages = config$1.getOptional("app.packages");
|
|
19
19
|
if (packages === void 0 || packages === null) {
|
|
20
20
|
return void 0;
|
|
21
21
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var path = require('path');
|
|
4
|
+
var path = require('node:path');
|
|
5
5
|
var paths = require('../../../../lib/paths.cjs.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
|
-
var path = require('path');
|
|
5
|
+
var path = require('node:path');
|
|
6
6
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
7
7
|
var core = require('@rspack/core');
|
|
8
8
|
var devServer = require('@rspack/dev-server');
|