@backstage/cli 0.7.15 → 0.8.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 +63 -0
- package/config/eslint.backend.js +11 -6
- package/config/jest.js +45 -16
- package/config/jestEsmTransform.js +4 -21
- package/config/jestSucraseTransform.js +66 -0
- package/dist/cjs/{build-6991f114.cjs.js → build-1cbb9e7d.cjs.js} +6 -5
- package/dist/cjs/{build-e9d00839.cjs.js → build-70dd213a.cjs.js} +4 -3
- package/dist/cjs/{build-584089b4.cjs.js → build-b25b29ed.cjs.js} +4 -3
- package/dist/cjs/{build-6303ed2c.cjs.js → build-bae5a019.cjs.js} +4 -3
- package/dist/cjs/{buildImage-40785c7b.cjs.js → buildImage-6b35526c.cjs.js} +5 -4
- package/dist/cjs/{buildWorkspace-54f31886.cjs.js → buildWorkspace-424d4929.cjs.js} +5 -4
- package/dist/cjs/{bump-f1bd882f.cjs.js → bump-bce7f9c2.cjs.js} +10 -50
- package/dist/cjs/{bundle-82c252ba.cjs.js → bundle-cc6870fb.cjs.js} +6 -5
- package/dist/cjs/{clean-d37f05f1.cjs.js → clean-7a981ea7.cjs.js} +3 -2
- package/dist/cjs/{config-25f9b58b.cjs.js → config-24fce3c1.cjs.js} +20 -5
- package/dist/cjs/{createPlugin-066b2211.cjs.js → createPlugin-2c2b30fc.cjs.js} +7 -4
- package/dist/cjs/{dev-267f8c50.cjs.js → dev-efe399b8.cjs.js} +5 -4
- package/dist/cjs/{diff-23290f53.cjs.js → diff-e3661054.cjs.js} +3 -2
- package/dist/cjs/{docs-16e1a114.cjs.js → docs-ceb404a3.cjs.js} +4 -3
- package/dist/cjs/{index-595dd01c.cjs.js → index-26bec8ac.cjs.js} +5 -6
- package/dist/cjs/{index-74ba6239.cjs.js → index-6fee1c9a.cjs.js} +159 -41
- package/dist/cjs/{index-06502eb1.cjs.js → index-fbff7b78.cjs.js} +3 -2
- package/dist/cjs/{info-60e7921f.cjs.js → info-5e7c2679.cjs.js} +4 -3
- package/dist/cjs/install-5920b5df.cjs.js +214 -0
- package/dist/cjs/{lint-30f44ea5.cjs.js → lint-306bb8fe.cjs.js} +4 -3
- package/dist/cjs/{lint-a76f6ca5.cjs.js → lint-6175d471.cjs.js} +4 -3
- package/dist/cjs/{pack-cd0b0812.cjs.js → pack-32228ad6.cjs.js} +3 -2
- package/dist/cjs/{packager-c2a87e1f.cjs.js → packager-1ad7272f.cjs.js} +2 -2
- package/dist/cjs/packages-a5b6a3df.cjs.js +50 -0
- package/dist/cjs/{paths-a0eb9f40.cjs.js → paths-09202a46.cjs.js} +8 -5
- package/dist/cjs/{print-81bff161.cjs.js → print-806676fe.cjs.js} +6 -4
- package/dist/cjs/{removePlugin-3ad49c8c.cjs.js → removePlugin-f82ac16a.cjs.js} +11 -3
- package/dist/cjs/{run-7e2d4777.cjs.js → run-59c4395e.cjs.js} +9 -4
- package/dist/cjs/{schema-48dd9498.cjs.js → schema-398d8593.cjs.js} +4 -3
- package/dist/cjs/{serve-7f18ef8d.cjs.js → serve-708fbf98.cjs.js} +8 -7
- package/dist/cjs/{serve-4d9dbf1e.cjs.js → serve-f4bb3cb0.cjs.js} +7 -6
- package/dist/cjs/{server-433545bf.cjs.js → server-107d9cc0.cjs.js} +2 -2
- package/dist/cjs/{tasks-fbc2dd76.cjs.js → tasks-9bd3e946.cjs.js} +2 -2
- package/dist/cjs/{testCommand-749220a2.cjs.js → testCommand-e32fbd45.cjs.js} +4 -3
- package/dist/cjs/{validate-5a9fa99d.cjs.js → validate-9523a11e.cjs.js} +6 -4
- package/dist/index.cjs.js +2 -1
- package/package.json +21 -22
- package/templates/default-backend-plugin/package.json.hbs +1 -1
- package/templates/default-plugin/package.json.hbs +1 -1
- package/templates/default-plugin/src/components/ExampleComponent/ExampleComponent.test.tsx.hbs +5 -2
- package/templates/default-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.test.tsx.hbs +2 -2
- package/templates/default-plugin/src/setupTests.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# @backstage/cli
|
|
2
2
|
|
|
3
|
+
## 0.8.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- dd355bca46: Switched to dynamically determining the packages that are unsafe to repack when executing the CLI within the Backstage main repo.
|
|
8
|
+
- b393c4d4be: Fixed the `config:check` command that was incorrectly only validating frontend configuration. Also added a `--frontend` flag to the command which maintains that behavior.
|
|
9
|
+
- 0611f3b3e2: Reading app config from a remote server
|
|
10
|
+
- ec64d9590c: Make `ExitCodeError` call `super` early to avoid compiler warnings
|
|
11
|
+
- 8af66229e7: Bumped `@spotify/eslint-config-react` from `v10` to `v12`, dropping support for Node.js v12.
|
|
12
|
+
- a197708da9: Bumped `@spotify/eslint-config-typescript` from `v10` to `v12`, dropping support for Node.js v12.
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
- @backstage/config-loader@0.7.2
|
|
15
|
+
|
|
16
|
+
## 0.8.1
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- f1e96dc5b1: Update usage of msw in default plugin template
|
|
21
|
+
- b0dc1fd241: bump `@spotify/eslint-config-base` from 9.0.2 to 12.0.0
|
|
22
|
+
- c5bb1df55d: Bump `msw` to `v0.35.0` to resolve [CVE-2021-32796](https://github.com/advisories/GHSA-5fg8-2547-mr8q).
|
|
23
|
+
- 10615525f3: Switch to use the json and observable types from `@backstage/types`
|
|
24
|
+
- Updated dependencies
|
|
25
|
+
- @backstage/config@0.1.11
|
|
26
|
+
- @backstage/cli-common@0.1.5
|
|
27
|
+
- @backstage/errors@0.1.4
|
|
28
|
+
- @backstage/config-loader@0.7.1
|
|
29
|
+
|
|
30
|
+
## 0.8.0
|
|
31
|
+
|
|
32
|
+
### Minor Changes
|
|
33
|
+
|
|
34
|
+
- b486adb8c6: The Jest configuration that's included with the Backstage CLI has received several changes.
|
|
35
|
+
|
|
36
|
+
As a part of migrating to more widespread usage of ESM modules, the default configuration now transforms all source files everywhere, including those within `node_modules`. Due to this change the existing `transformModules` option has been removed and will be ignored. There is also a list of known packages that do not require transforms in the CLI, which will evolve over time. If needed there will also be an option to add packages to this list in the future, but it is not included yet to avoid clutter.
|
|
37
|
+
|
|
38
|
+
To counteract the slowdown of the additional transforms that have been introduced, the default configuration has also been reworked to enable caching across different packages. Previously each package in a Backstage monorepo would have its own isolated Jest cache, but it is now shared between packages that have a similar enough Jest configuration.
|
|
39
|
+
|
|
40
|
+
Another change that will speed up test execution is that the transformer for `.esm.js` files has been switched. It used to be an ESM transformer based on Babel, but it is also done by sucrase now since it is significantly faster.
|
|
41
|
+
|
|
42
|
+
The changes above are not strictly breaking as all tests should still work. It may however cause excessive slowdowns in projects that have configured custom transforms in the `jest` field within `package.json` files. In this case it is either best to consider removing the custom transforms, or overriding the `transformIgnorePatterns` to instead use Jest's default `'/node_modules/'` pattern.
|
|
43
|
+
|
|
44
|
+
This change also removes the `@backstage/cli/config/jestEsmTransform.js` transform, which can be replaced by using the `@backstage/cli/config/sucraseEsmTransform.js` transform instead.
|
|
45
|
+
|
|
46
|
+
### Patch Changes
|
|
47
|
+
|
|
48
|
+
- 36e67d2f24: Internal updates to apply more strict checks to throw errors.
|
|
49
|
+
- Updated dependencies
|
|
50
|
+
- @backstage/config-loader@0.7.0
|
|
51
|
+
- @backstage/errors@0.1.3
|
|
52
|
+
|
|
53
|
+
## 0.7.16
|
|
54
|
+
|
|
55
|
+
### Patch Changes
|
|
56
|
+
|
|
57
|
+
- 53bdc66623: add a --from <location> option to the plugin install command
|
|
58
|
+
- 84e24fcdaf: Bump sucrase to version 3.20.2
|
|
59
|
+
- 6583c6ac40: Add semicolon in template to make prettier happy
|
|
60
|
+
- c6f927d819: Bump mini-css-extract-plugin to v2
|
|
61
|
+
- 16f044cb6b: Update default backend ESLint configuration to allow usage of `__dirname` in tests.
|
|
62
|
+
- 1ef9e64901: Add an experimental `install <plugin>` command.
|
|
63
|
+
|
|
64
|
+
Given a `pluginId`, the command looks for NPM packages matching `@backstage/plugin-{pluginId}` or `backstage-plugin-{pluginId}` or `{pluginId}`. It looks for the `experimentalInstallationRecipe` in their `package.json` for the steps of installation. Detailed documentation and API Spec to follow (and to be decided as well).
|
|
65
|
+
|
|
3
66
|
## 0.7.15
|
|
4
67
|
|
|
5
68
|
### Patch Changes
|
package/config/eslint.backend.js
CHANGED
|
@@ -14,6 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
const globalRestrictedSyntax = [
|
|
18
|
+
{
|
|
19
|
+
message:
|
|
20
|
+
'Default import from winston is not allowed, import `* as winston` instead.',
|
|
21
|
+
selector:
|
|
22
|
+
'ImportDeclaration[source.value="winston"] ImportDefaultSpecifier',
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
|
|
17
26
|
module.exports = {
|
|
18
27
|
extends: [
|
|
19
28
|
'@spotify/eslint-config-base',
|
|
@@ -69,17 +78,12 @@ module.exports = {
|
|
|
69
78
|
// Avoid default import from winston as it breaks at runtime
|
|
70
79
|
'no-restricted-syntax': [
|
|
71
80
|
'error',
|
|
72
|
-
{
|
|
73
|
-
message:
|
|
74
|
-
'Default import from winston is not allowed, import `* as winston` instead.',
|
|
75
|
-
selector:
|
|
76
|
-
'ImportDeclaration[source.value="winston"] ImportDefaultSpecifier',
|
|
77
|
-
},
|
|
78
81
|
{
|
|
79
82
|
message:
|
|
80
83
|
"`__dirname` doesn't refer to the same dir in production builds, try `resolvePackagePath()` from `@backstage/backend-common` instead.",
|
|
81
84
|
selector: 'Identifier[name="__dirname"]',
|
|
82
85
|
},
|
|
86
|
+
...globalRestrictedSyntax,
|
|
83
87
|
],
|
|
84
88
|
},
|
|
85
89
|
overrides: [
|
|
@@ -103,6 +107,7 @@ module.exports = {
|
|
|
103
107
|
bundledDependencies: true,
|
|
104
108
|
},
|
|
105
109
|
],
|
|
110
|
+
'no-restricted-syntax': ['error', ...globalRestrictedSyntax],
|
|
106
111
|
},
|
|
107
112
|
},
|
|
108
113
|
],
|
package/config/jest.js
CHANGED
|
@@ -16,9 +16,27 @@
|
|
|
16
16
|
|
|
17
17
|
const fs = require('fs-extra');
|
|
18
18
|
const path = require('path');
|
|
19
|
+
const crypto = require('crypto');
|
|
19
20
|
const glob = require('util').promisify(require('glob'));
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
const { version } = require('../package.json');
|
|
22
|
+
|
|
23
|
+
const transformIgnorePattern = [
|
|
24
|
+
'@material-ui',
|
|
25
|
+
'@rjsf',
|
|
26
|
+
'ajv',
|
|
27
|
+
'core-js',
|
|
28
|
+
'jest-.*',
|
|
29
|
+
'jsdom',
|
|
30
|
+
'knex',
|
|
31
|
+
'react',
|
|
32
|
+
'react-dom',
|
|
33
|
+
'highlight\\.js',
|
|
34
|
+
'prismjs',
|
|
35
|
+
'react-use',
|
|
36
|
+
'typescript',
|
|
37
|
+
].join('|');
|
|
38
|
+
|
|
39
|
+
async function getProjectConfig(targetPath, displayName) {
|
|
22
40
|
const configJsPath = path.resolve(targetPath, 'jest.config.js');
|
|
23
41
|
const configTsPath = path.resolve(targetPath, 'jest.config.ts');
|
|
24
42
|
// If the package has it's own jest config, we use that instead.
|
|
@@ -58,10 +76,7 @@ async function getProjectConfig(targetPath) {
|
|
|
58
76
|
currentPath = newPath;
|
|
59
77
|
}
|
|
60
78
|
|
|
61
|
-
//
|
|
62
|
-
// called `transformModules`. It's a list of modules that we want to apply
|
|
63
|
-
// our configured jest transformations for.
|
|
64
|
-
// This is useful when packages are published in untranspiled ESM or TS form.
|
|
79
|
+
// This is an old deprecated option that is no longer used.
|
|
65
80
|
const transformModules = pkgJsonConfigs
|
|
66
81
|
.flatMap(conf => {
|
|
67
82
|
const modules = conf.transformModules || [];
|
|
@@ -70,9 +85,14 @@ async function getProjectConfig(targetPath) {
|
|
|
70
85
|
})
|
|
71
86
|
.map(name => `${name}/`)
|
|
72
87
|
.join('|');
|
|
73
|
-
|
|
88
|
+
if (transformModules.length > 0) {
|
|
89
|
+
console.warn(
|
|
90
|
+
'The Backstage CLI jest transformModules option is no longer used and will be ignored. All modules are now always transformed.',
|
|
91
|
+
);
|
|
92
|
+
}
|
|
74
93
|
|
|
75
94
|
const options = {
|
|
95
|
+
...(displayName && { displayName }),
|
|
76
96
|
rootDir: path.resolve(targetPath, 'src'),
|
|
77
97
|
coverageDirectory: path.resolve(targetPath, 'coverage'),
|
|
78
98
|
collectCoverageFrom: ['**/*.{js,jsx,ts,tsx}', '!**/*.d.ts'],
|
|
@@ -81,8 +101,7 @@ async function getProjectConfig(targetPath) {
|
|
|
81
101
|
},
|
|
82
102
|
|
|
83
103
|
transform: {
|
|
84
|
-
'\\.
|
|
85
|
-
'\\.(js|jsx|ts|tsx)$': require.resolve('@sucrase/jest-plugin'),
|
|
104
|
+
'\\.(js|jsx|ts|tsx)$': require.resolve('./jestSucraseTransform.js'),
|
|
86
105
|
'\\.(bmp|gif|jpg|jpeg|png|frag|xml|svg|eot|woff|woff2|ttf)$':
|
|
87
106
|
require.resolve('./jestFileTransform.js'),
|
|
88
107
|
'\\.(yaml)$': require.resolve('jest-transform-yaml'),
|
|
@@ -91,11 +110,7 @@ async function getProjectConfig(targetPath) {
|
|
|
91
110
|
// A bit more opinionated
|
|
92
111
|
testMatch: ['**/?(*.)test.{js,jsx,mjs,ts,tsx}'],
|
|
93
112
|
|
|
94
|
-
|
|
95
|
-
// to apply the esm-transformer to .esm.js files, since that's what we use in backstage packages.
|
|
96
|
-
transformIgnorePatterns: [
|
|
97
|
-
`/node_modules/${transformModulePattern}.*\\.(?:(?<!esm\\.)js|json)$`,
|
|
98
|
-
],
|
|
113
|
+
transformIgnorePatterns: [`/node_modules/(?:${transformIgnorePattern})/`],
|
|
99
114
|
};
|
|
100
115
|
|
|
101
116
|
// Use src/setupTests.ts as the default location for configuring test env
|
|
@@ -103,7 +118,21 @@ async function getProjectConfig(targetPath) {
|
|
|
103
118
|
options.setupFilesAfterEnv = ['<rootDir>/setupTests.ts'];
|
|
104
119
|
}
|
|
105
120
|
|
|
106
|
-
|
|
121
|
+
const config = Object.assign(options, ...pkgJsonConfigs);
|
|
122
|
+
|
|
123
|
+
// The config name is a cache key that lets us share the jest cache across projects.
|
|
124
|
+
// If no explicit name was configured, generated one based on the configuration.
|
|
125
|
+
if (!config.name) {
|
|
126
|
+
const configHash = crypto
|
|
127
|
+
.createHash('md5')
|
|
128
|
+
.update(version)
|
|
129
|
+
.update(Buffer.alloc(1))
|
|
130
|
+
.update(JSON.stringify(config.transform))
|
|
131
|
+
.digest('hex');
|
|
132
|
+
config.name = `backstage_cli_${configHash}`;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return config;
|
|
107
136
|
}
|
|
108
137
|
|
|
109
138
|
// This loads the root jest config, which in turn will either refer to a single
|
|
@@ -143,7 +172,7 @@ async function getRootConfig() {
|
|
|
143
172
|
const packageData = await fs.readJson(packagePath);
|
|
144
173
|
const testScript = packageData.scripts && packageData.scripts.test;
|
|
145
174
|
if (testScript && testScript.includes('backstage-cli test')) {
|
|
146
|
-
return await getProjectConfig(projectPath);
|
|
175
|
+
return await getProjectConfig(projectPath, packageData.name);
|
|
147
176
|
}
|
|
148
177
|
|
|
149
178
|
return undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2021 The Backstage Authors
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -14,23 +14,6 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// TODO: jest is working on module support, it's possible that we can remove this in the future
|
|
21
|
-
module.exports = {
|
|
22
|
-
process(src) {
|
|
23
|
-
const result = babel.transform(src, {
|
|
24
|
-
babelrc: false,
|
|
25
|
-
compact: false,
|
|
26
|
-
plugins: [
|
|
27
|
-
// This transforms the regular ESM syntax, import and export statements
|
|
28
|
-
require.resolve('@babel/plugin-transform-modules-commonjs'),
|
|
29
|
-
// This transforms dynamic `import()`, which is not supported yet in the Node.js VM API
|
|
30
|
-
require.resolve('babel-plugin-dynamic-import-node'),
|
|
31
|
-
],
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
return result.code;
|
|
35
|
-
},
|
|
36
|
-
};
|
|
17
|
+
throw new Error(
|
|
18
|
+
'The ./jestEsmTransform.js transform has been removed, switch to using ./jestSucraseTransform.js instead',
|
|
19
|
+
);
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2021 The Backstage Authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const { createHash } = require('crypto');
|
|
18
|
+
const { transform } = require('sucrase');
|
|
19
|
+
const sucrasePkg = require('sucrase/package.json');
|
|
20
|
+
const sucrasePluginPkg = require('@sucrase/jest-plugin/package.json');
|
|
21
|
+
|
|
22
|
+
const ESM_REGEX = /\b(?:import|export)\b/;
|
|
23
|
+
|
|
24
|
+
function process(source, filePath) {
|
|
25
|
+
let transforms;
|
|
26
|
+
|
|
27
|
+
if (filePath.endsWith('.esm.js')) {
|
|
28
|
+
transforms = ['imports'];
|
|
29
|
+
} else if (filePath.endsWith('.js')) {
|
|
30
|
+
// This is a very rough filter to avoid transforming things that we quickly
|
|
31
|
+
// can be sure are definitely not ESM modules.
|
|
32
|
+
if (ESM_REGEX.test(source)) {
|
|
33
|
+
transforms = ['imports', 'jsx']; // JSX within .js is currently allowed
|
|
34
|
+
}
|
|
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
|
+
// Only apply the jest transform to the test files themselves
|
|
44
|
+
if (transforms && filePath.includes('.test.')) {
|
|
45
|
+
transforms.push('jest');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (transforms) {
|
|
49
|
+
return transform(source, { transforms, filePath }).code;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return source;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// TODO: contribute something like this to @sucrase/jest-plugin
|
|
56
|
+
function getCacheKey(sourceText) {
|
|
57
|
+
return createHash('md5')
|
|
58
|
+
.update(sourceText)
|
|
59
|
+
.update(Buffer.alloc(1))
|
|
60
|
+
.update(sucrasePkg.version)
|
|
61
|
+
.update(Buffer.alloc(1))
|
|
62
|
+
.update(sucrasePluginPkg.version)
|
|
63
|
+
.digest('hex');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
module.exports = { process, getCacheKey };
|
|
@@ -12,20 +12,21 @@ require('@backstage/cli-common');
|
|
|
12
12
|
require('terser-webpack-plugin');
|
|
13
13
|
var parallel = require('./parallel-a4714c72.cjs.js');
|
|
14
14
|
require('mini-css-extract-plugin');
|
|
15
|
-
var index = require('./index-
|
|
16
|
-
require('./run-
|
|
15
|
+
var index = require('./index-6fee1c9a.cjs.js');
|
|
16
|
+
require('./run-59c4395e.cjs.js');
|
|
17
17
|
require('lodash/pickBy');
|
|
18
18
|
var yn = require('yn');
|
|
19
19
|
var FileSizeReporter = require('react-dev-utils/FileSizeReporter');
|
|
20
20
|
var formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
|
|
21
|
-
var paths = require('./paths-
|
|
21
|
+
var paths = require('./paths-09202a46.cjs.js');
|
|
22
22
|
var chalk = require('chalk');
|
|
23
23
|
require('webpack-dev-server');
|
|
24
24
|
require('react-dev-utils/openBrowser');
|
|
25
|
-
var config = require('./config-
|
|
25
|
+
var config = require('./config-24fce3c1.cjs.js');
|
|
26
26
|
require('commander');
|
|
27
27
|
require('semver');
|
|
28
28
|
require('@backstage/config/package.json');
|
|
29
|
+
require('@backstage/errors');
|
|
29
30
|
require('child_process');
|
|
30
31
|
require('util');
|
|
31
32
|
require('./svgrTemplate-2d0d15cf.cjs.js');
|
|
@@ -135,4 +136,4 @@ var build = async (cmd) => {
|
|
|
135
136
|
};
|
|
136
137
|
|
|
137
138
|
exports.default = build;
|
|
138
|
-
//# sourceMappingURL=build-
|
|
139
|
+
//# sourceMappingURL=build-1cbb9e7d.cjs.js.map
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-1ad7272f.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-6fee1c9a.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
12
12
|
require('@backstage/config/package.json');
|
|
13
|
+
require('@backstage/errors');
|
|
13
14
|
require('rollup-plugin-peer-deps-external');
|
|
14
15
|
require('@rollup/plugin-commonjs');
|
|
15
16
|
require('@rollup/plugin-node-resolve');
|
|
@@ -29,4 +30,4 @@ var build = async () => {
|
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
exports.default = build;
|
|
32
|
-
//# sourceMappingURL=build-
|
|
33
|
+
//# sourceMappingURL=build-70dd213a.cjs.js.map
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-1ad7272f.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-6fee1c9a.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
12
12
|
require('@backstage/config/package.json');
|
|
13
|
+
require('@backstage/errors');
|
|
13
14
|
require('rollup-plugin-peer-deps-external');
|
|
14
15
|
require('@rollup/plugin-commonjs');
|
|
15
16
|
require('@rollup/plugin-node-resolve');
|
|
@@ -29,4 +30,4 @@ var build = async () => {
|
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
exports.default = build;
|
|
32
|
-
//# sourceMappingURL=build-
|
|
33
|
+
//# sourceMappingURL=build-b25b29ed.cjs.js.map
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var packager = require('./packager-
|
|
3
|
+
var packager = require('./packager-1ad7272f.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-6fee1c9a.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('semver');
|
|
11
11
|
require('@backstage/cli-common');
|
|
12
12
|
require('@backstage/config/package.json');
|
|
13
|
+
require('@backstage/errors');
|
|
13
14
|
require('rollup-plugin-peer-deps-external');
|
|
14
15
|
require('@rollup/plugin-commonjs');
|
|
15
16
|
require('@rollup/plugin-node-resolve');
|
|
@@ -40,4 +41,4 @@ var build = async (cmd) => {
|
|
|
40
41
|
};
|
|
41
42
|
|
|
42
43
|
exports.default = build;
|
|
43
|
-
//# sourceMappingURL=build-
|
|
44
|
+
//# sourceMappingURL=build-bae5a019.cjs.js.map
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
5
|
var path = require('path');
|
|
6
|
-
var index$1 = require('./index-
|
|
7
|
-
var index = require('./index-
|
|
8
|
-
var run = require('./run-
|
|
6
|
+
var index$1 = require('./index-26bec8ac.cjs.js');
|
|
7
|
+
var index = require('./index-6fee1c9a.cjs.js');
|
|
8
|
+
var run = require('./run-59c4395e.cjs.js');
|
|
9
9
|
var parallel = require('./parallel-a4714c72.cjs.js');
|
|
10
10
|
require('os');
|
|
11
11
|
require('tar');
|
|
@@ -13,6 +13,7 @@ require('commander');
|
|
|
13
13
|
require('semver');
|
|
14
14
|
require('@backstage/cli-common');
|
|
15
15
|
require('@backstage/config/package.json');
|
|
16
|
+
require('@backstage/errors');
|
|
16
17
|
require('child_process');
|
|
17
18
|
require('util');
|
|
18
19
|
|
|
@@ -73,4 +74,4 @@ async function findAppConfigs() {
|
|
|
73
74
|
}
|
|
74
75
|
|
|
75
76
|
exports.default = buildImage;
|
|
76
|
-
//# sourceMappingURL=buildImage-
|
|
77
|
+
//# sourceMappingURL=buildImage-6b35526c.cjs.js.map
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-26bec8ac.cjs.js');
|
|
5
5
|
require('path');
|
|
6
6
|
require('os');
|
|
7
7
|
require('tar');
|
|
8
|
-
require('./index-
|
|
8
|
+
require('./index-6fee1c9a.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('chalk');
|
|
11
11
|
require('semver');
|
|
12
12
|
require('@backstage/cli-common');
|
|
13
13
|
require('@backstage/config/package.json');
|
|
14
|
-
require('
|
|
14
|
+
require('@backstage/errors');
|
|
15
|
+
require('./run-59c4395e.cjs.js');
|
|
15
16
|
require('child_process');
|
|
16
17
|
require('util');
|
|
17
18
|
|
|
@@ -29,4 +30,4 @@ var buildWorkspace = async (dir, _cmd, packages) => {
|
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
exports.default = buildWorkspace;
|
|
32
|
-
//# sourceMappingURL=buildWorkspace-
|
|
33
|
+
//# sourceMappingURL=buildWorkspace-424d4929.cjs.js.map
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var chalk = require('chalk');
|
|
5
5
|
var semver = require('semver');
|
|
6
|
+
var errors = require('@backstage/errors');
|
|
6
7
|
var path = require('path');
|
|
7
|
-
var run = require('./run-
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var run = require('./run-59c4395e.cjs.js');
|
|
9
|
+
var index = require('./index-6fee1c9a.cjs.js');
|
|
9
10
|
var Lockfile = require('./Lockfile-80f0eec4.cjs.js');
|
|
10
|
-
var
|
|
11
|
+
var packages = require('./packages-a5b6a3df.cjs.js');
|
|
12
|
+
var lint = require('./lint-6175d471.cjs.js');
|
|
11
13
|
require('child_process');
|
|
12
14
|
require('util');
|
|
13
15
|
require('commander');
|
|
@@ -22,48 +24,6 @@ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
|
22
24
|
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
23
25
|
var semver__default = /*#__PURE__*/_interopDefaultLegacy(semver);
|
|
24
26
|
|
|
25
|
-
const PREFIX = "@backstage";
|
|
26
|
-
const DEP_TYPES$1 = [
|
|
27
|
-
"dependencies",
|
|
28
|
-
"devDependencies",
|
|
29
|
-
"peerDependencies",
|
|
30
|
-
"optionalDependencies"
|
|
31
|
-
];
|
|
32
|
-
async function fetchPackageInfo(name) {
|
|
33
|
-
const output = await run.runPlain("yarn", "info", "--json", name);
|
|
34
|
-
if (!output) {
|
|
35
|
-
throw new index.NotFoundError(`No package information found for package ${name}`);
|
|
36
|
-
}
|
|
37
|
-
const info = JSON.parse(output);
|
|
38
|
-
if (info.type !== "inspect") {
|
|
39
|
-
throw new Error(`Received unknown yarn info for ${name}, ${output}`);
|
|
40
|
-
}
|
|
41
|
-
return info.data;
|
|
42
|
-
}
|
|
43
|
-
async function mapDependencies(targetDir) {
|
|
44
|
-
var _a;
|
|
45
|
-
const {Project} = require("@lerna/project");
|
|
46
|
-
const project = new Project(targetDir);
|
|
47
|
-
const packages = await project.getPackages();
|
|
48
|
-
const dependencyMap = new Map();
|
|
49
|
-
for (const pkg of packages) {
|
|
50
|
-
const deps = DEP_TYPES$1.flatMap((t) => {
|
|
51
|
-
var _a2;
|
|
52
|
-
return Object.entries((_a2 = pkg.get(t)) != null ? _a2 : {});
|
|
53
|
-
});
|
|
54
|
-
for (const [name, range] of deps) {
|
|
55
|
-
if (name.startsWith(PREFIX)) {
|
|
56
|
-
dependencyMap.set(name, ((_a = dependencyMap.get(name)) != null ? _a : []).concat({
|
|
57
|
-
range,
|
|
58
|
-
name: pkg.name,
|
|
59
|
-
location: pkg.location
|
|
60
|
-
}));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return dependencyMap;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
27
|
const DEP_TYPES = [
|
|
68
28
|
"dependencies",
|
|
69
29
|
"devDependencies",
|
|
@@ -75,7 +35,7 @@ var bump = async () => {
|
|
|
75
35
|
const lockfilePath = index.paths.resolveTargetRoot("yarn.lock");
|
|
76
36
|
const lockfile = await Lockfile.Lockfile.load(lockfilePath);
|
|
77
37
|
const findTargetVersion = createVersionFinder();
|
|
78
|
-
const dependencyMap = await mapDependencies(index.paths.targetDir);
|
|
38
|
+
const dependencyMap = await packages.mapDependencies(index.paths.targetDir);
|
|
79
39
|
const versionBumps = new Map();
|
|
80
40
|
const unlocked = Array();
|
|
81
41
|
await workerThreads(16, dependencyMap.entries(), async ([name, pkgs]) => {
|
|
@@ -84,7 +44,7 @@ var bump = async () => {
|
|
|
84
44
|
try {
|
|
85
45
|
target = await findTargetVersion(name);
|
|
86
46
|
} catch (error) {
|
|
87
|
-
if (error.name === "NotFoundError") {
|
|
47
|
+
if (errors.isError(error) && error.name === "NotFoundError") {
|
|
88
48
|
console.log(`Package info not found, ignoring package ${name}`);
|
|
89
49
|
return;
|
|
90
50
|
}
|
|
@@ -114,7 +74,7 @@ var bump = async () => {
|
|
|
114
74
|
try {
|
|
115
75
|
target = await findTargetVersion(name);
|
|
116
76
|
} catch (error) {
|
|
117
|
-
if (error.name === "NotFoundError") {
|
|
77
|
+
if (errors.isError(error) && error.name === "NotFoundError") {
|
|
118
78
|
console.log(`Package info not found, ignoring package ${name}`);
|
|
119
79
|
return;
|
|
120
80
|
}
|
|
@@ -220,7 +180,7 @@ function createVersionFinder() {
|
|
|
220
180
|
return existing;
|
|
221
181
|
}
|
|
222
182
|
console.log(`Checking for updates of ${name}`);
|
|
223
|
-
const info = await fetchPackageInfo(name);
|
|
183
|
+
const info = await packages.fetchPackageInfo(name);
|
|
224
184
|
const latest = info["dist-tags"].latest;
|
|
225
185
|
if (!latest) {
|
|
226
186
|
throw new Error(`No latest version found for ${name}`);
|
|
@@ -243,4 +203,4 @@ async function workerThreads(count, items, fn) {
|
|
|
243
203
|
}
|
|
244
204
|
|
|
245
205
|
exports.default = bump;
|
|
246
|
-
//# sourceMappingURL=bump-
|
|
206
|
+
//# sourceMappingURL=bump-bce7f9c2.cjs.js.map
|
|
@@ -4,13 +4,14 @@ var os = require('os');
|
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var tar = require('tar');
|
|
7
|
-
var index$1 = require('./index-
|
|
8
|
-
var index = require('./index-
|
|
7
|
+
var index$1 = require('./index-26bec8ac.cjs.js');
|
|
8
|
+
var index = require('./index-6fee1c9a.cjs.js');
|
|
9
9
|
var parallel = require('./parallel-a4714c72.cjs.js');
|
|
10
|
-
var packager = require('./packager-
|
|
11
|
-
require('./run-
|
|
10
|
+
var packager = require('./packager-1ad7272f.cjs.js');
|
|
11
|
+
require('./run-59c4395e.cjs.js');
|
|
12
12
|
require('child_process');
|
|
13
13
|
require('util');
|
|
14
|
+
require('@backstage/errors');
|
|
14
15
|
require('commander');
|
|
15
16
|
require('chalk');
|
|
16
17
|
require('semver');
|
|
@@ -66,4 +67,4 @@ var bundle = async (cmd) => {
|
|
|
66
67
|
};
|
|
67
68
|
|
|
68
69
|
exports.default = bundle;
|
|
69
|
-
//# sourceMappingURL=bundle-
|
|
70
|
+
//# sourceMappingURL=bundle-cc6870fb.cjs.js.map
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-6fee1c9a.cjs.js');
|
|
5
5
|
require('commander');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('semver');
|
|
8
8
|
require('@backstage/cli-common');
|
|
9
9
|
require('@backstage/config/package.json');
|
|
10
|
+
require('@backstage/errors');
|
|
10
11
|
|
|
11
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
13
|
|
|
@@ -19,4 +20,4 @@ async function clean() {
|
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
exports.default = clean;
|
|
22
|
-
//# sourceMappingURL=clean-
|
|
23
|
+
//# sourceMappingURL=clean-7a981ea7.cjs.js.map
|