@backstage/cli 0.13.2-next.0 → 0.14.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/CHANGELOG.md +80 -0
- package/config/eslint.js +2 -2
- package/config/jest.js +8 -4
- package/config/jestSucraseTransform.js +60 -39
- package/dist/cjs/{PackageGraph-96b2e6ef.cjs.js → PackageGraph-452ec2ff.cjs.js} +65 -2
- package/dist/cjs/{backend-fb6d6170.cjs.js → backend-f623f925.cjs.js} +2 -2
- package/dist/cjs/{build-b3c69eff.cjs.js → build-c6587a6a.cjs.js} +11 -9
- package/dist/cjs/{build-8fd28a6d.cjs.js → build-d22951cc.cjs.js} +7 -6
- package/dist/cjs/{build-93f627fc.cjs.js → build-d555ae41.cjs.js} +7 -6
- package/dist/cjs/{build-9db9aaaf.cjs.js → build-dde37a4d.cjs.js} +22 -22
- package/dist/cjs/{buildBackend-08cefb3c.cjs.js → buildBackend-4890a3fb.cjs.js} +20 -16
- package/dist/cjs/{buildWorkspace-1323bee2.cjs.js → buildWorkspace-464c5a99.cjs.js} +9 -9
- package/dist/cjs/{bump-a85eb7bb.cjs.js → bump-a4f9d634.cjs.js} +132 -25
- package/dist/cjs/{bundle-b3d9e5ab.cjs.js → bundle-102f5596.cjs.js} +11 -11
- package/dist/cjs/{bundle-4ce79bce.cjs.js → bundle-bcefdcef.cjs.js} +2 -2
- package/dist/cjs/{clean-c50d4782.cjs.js → clean-dbc9a5ef.cjs.js} +2 -2
- package/dist/cjs/{config-f2365900.cjs.js → config-7c2e1f5a.cjs.js} +3 -3
- package/dist/cjs/{create-7ad905e4.cjs.js → create-7e122e43.cjs.js} +4 -4
- package/dist/cjs/{createDistWorkspace-f4c0276b.cjs.js → createDistWorkspace-7dc77457.cjs.js} +15 -9
- package/dist/cjs/{createPlugin-ba8c6df0.cjs.js → createPlugin-98e97774.cjs.js} +4 -4
- package/dist/cjs/{dev-e8f4294f.cjs.js → dev-1fa4ec4d.cjs.js} +6 -6
- package/dist/cjs/{diff-7c3a6378.cjs.js → diff-75846872.cjs.js} +6 -2
- package/dist/cjs/{docs-f72a2ec8.cjs.js → docs-1d4c7d02.cjs.js} +7 -4
- package/dist/cjs/{index-c953b562.cjs.js → index-76945a16.cjs.js} +2 -2
- package/dist/cjs/{index-526e4dc9.cjs.js → index-a90b183a.cjs.js} +18 -18
- package/dist/cjs/{index-d7ee78c4.cjs.js → index-b314a967.cjs.js} +16 -16
- package/dist/cjs/{index-8b03e1f7.cjs.js → index-f4a6cd4f.cjs.js} +70 -66
- package/dist/cjs/{info-92d051f2.cjs.js → info-01180b4a.cjs.js} +3 -3
- package/dist/cjs/{install-1f10c477.cjs.js → install-6fae05de.cjs.js} +4 -4
- package/dist/cjs/{lint-a49b0261.cjs.js → lint-9575a50e.cjs.js} +2 -2
- package/dist/cjs/lint-b454be94.cjs.js +92 -0
- package/dist/cjs/{lint-cc10c98e.cjs.js → lint-e84f4da1.cjs.js} +3 -3
- package/dist/cjs/{oldBuild-e0886590.cjs.js → oldBuild-5662c63f.cjs.js} +7 -6
- package/dist/cjs/{pack-7da7f03b.cjs.js → pack-4a819ab8.cjs.js} +2 -2
- package/dist/cjs/{packageRole-7bb8a760.cjs.js → packageRole-b9f3f4c2.cjs.js} +3 -3
- package/dist/cjs/{packageRoles-f4b169a7.cjs.js → packageRoles-be5cc4e7.cjs.js} +12 -12
- package/dist/cjs/packageScripts-98e13921.cjs.js +97 -0
- package/dist/cjs/{packager-3bddd88f.cjs.js → packager-3c7ef6f2.cjs.js} +34 -58
- package/dist/cjs/{packages-08c02af1.cjs.js → packages-6d20da58.cjs.js} +5 -4
- package/dist/cjs/parallel-d8e5bcbf.cjs.js +171 -0
- package/dist/cjs/{paths-f6ca70df.cjs.js → paths-67855a60.cjs.js} +4 -4
- package/dist/cjs/{print-43232f19.cjs.js → print-d0729b40.cjs.js} +7 -4
- package/dist/cjs/{run-8da8f918.cjs.js → run-b09132d3.cjs.js} +2 -2
- package/dist/cjs/{schema-2c7e9598.cjs.js → schema-2f989737.cjs.js} +7 -4
- package/dist/cjs/{serve-9c68f54d.cjs.js → serve-474204d0.cjs.js} +8 -8
- package/dist/cjs/{serve-01190cc4.cjs.js → serve-9f86fead.cjs.js} +9 -9
- package/dist/cjs/{server-937c32b4.cjs.js → server-525b32bf.cjs.js} +2 -2
- package/dist/cjs/svgrTemplate-b7a4ee52.cjs.js +21 -0
- package/dist/cjs/{tasks-3a7eba1b.cjs.js → tasks-0ade17b2.cjs.js} +2 -2
- package/dist/cjs/{testCommand-5cdbf69c.cjs.js → testCommand-afcd8cac.cjs.js} +11 -4
- package/dist/cjs/{validate-697fd284.cjs.js → validate-2f3a3c93.cjs.js} +7 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +30 -24
- package/templates/default-backend-plugin/package.json.hbs +1 -1
- package/templates/default-plugin/package.json.hbs +1 -1
- package/dist/cjs/packageScripts-23016b48.cjs.js +0 -61
- package/dist/cjs/parallel-e73a4058.cjs.js +0 -48
- package/dist/cjs/svgrTemplate-f19e974c.cjs.js +0 -25
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,85 @@
|
|
|
1
1
|
# @backstage/cli
|
|
2
2
|
|
|
3
|
+
## 0.14.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5cc7f48400: Fixed a bug in the built-in Jest configuration that prevented it from identifying packages that had migrated to using the new package scripts to run tests.
|
|
8
|
+
- 49ae6c9573: chore(deps-dev): bump `@types/rollup-plugin-postcss` from 2.0.1 to 3.1.4
|
|
9
|
+
- d64b8d3678: chore(deps): bump `minimatch` from 3.0.4 to 5.0.0
|
|
10
|
+
- d2e9d2a34f: chore(deps): bump `@hot-loader/react-dom` from 16.13.0 to 17.0.2
|
|
11
|
+
- c2f3a548cf: Fix building of backends with `repo build --all`, where it would previously only work if the build was executed within the backend package.
|
|
12
|
+
- 3d7ed5377a: Ignore setupTests and the file inside ./dev folder recursively. Eslint
|
|
13
|
+
can not resolve relative paths as we defined in the rule import/no-extraneous-dependencies, and it does not apply this rule.
|
|
14
|
+
|
|
15
|
+
A downside to use a recursive definition would be to checking all `dev` folders, which might not be wanted. Ensure you don't use
|
|
16
|
+
the `dev` folder out of scope (must be used for dev. env. only)
|
|
17
|
+
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
- @backstage/config-loader@0.9.6
|
|
20
|
+
|
|
21
|
+
## 0.14.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- 1fc0cd3896: Bumped Webpack and Rollup `svgr` dependencies and updated the AST template for `.icon.svg` modules. This means that SVG icon imports are now using SVGO v2.
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- 0b74c72987: Added a new experimental and hidden `backstage-cli repo lint` command that can be used to lint all packages in the project, similar to `lerna run lint`.
|
|
30
|
+
- 532dae9c4c: The `versions:bump --release next` command is updated to compare the `main` and `next` release manifests and prefer the latest.
|
|
31
|
+
- 1ed305728b: Bump `node-fetch` to version 2.6.7 and `cross-fetch` to version 3.1.5
|
|
32
|
+
- c77c5c7eb6: Added `backstage.role` to `package.json`
|
|
33
|
+
- 22862486de: The `versions:bump` command now filters out `npm_` environment configuration when running `yarn install`. This has the effect of allowing it to consider local configuration files within the repository, which is the behavior that one would expect.
|
|
34
|
+
- 22862486de: The `versions:bump` command now also considers the root `package.json` when searching for updates. It has also received updates to its output, including a link the [Backstage upgrade helper](https://backstage.github.io/upgrade-helper) and silenced `yarn install` output.
|
|
35
|
+
- 7410e12268: Several changes were made to the new experimental package roles system. Unless you have been experimenting with using this new system, these changes have no affect on your project.
|
|
36
|
+
|
|
37
|
+
Renamed the `backstage-cli migrate package-role` command to `backstage-cli migrate package-roles`.
|
|
38
|
+
|
|
39
|
+
Updated the package role definitions by renaming `app` to `frontend`, `plugin-frontend` to `frontend-plugin`, `plugin-frontend-module` to `frontend-plugin-module`, `plugin-backend` to `backend-plugin`, and `plugin-backend-module` to `backend-plugin-module`
|
|
40
|
+
|
|
41
|
+
The `backstage-cli migrate package-scripts` received several tweaks to make it more accurate. It now tries to maintain existing script arguments, like `--config` parameters for `build` and `start` scripts.
|
|
42
|
+
|
|
43
|
+
The `script` command category has been renamed to `package`.
|
|
44
|
+
|
|
45
|
+
The `backstage-cli package build` command set an incorrect target directory for `app` and `backend` packages, which has been fixed.
|
|
46
|
+
|
|
47
|
+
The `backend:bundle` and `repo build` command for the `backend` role was previously ignoring building of bundled packages that had migrated to use package roles and the standard build script, this has now been fixed.
|
|
48
|
+
|
|
49
|
+
- c6bbafb516: Updated the default [sucrase](https://github.com/alangpierce/sucrase)-based Jest transform to include source maps if the environment variable `ENABLE_SOURCE_MAPS` is non-empty. This can be used to better support editor test debugging integrations.
|
|
50
|
+
- 7410e12268: The `test` command now automatically adds `--passWithNoTests` to the Jest invocation. To revert this behavior, pass `--passWithNoTests=false` or `--no-passWithNoTests`.
|
|
51
|
+
- Updated dependencies
|
|
52
|
+
- @backstage/config-loader@0.9.4
|
|
53
|
+
- @backstage/errors@0.2.1
|
|
54
|
+
- @backstage/release-manifests@0.0.2
|
|
55
|
+
- @backstage/cli-common@0.1.7
|
|
56
|
+
- @backstage/config@0.1.14
|
|
57
|
+
- @backstage/types@0.1.2
|
|
58
|
+
|
|
59
|
+
## 0.13.2
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- bbbaa8ed61: The `plugin:diff` command no longer validates the existence of any of the files within `dev/` or `src/`.
|
|
64
|
+
- eaf67f0578: Introduced initial support for an experimental `backstage.role` field in package.json, as well as experimental and hidden `migrate` and `script` sub-commands. We do not recommend usage of any of these additions yet.
|
|
65
|
+
- aeb5c69abb: Introduces a new `--release` parameter to the `backstage-cli versions:bump` command.
|
|
66
|
+
The release can be either a specific version, for example `0.99.1`, or the latest `main` or `next` release.
|
|
67
|
+
The default behavior is to bump to the latest `main` release.
|
|
68
|
+
- d59b90852a: The experimental types build enabled by `--experimental-type-build` now runs in a separate worker thread.
|
|
69
|
+
- 50a19ff8dd: The file path printed by the default lint formatter is now relative to the repository root, rather than the individual package.
|
|
70
|
+
- 63181dee79: Tweaked frontend bundling configuration to avoid leaking declarations into global scope.
|
|
71
|
+
- fae2aee878: Removed the `import/no-duplicates` lint rule from the frontend and backend ESLint configurations. This rule is quite expensive to execute and only provides a purely cosmetic benefit, so we opted to remove it from the set of default rules. If you would like to keep this rule you can add it back in your local ESLint configuration:
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
'import/no-duplicates': 'warn'
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- b906f98119: Rather than calling `yarn pack`, the `build-workspace` and `backend-bundle` commands now move files directly whenever possible. This cuts out several `yarn` invocations and speeds the packing process up by several orders of magnitude.
|
|
78
|
+
- d0c71e2aa4: Switched the `lint` command to invoke ESLint directly through its Node.js API rather than spawning a new process.
|
|
79
|
+
- d59b90852a: Introduced an experimental and hidden `repo` sub-command, that contains commands that operate on an entire monorepo rather than individual packages.
|
|
80
|
+
- Updated dependencies
|
|
81
|
+
- @backstage/release-manifests@0.0.1
|
|
82
|
+
|
|
3
83
|
## 0.13.2-next.0
|
|
4
84
|
|
|
5
85
|
### Patch Changes
|
package/config/eslint.js
CHANGED
package/config/jest.js
CHANGED
|
@@ -102,9 +102,10 @@ async function getProjectConfig(targetPath, displayName) {
|
|
|
102
102
|
},
|
|
103
103
|
|
|
104
104
|
transform: {
|
|
105
|
-
'\\.(js|jsx|ts|tsx|mjs|cjs)$':
|
|
106
|
-
'./jestSucraseTransform.js',
|
|
107
|
-
|
|
105
|
+
'\\.(js|jsx|ts|tsx|mjs|cjs)$': [
|
|
106
|
+
require.resolve('./jestSucraseTransform.js'),
|
|
107
|
+
{ enableSourceMaps: Boolean(process.env.ENABLE_SOURCE_MAPS) },
|
|
108
|
+
],
|
|
108
109
|
'\\.(bmp|gif|jpg|jpeg|png|frag|xml|svg|eot|woff|woff2|ttf)$':
|
|
109
110
|
require.resolve('./jestFileTransform.js'),
|
|
110
111
|
'\\.(yaml)$': require.resolve('jest-transform-yaml'),
|
|
@@ -174,7 +175,10 @@ async function getRootConfig() {
|
|
|
174
175
|
// script to determine whether a given package should be tested
|
|
175
176
|
const packageData = await fs.readJson(packagePath);
|
|
176
177
|
const testScript = packageData.scripts && packageData.scripts.test;
|
|
177
|
-
|
|
178
|
+
const isSupportedTestScript =
|
|
179
|
+
testScript?.includes('backstage-cli test') ||
|
|
180
|
+
testScript?.includes('backstage-cli package test');
|
|
181
|
+
if (testScript && isSupportedTestScript) {
|
|
178
182
|
return await getProjectConfig(projectPath, packageData.name);
|
|
179
183
|
}
|
|
180
184
|
|
|
@@ -21,50 +21,71 @@ const sucrasePluginPkg = require('@sucrase/jest-plugin/package.json');
|
|
|
21
21
|
|
|
22
22
|
const ESM_REGEX = /\b(?:import|export)\b/;
|
|
23
23
|
|
|
24
|
-
function
|
|
25
|
-
|
|
24
|
+
function createTransformer(config) {
|
|
25
|
+
const process = (source, filePath) => {
|
|
26
|
+
let transforms;
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
if (filePath.endsWith('.esm.js')) {
|
|
29
|
+
transforms = ['imports'];
|
|
30
|
+
} else if (filePath.endsWith('.js')) {
|
|
31
|
+
// This is a very rough filter to avoid transforming things that we quickly
|
|
32
|
+
// can be sure are definitely not ESM modules.
|
|
33
|
+
if (ESM_REGEX.test(source)) {
|
|
34
|
+
transforms = ['imports', 'jsx']; // JSX within .js is currently allowed
|
|
35
|
+
}
|
|
36
|
+
} else if (filePath.endsWith('.jsx')) {
|
|
37
|
+
transforms = ['jsx', 'imports'];
|
|
38
|
+
} else if (filePath.endsWith('.ts')) {
|
|
39
|
+
transforms = ['typescript', 'imports'];
|
|
40
|
+
} else if (filePath.endsWith('.tsx')) {
|
|
41
|
+
transforms = ['typescript', 'jsx', 'imports'];
|
|
34
42
|
}
|
|
35
|
-
} else if (filePath.endsWith('.jsx')) {
|
|
36
|
-
transforms = ['jsx', 'imports'];
|
|
37
|
-
} else if (filePath.endsWith('.ts')) {
|
|
38
|
-
transforms = ['typescript', 'imports'];
|
|
39
|
-
} else if (filePath.endsWith('.tsx')) {
|
|
40
|
-
transforms = ['typescript', 'jsx', 'imports'];
|
|
41
|
-
}
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
// Only apply the jest transform to the test files themselves
|
|
45
|
+
if (transforms && filePath.includes('.test.')) {
|
|
46
|
+
transforms.push('jest');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (transforms) {
|
|
50
|
+
const { code, sourceMap: map } = transform(source, {
|
|
51
|
+
transforms,
|
|
52
|
+
filePath,
|
|
53
|
+
disableESTransforms: true,
|
|
54
|
+
sourceMapOptions: {
|
|
55
|
+
compiledFilename: filePath,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
if (config.enableSourceMaps) {
|
|
59
|
+
const b64 = Buffer.from(JSON.stringify(map), 'utf8').toString('base64');
|
|
60
|
+
const suffix = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${b64}`;
|
|
61
|
+
// Include both inline and object source maps, as inline source maps are
|
|
62
|
+
// needed for support of some editor integrations.
|
|
63
|
+
return { code: `${code}\n${suffix}`, map };
|
|
64
|
+
}
|
|
65
|
+
// We only return the `map` result if source maps are enabled, as they
|
|
66
|
+
// have a negative impact on the coverage accuracy.
|
|
67
|
+
return code;
|
|
68
|
+
}
|
|
47
69
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
transforms,
|
|
51
|
-
filePath,
|
|
52
|
-
disableESTransforms: true,
|
|
53
|
-
}).code;
|
|
54
|
-
}
|
|
70
|
+
return source;
|
|
71
|
+
};
|
|
55
72
|
|
|
56
|
-
|
|
57
|
-
|
|
73
|
+
// TODO: contribute something like this to @sucrase/jest-plugin
|
|
74
|
+
const getCacheKey = sourceText => {
|
|
75
|
+
return createHash('md5')
|
|
76
|
+
.update(sourceText)
|
|
77
|
+
.update(Buffer.alloc(1))
|
|
78
|
+
.update(sucrasePkg.version)
|
|
79
|
+
.update(Buffer.alloc(1))
|
|
80
|
+
.update(sucrasePluginPkg.version)
|
|
81
|
+
.update(Buffer.alloc(1))
|
|
82
|
+
.update(JSON.stringify(config))
|
|
83
|
+
.update(Buffer.alloc(1))
|
|
84
|
+
.update('1') // increment whenever the transform logic in this file changes
|
|
85
|
+
.digest('hex');
|
|
86
|
+
};
|
|
58
87
|
|
|
59
|
-
|
|
60
|
-
function getCacheKey(sourceText) {
|
|
61
|
-
return createHash('md5')
|
|
62
|
-
.update(sourceText)
|
|
63
|
-
.update(Buffer.alloc(1))
|
|
64
|
-
.update(sucrasePkg.version)
|
|
65
|
-
.update(Buffer.alloc(1))
|
|
66
|
-
.update(sucrasePluginPkg.version)
|
|
67
|
-
.digest('hex');
|
|
88
|
+
return { process, getCacheKey };
|
|
68
89
|
}
|
|
69
90
|
|
|
70
|
-
module.exports = {
|
|
91
|
+
module.exports = { createTransformer };
|
|
@@ -1,7 +1,44 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var path = require('path');
|
|
3
4
|
var getPackages = require('@manypkg/get-packages');
|
|
4
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-f4a6cd4f.cjs.js');
|
|
6
|
+
var errors = require('@backstage/errors');
|
|
7
|
+
var child_process = require('child_process');
|
|
8
|
+
var util = require('util');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
13
|
+
|
|
14
|
+
const execFile = util.promisify(child_process.execFile);
|
|
15
|
+
async function runGit(...args) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
try {
|
|
18
|
+
const { stdout } = await execFile("git", args, {
|
|
19
|
+
shell: true,
|
|
20
|
+
cwd: index.paths.targetRoot
|
|
21
|
+
});
|
|
22
|
+
return stdout.trim().split(/\r\n|\r|\n/);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
errors.assertError(error);
|
|
25
|
+
if (error.stderr || typeof error.code === "number") {
|
|
26
|
+
const stderr = (_a = error.stderr) == null ? void 0 : _a.toString("utf8");
|
|
27
|
+
const msg = (_b = stderr == null ? void 0 : stderr.trim()) != null ? _b : `with exit code ${error.code}`;
|
|
28
|
+
throw new Error(`git ${args[0]} failed, ${msg}`);
|
|
29
|
+
}
|
|
30
|
+
throw new errors.ForwardedError("Unknown execution error", error);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function listChangedFiles(ref) {
|
|
34
|
+
if (!ref) {
|
|
35
|
+
throw new Error("ref is required");
|
|
36
|
+
}
|
|
37
|
+
const [base] = await runGit("merge-base", "HEAD", ref);
|
|
38
|
+
const tracked = await runGit("diff", "--name-only", base);
|
|
39
|
+
const untracked = await runGit("ls-files", "--others", "--exclude-standard");
|
|
40
|
+
return Array.from(/* @__PURE__ */ new Set([...tracked, ...untracked]));
|
|
41
|
+
}
|
|
5
42
|
|
|
6
43
|
class PackageGraph extends Map {
|
|
7
44
|
static async listTargetPackages() {
|
|
@@ -74,7 +111,33 @@ class PackageGraph extends Map {
|
|
|
74
111
|
}
|
|
75
112
|
return targets;
|
|
76
113
|
}
|
|
114
|
+
async listChangedPackages(options) {
|
|
115
|
+
var _a, _b;
|
|
116
|
+
const changedFiles = await listChangedFiles(options.ref);
|
|
117
|
+
const dirMap = new Map(Array.from(this.values()).map((pkg) => [
|
|
118
|
+
path__default["default"].relative(index.paths.targetRoot, pkg.dir).split(path__default["default"].sep).join(path__default["default"].posix.sep) + path__default["default"].posix.sep,
|
|
119
|
+
pkg
|
|
120
|
+
]));
|
|
121
|
+
const packageDirs = Array.from(dirMap.keys());
|
|
122
|
+
const result = new Array();
|
|
123
|
+
let searchIndex = 0;
|
|
124
|
+
changedFiles.sort();
|
|
125
|
+
packageDirs.sort();
|
|
126
|
+
for (const packageDir of packageDirs) {
|
|
127
|
+
while (searchIndex < changedFiles.length && changedFiles[searchIndex] < packageDir) {
|
|
128
|
+
searchIndex += 1;
|
|
129
|
+
}
|
|
130
|
+
if ((_a = changedFiles[searchIndex]) == null ? void 0 : _a.startsWith(packageDir)) {
|
|
131
|
+
searchIndex += 1;
|
|
132
|
+
result.push(dirMap.get(packageDir));
|
|
133
|
+
while ((_b = changedFiles[searchIndex]) == null ? void 0 : _b.startsWith(packageDir)) {
|
|
134
|
+
searchIndex += 1;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
77
140
|
}
|
|
78
141
|
|
|
79
142
|
exports.PackageGraph = PackageGraph;
|
|
80
|
-
//# sourceMappingURL=PackageGraph-
|
|
143
|
+
//# sourceMappingURL=PackageGraph-452ec2ff.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var webpack = require('webpack');
|
|
4
|
-
var paths = require('./paths-
|
|
4
|
+
var paths = require('./paths-67855a60.cjs.js');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
7
|
|
|
@@ -33,4 +33,4 @@ async function serveBackend(options) {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
exports.serveBackend = serveBackend;
|
|
36
|
-
//# sourceMappingURL=backend-
|
|
36
|
+
//# sourceMappingURL=backend-f623f925.cjs.js.map
|
|
@@ -11,18 +11,18 @@ require('run-script-webpack-plugin');
|
|
|
11
11
|
require('webpack-node-externals');
|
|
12
12
|
require('@backstage/cli-common');
|
|
13
13
|
require('@manypkg/get-packages');
|
|
14
|
-
require('./paths-
|
|
14
|
+
require('./paths-67855a60.cjs.js');
|
|
15
15
|
require('mini-css-extract-plugin');
|
|
16
|
-
var index = require('./index-
|
|
17
|
-
require('./run-
|
|
16
|
+
var index = require('./index-f4a6cd4f.cjs.js');
|
|
17
|
+
require('./run-b09132d3.cjs.js');
|
|
18
18
|
require('eslint-webpack-plugin');
|
|
19
19
|
require('lodash/pickBy');
|
|
20
|
-
var bundle = require('./bundle-
|
|
20
|
+
var bundle = require('./bundle-bcefdcef.cjs.js');
|
|
21
21
|
require('webpack-dev-server');
|
|
22
22
|
require('react-dev-utils/openBrowser');
|
|
23
|
-
var parallel = require('./parallel-
|
|
24
|
-
var config = require('./config-
|
|
25
|
-
require('./svgrTemplate-
|
|
23
|
+
var parallel = require('./parallel-d8e5bcbf.cjs.js');
|
|
24
|
+
var config = require('./config-7c2e1f5a.cjs.js');
|
|
25
|
+
require('./svgrTemplate-b7a4ee52.cjs.js');
|
|
26
26
|
require('commander');
|
|
27
27
|
require('semver');
|
|
28
28
|
require('@backstage/config/package.json');
|
|
@@ -32,9 +32,11 @@ require('util');
|
|
|
32
32
|
require('yn');
|
|
33
33
|
require('react-dev-utils/FileSizeReporter');
|
|
34
34
|
require('react-dev-utils/formatWebpackMessages');
|
|
35
|
+
require('os');
|
|
36
|
+
require('worker_threads');
|
|
35
37
|
require('@backstage/config-loader');
|
|
36
38
|
require('@backstage/config');
|
|
37
|
-
require('./PackageGraph-
|
|
39
|
+
require('./PackageGraph-452ec2ff.cjs.js');
|
|
38
40
|
|
|
39
41
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
40
42
|
|
|
@@ -54,4 +56,4 @@ var build = async (cmd) => {
|
|
|
54
56
|
};
|
|
55
57
|
|
|
56
58
|
exports["default"] = build;
|
|
57
|
-
//# sourceMappingURL=build-
|
|
59
|
+
//# sourceMappingURL=build-c6587a6a.cjs.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-3c7ef6f2.cjs.js');
|
|
4
4
|
require('fs-extra');
|
|
5
5
|
require('rollup');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('path');
|
|
8
|
-
require('./index-
|
|
8
|
+
require('./index-f4a6cd4f.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
@@ -21,11 +21,12 @@ require('rollup-plugin-dts');
|
|
|
21
21
|
require('@rollup/plugin-json');
|
|
22
22
|
require('@rollup/plugin-yaml');
|
|
23
23
|
require('rollup-pluginutils');
|
|
24
|
-
require('./svgrTemplate-
|
|
24
|
+
require('./svgrTemplate-b7a4ee52.cjs.js');
|
|
25
|
+
require('./parallel-d8e5bcbf.cjs.js');
|
|
26
|
+
require('os');
|
|
25
27
|
require('worker_threads');
|
|
26
|
-
require('./packageRoles-
|
|
28
|
+
require('./packageRoles-be5cc4e7.cjs.js');
|
|
27
29
|
require('zod');
|
|
28
|
-
require('./parallel-e73a4058.cjs.js');
|
|
29
30
|
|
|
30
31
|
var build = async (cmd) => {
|
|
31
32
|
await packager.buildPackage({
|
|
@@ -36,4 +37,4 @@ var build = async (cmd) => {
|
|
|
36
37
|
};
|
|
37
38
|
|
|
38
39
|
exports["default"] = build;
|
|
39
|
-
//# sourceMappingURL=build-
|
|
40
|
+
//# sourceMappingURL=build-d22951cc.cjs.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-3c7ef6f2.cjs.js');
|
|
4
4
|
require('fs-extra');
|
|
5
5
|
require('rollup');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('path');
|
|
8
|
-
require('./index-
|
|
8
|
+
require('./index-f4a6cd4f.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
@@ -21,11 +21,12 @@ require('rollup-plugin-dts');
|
|
|
21
21
|
require('@rollup/plugin-json');
|
|
22
22
|
require('@rollup/plugin-yaml');
|
|
23
23
|
require('rollup-pluginutils');
|
|
24
|
-
require('./svgrTemplate-
|
|
24
|
+
require('./svgrTemplate-b7a4ee52.cjs.js');
|
|
25
|
+
require('./parallel-d8e5bcbf.cjs.js');
|
|
26
|
+
require('os');
|
|
25
27
|
require('worker_threads');
|
|
26
|
-
require('./packageRoles-
|
|
28
|
+
require('./packageRoles-be5cc4e7.cjs.js');
|
|
27
29
|
require('zod');
|
|
28
|
-
require('./parallel-e73a4058.cjs.js');
|
|
29
30
|
|
|
30
31
|
var build = async (cmd) => {
|
|
31
32
|
await packager.buildPackage({
|
|
@@ -36,4 +37,4 @@ var build = async (cmd) => {
|
|
|
36
37
|
};
|
|
37
38
|
|
|
38
39
|
exports["default"] = build;
|
|
39
|
-
//# sourceMappingURL=build-
|
|
40
|
+
//# sourceMappingURL=build-d555ae41.cjs.js.map
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var path = require('path');
|
|
5
|
-
var packager = require('./packager-
|
|
6
|
-
var PackageGraph = require('./PackageGraph-
|
|
7
|
-
var parallel = require('./parallel-
|
|
8
|
-
var index = require('./index-
|
|
9
|
-
var packageRoles = require('./packageRoles-
|
|
10
|
-
var buildBackend = require('./buildBackend-
|
|
5
|
+
var packager = require('./packager-3c7ef6f2.cjs.js');
|
|
6
|
+
var PackageGraph = require('./PackageGraph-452ec2ff.cjs.js');
|
|
7
|
+
var parallel = require('./parallel-d8e5bcbf.cjs.js');
|
|
8
|
+
var index = require('./index-f4a6cd4f.cjs.js');
|
|
9
|
+
var packageRoles = require('./packageRoles-be5cc4e7.cjs.js');
|
|
10
|
+
var buildBackend = require('./buildBackend-4890a3fb.cjs.js');
|
|
11
11
|
require('fs-extra');
|
|
12
12
|
require('rollup');
|
|
13
13
|
require('rollup-plugin-peer-deps-external');
|
|
@@ -20,14 +20,17 @@ require('rollup-plugin-dts');
|
|
|
20
20
|
require('@rollup/plugin-json');
|
|
21
21
|
require('@rollup/plugin-yaml');
|
|
22
22
|
require('rollup-pluginutils');
|
|
23
|
-
require('./svgrTemplate-
|
|
24
|
-
require('worker_threads');
|
|
23
|
+
require('./svgrTemplate-b7a4ee52.cjs.js');
|
|
25
24
|
require('@manypkg/get-packages');
|
|
25
|
+
require('@backstage/errors');
|
|
26
|
+
require('child_process');
|
|
27
|
+
require('util');
|
|
28
|
+
require('os');
|
|
29
|
+
require('worker_threads');
|
|
26
30
|
require('commander');
|
|
27
31
|
require('semver');
|
|
28
32
|
require('@backstage/cli-common');
|
|
29
33
|
require('@backstage/config/package.json');
|
|
30
|
-
require('@backstage/errors');
|
|
31
34
|
require('zod');
|
|
32
35
|
require('webpack');
|
|
33
36
|
require('fork-ts-checker-webpack-plugin');
|
|
@@ -35,25 +38,22 @@ require('html-webpack-plugin');
|
|
|
35
38
|
require('react-dev-utils/ModuleScopePlugin');
|
|
36
39
|
require('run-script-webpack-plugin');
|
|
37
40
|
require('webpack-node-externals');
|
|
38
|
-
require('./paths-
|
|
41
|
+
require('./paths-67855a60.cjs.js');
|
|
39
42
|
require('mini-css-extract-plugin');
|
|
40
|
-
require('./run-
|
|
41
|
-
require('child_process');
|
|
42
|
-
require('util');
|
|
43
|
+
require('./run-b09132d3.cjs.js');
|
|
43
44
|
require('eslint-webpack-plugin');
|
|
44
45
|
require('lodash/pickBy');
|
|
45
|
-
require('./bundle-
|
|
46
|
+
require('./bundle-bcefdcef.cjs.js');
|
|
46
47
|
require('yn');
|
|
47
48
|
require('react-dev-utils/FileSizeReporter');
|
|
48
49
|
require('react-dev-utils/formatWebpackMessages');
|
|
49
50
|
require('webpack-dev-server');
|
|
50
51
|
require('react-dev-utils/openBrowser');
|
|
51
|
-
require('./config-
|
|
52
|
+
require('./config-7c2e1f5a.cjs.js');
|
|
52
53
|
require('@backstage/config-loader');
|
|
53
54
|
require('@backstage/config');
|
|
54
|
-
require('os');
|
|
55
55
|
require('tar');
|
|
56
|
-
require('./createDistWorkspace-
|
|
56
|
+
require('./createDistWorkspace-7dc77457.cjs.js');
|
|
57
57
|
require('lodash/partition');
|
|
58
58
|
require('npm-packlist');
|
|
59
59
|
|
|
@@ -71,7 +71,7 @@ function createScriptOptionsParser(anyCmd, commandPath) {
|
|
|
71
71
|
targetCmd = targetCmd == null ? void 0 : targetCmd.commands.find((c) => c.name() === name);
|
|
72
72
|
}
|
|
73
73
|
if (!targetCmd) {
|
|
74
|
-
throw new Error(`Could not find
|
|
74
|
+
throw new Error(`Could not find package command '${commandPath.join(" ")}'`);
|
|
75
75
|
}
|
|
76
76
|
const cmd = targetCmd;
|
|
77
77
|
const expectedScript = `backstage-cli ${commandPath.join(" ")}`;
|
|
@@ -95,7 +95,7 @@ async function command(cmd) {
|
|
|
95
95
|
const packages = await PackageGraph.PackageGraph.listTargetPackages();
|
|
96
96
|
const apps = new Array();
|
|
97
97
|
const backends = new Array();
|
|
98
|
-
const parseBuildScript = createScriptOptionsParser(cmd, ["
|
|
98
|
+
const parseBuildScript = createScriptOptionsParser(cmd, ["package", "build"]);
|
|
99
99
|
const options = packages.flatMap((pkg) => {
|
|
100
100
|
var _a, _b, _c;
|
|
101
101
|
const role = (_b = (_a = pkg.packageJson.backstage) == null ? void 0 : _a.role) != null ? _b : packageRoles.detectRoleFromPackage(pkg.packageJson);
|
|
@@ -103,7 +103,7 @@ async function command(cmd) {
|
|
|
103
103
|
console.warn(`Ignored ${pkg.packageJson.name} because it has no role`);
|
|
104
104
|
return [];
|
|
105
105
|
}
|
|
106
|
-
if (role === "
|
|
106
|
+
if (role === "frontend") {
|
|
107
107
|
apps.push(pkg);
|
|
108
108
|
return [];
|
|
109
109
|
} else if (role === "backend") {
|
|
@@ -142,7 +142,7 @@ async function command(cmd) {
|
|
|
142
142
|
console.warn(`Ignored ${pkg.packageJson.name} because it does not have a matching build script`);
|
|
143
143
|
return;
|
|
144
144
|
}
|
|
145
|
-
await buildBackend.
|
|
145
|
+
await buildBackend.buildFrontend({
|
|
146
146
|
targetDir: pkg.dir,
|
|
147
147
|
configPaths: (_b = buildOptions.config) != null ? _b : [],
|
|
148
148
|
writeStats: Boolean(buildOptions.stats)
|
|
@@ -170,4 +170,4 @@ async function command(cmd) {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
exports.command = command;
|
|
173
|
-
//# sourceMappingURL=build-
|
|
173
|
+
//# sourceMappingURL=build-dde37a4d.cjs.js.map
|
|
@@ -11,21 +11,21 @@ require('run-script-webpack-plugin');
|
|
|
11
11
|
require('webpack-node-externals');
|
|
12
12
|
require('@backstage/cli-common');
|
|
13
13
|
require('@manypkg/get-packages');
|
|
14
|
-
require('./paths-
|
|
14
|
+
require('./paths-67855a60.cjs.js');
|
|
15
15
|
require('mini-css-extract-plugin');
|
|
16
|
-
require('./index-
|
|
17
|
-
require('./run-
|
|
16
|
+
require('./index-f4a6cd4f.cjs.js');
|
|
17
|
+
require('./run-b09132d3.cjs.js');
|
|
18
18
|
require('eslint-webpack-plugin');
|
|
19
19
|
require('lodash/pickBy');
|
|
20
|
-
var bundle = require('./bundle-
|
|
20
|
+
var bundle = require('./bundle-bcefdcef.cjs.js');
|
|
21
21
|
require('webpack-dev-server');
|
|
22
22
|
require('react-dev-utils/openBrowser');
|
|
23
|
-
var parallel = require('./parallel-
|
|
24
|
-
var config = require('./config-
|
|
23
|
+
var parallel = require('./parallel-d8e5bcbf.cjs.js');
|
|
24
|
+
var config = require('./config-7c2e1f5a.cjs.js');
|
|
25
25
|
var os = require('os');
|
|
26
26
|
var tar = require('tar');
|
|
27
|
-
var createDistWorkspace = require('./createDistWorkspace-
|
|
28
|
-
var packager = require('./packager-
|
|
27
|
+
var createDistWorkspace = require('./createDistWorkspace-7dc77457.cjs.js');
|
|
28
|
+
var packager = require('./packager-3c7ef6f2.cjs.js');
|
|
29
29
|
|
|
30
30
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
31
31
|
|
|
@@ -33,7 +33,7 @@ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
|
33
33
|
var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
|
|
34
34
|
var tar__default = /*#__PURE__*/_interopDefaultLegacy(tar);
|
|
35
35
|
|
|
36
|
-
async function
|
|
36
|
+
async function buildFrontend(options) {
|
|
37
37
|
const { targetDir, writeStats, configPaths } = options;
|
|
38
38
|
const { name } = await fs__default["default"].readJson(path.resolve(targetDir, "package.json"));
|
|
39
39
|
await bundle.buildBundle({
|
|
@@ -53,7 +53,10 @@ const SKELETON_FILE = "skeleton.tar.gz";
|
|
|
53
53
|
async function buildBackend(options) {
|
|
54
54
|
const { targetDir, skipBuildDependencies } = options;
|
|
55
55
|
const pkg = await fs__default["default"].readJson(path.resolve(targetDir, "package.json"));
|
|
56
|
-
await packager.buildPackage({
|
|
56
|
+
await packager.buildPackage({
|
|
57
|
+
targetDir: options.targetDir,
|
|
58
|
+
outputs: /* @__PURE__ */ new Set([packager.Output.cjs])
|
|
59
|
+
});
|
|
57
60
|
const tmpDir = await fs__default["default"].mkdtemp(path.resolve(os__default["default"].tmpdir(), "backstage-bundle"));
|
|
58
61
|
try {
|
|
59
62
|
await createDistWorkspace.createDistWorkspace([pkg.name], {
|
|
@@ -63,11 +66,12 @@ async function buildBackend(options) {
|
|
|
63
66
|
parallelism: parallel.getEnvironmentParallelism(),
|
|
64
67
|
skeleton: SKELETON_FILE
|
|
65
68
|
});
|
|
66
|
-
|
|
67
|
-
await fs__default["default"].
|
|
68
|
-
await fs__default["default"].
|
|
69
|
+
const distDir = path.resolve(targetDir, "dist");
|
|
70
|
+
await fs__default["default"].remove(distDir);
|
|
71
|
+
await fs__default["default"].mkdir(distDir);
|
|
72
|
+
await fs__default["default"].move(path.resolve(tmpDir, SKELETON_FILE), path.resolve(distDir, SKELETON_FILE));
|
|
69
73
|
await tar__default["default"].create({
|
|
70
|
-
file: path.resolve(
|
|
74
|
+
file: path.resolve(distDir, BUNDLE_FILE),
|
|
71
75
|
cwd: tmpDir,
|
|
72
76
|
portable: true,
|
|
73
77
|
noMtime: true,
|
|
@@ -78,6 +82,6 @@ async function buildBackend(options) {
|
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
exports.buildApp = buildApp;
|
|
82
85
|
exports.buildBackend = buildBackend;
|
|
83
|
-
|
|
86
|
+
exports.buildFrontend = buildFrontend;
|
|
87
|
+
//# sourceMappingURL=buildBackend-4890a3fb.cjs.js.map
|