@backstage/cli 0.18.0 → 0.18.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 +23 -0
- package/config/eslint-factory.js +1 -1
- package/dist/cjs/{Lockfile-48dc675e.cjs.js → Lockfile-72b7072e.cjs.js} +25 -9
- package/dist/cjs/{PackageGraph-1d7b086a.cjs.js → PackageGraph-7ea22294.cjs.js} +17 -9
- package/dist/cjs/{build-52ba70a2.cjs.js → build-688edcd3.cjs.js} +26 -15
- package/dist/cjs/{buildBackend-55985c84.cjs.js → buildBackend-ac6c633b.cjs.js} +61 -36
- package/dist/cjs/{buildWorkspace-d663903d.cjs.js → buildWorkspace-76f958f0.cjs.js} +7 -7
- package/dist/cjs/{bump-1a3769e9.cjs.js → bump-db89c0f3.cjs.js} +88 -33
- package/dist/cjs/{clean-9a8c294a.cjs.js → clean-68c34bfd.cjs.js} +2 -2
- package/dist/cjs/{config-de1bf46a.cjs.js → config-9d64a562.cjs.js} +15 -11
- package/dist/cjs/{create-b0ca2add.cjs.js → create-94a20b19.cjs.js} +80 -32
- package/dist/cjs/{createDistWorkspace-fc94c796.cjs.js → createDistWorkspace-0412df70.cjs.js} +137 -65
- package/dist/cjs/{createPlugin-4d7e1b01.cjs.js → createPlugin-02079f81.cjs.js} +69 -30
- package/dist/cjs/{diff-a561bee3.cjs.js → diff-f68eaf29.cjs.js} +68 -16
- package/dist/cjs/{docs-bd70b38e.cjs.js → docs-1527b730.cjs.js} +9 -5
- package/dist/cjs/{fix-47eb8dc4.cjs.js → fix-56a6d092.cjs.js} +17 -7
- package/dist/cjs/{index-27d57881.cjs.js → index-025feb83.cjs.js} +10 -10
- package/dist/cjs/{index-bb24147b.cjs.js → index-16fe1d27.cjs.js} +39 -12
- package/dist/cjs/{index-4f4a8498.cjs.js → index-4f8f2562.cjs.js} +58 -38
- package/dist/cjs/{index-7e13cc9d.cjs.js → index-b7ce30d9.cjs.js} +151 -50
- package/dist/cjs/{info-29f0ee36.cjs.js → info-88431720.cjs.js} +20 -6
- package/dist/cjs/{install-fea0e3f5.cjs.js → install-4d423030.cjs.js} +44 -17
- package/dist/cjs/{lint-0db8937c.cjs.js → lint-2fd53d5f.cjs.js} +4 -4
- package/dist/cjs/{lint-81a75364.cjs.js → lint-bd7b9e13.cjs.js} +37 -11
- package/dist/cjs/{lint-1711bbbb.cjs.js → lint-da011116.cjs.js} +5 -3
- package/dist/cjs/{list-deprecations-cea8fad3.cjs.js → list-deprecations-268e1d6b.cjs.js} +3 -3
- package/dist/cjs/{pack-8ab429c0.cjs.js → pack-ce12d4b7.cjs.js} +17 -11
- package/dist/cjs/packageLintConfigs-9f3b0766.cjs.js +83 -0
- package/dist/cjs/packageRole-582e0558.cjs.js +59 -0
- package/dist/cjs/{packageRoles-a310f84c.cjs.js → packageRoles-fec3121b.cjs.js} +5 -3
- package/dist/cjs/packageScripts-04ac9bc2.cjs.js +98 -0
- package/dist/cjs/{packages-ea5c38ec.cjs.js → packages-24759dcb.cjs.js} +17 -12
- package/dist/cjs/parallel-a8f6219c.cjs.js +187 -0
- package/dist/cjs/{paths-d98c9d0c.cjs.js → paths-13d8625f.cjs.js} +102 -57
- package/dist/cjs/{print-4cbe70e7.cjs.js → print-58fe18ba.cjs.js} +4 -4
- package/dist/cjs/{run-5e05ba2c.cjs.js → run-f4586ef6.cjs.js} +2 -2
- package/dist/cjs/{schema-2c842cbe.cjs.js → schema-65c31be1.cjs.js} +9 -5
- package/dist/cjs/{tasks-b054c9ce.cjs.js → tasks-16da761b.cjs.js} +29 -12
- package/dist/cjs/{test-b5969f53.cjs.js → test-464a46fe.cjs.js} +3 -3
- package/dist/cjs/{validate-8a03d402.cjs.js → validate-3231ba7d.cjs.js} +4 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +12 -12
- package/dist/cjs/packageLintConfigs-77b71b79.cjs.js +0 -74
- package/dist/cjs/packageRole-d1e7c7d6.cjs.js +0 -53
- package/dist/cjs/packageScripts-6731503e.cjs.js +0 -96
- package/dist/cjs/parallel-8286d3fa.cjs.js +0 -171
|
@@ -7,7 +7,7 @@ var path = require('path');
|
|
|
7
7
|
var inquirer = require('inquirer');
|
|
8
8
|
var handlebars = require('handlebars');
|
|
9
9
|
var recursive = require('recursive-readdir');
|
|
10
|
-
var index = require('./index-
|
|
10
|
+
var index = require('./index-b7ce30d9.cjs.js');
|
|
11
11
|
require('commander');
|
|
12
12
|
require('semver');
|
|
13
13
|
require('@backstage/cli-common');
|
|
@@ -44,7 +44,13 @@ class PackageJsonHandler {
|
|
|
44
44
|
}
|
|
45
45
|
const pkg = JSON.parse(templateContents);
|
|
46
46
|
const targetPkg = JSON.parse(targetContents);
|
|
47
|
-
const handler = new PackageJsonHandler(
|
|
47
|
+
const handler = new PackageJsonHandler(
|
|
48
|
+
write,
|
|
49
|
+
prompt,
|
|
50
|
+
pkg,
|
|
51
|
+
targetPkg,
|
|
52
|
+
variant
|
|
53
|
+
);
|
|
48
54
|
await handler.handle();
|
|
49
55
|
}
|
|
50
56
|
static async appHandler(file, prompt) {
|
|
@@ -65,7 +71,9 @@ class PackageJsonHandler {
|
|
|
65
71
|
await this.syncReactDeps();
|
|
66
72
|
}
|
|
67
73
|
async syncField(fieldName, obj = this.pkg, targetObj = this.targetPkg, prefix, sort, optional) {
|
|
68
|
-
const fullFieldName = chalk__default["default"].cyan(
|
|
74
|
+
const fullFieldName = chalk__default["default"].cyan(
|
|
75
|
+
prefix ? `${prefix}[${fieldName}]` : fieldName
|
|
76
|
+
);
|
|
69
77
|
const newValue = obj[fieldName];
|
|
70
78
|
const coloredNewValue = chalk__default["default"].cyan(JSON.stringify(newValue));
|
|
71
79
|
if (fieldName in targetObj) {
|
|
@@ -83,7 +91,9 @@ class PackageJsonHandler {
|
|
|
83
91
|
await this.write();
|
|
84
92
|
}
|
|
85
93
|
} else if (fieldName in obj && optional !== true) {
|
|
86
|
-
if (await this.prompt(
|
|
94
|
+
if (await this.prompt(
|
|
95
|
+
`package.json is missing field ${fullFieldName}, set to ${coloredNewValue}?`
|
|
96
|
+
)) {
|
|
87
97
|
targetObj[fieldName] = newValue;
|
|
88
98
|
if (sort) {
|
|
89
99
|
sortObjectKeys(targetObj);
|
|
@@ -97,7 +107,11 @@ class PackageJsonHandler {
|
|
|
97
107
|
const hasSchemaFile = typeof configSchema === "string";
|
|
98
108
|
if (!this.targetPkg.files) {
|
|
99
109
|
const expected = hasSchemaFile ? ["dist", configSchema] : ["dist"];
|
|
100
|
-
if (await this.prompt(
|
|
110
|
+
if (await this.prompt(
|
|
111
|
+
`package.json is missing field "files", set to ${JSON.stringify(
|
|
112
|
+
expected
|
|
113
|
+
)}?`
|
|
114
|
+
)) {
|
|
101
115
|
this.targetPkg.files = expected;
|
|
102
116
|
await this.write();
|
|
103
117
|
}
|
|
@@ -110,7 +124,11 @@ class PackageJsonHandler {
|
|
|
110
124
|
missing.push(configSchema);
|
|
111
125
|
}
|
|
112
126
|
if (missing.length) {
|
|
113
|
-
if (await this.prompt(
|
|
127
|
+
if (await this.prompt(
|
|
128
|
+
`package.json is missing ${JSON.stringify(
|
|
129
|
+
missing
|
|
130
|
+
)} in the "files" field, add?`
|
|
131
|
+
)) {
|
|
114
132
|
this.targetPkg.files.push(...missing);
|
|
115
133
|
await this.write();
|
|
116
134
|
}
|
|
@@ -123,7 +141,9 @@ class PackageJsonHandler {
|
|
|
123
141
|
if (!pkgScripts) {
|
|
124
142
|
return;
|
|
125
143
|
}
|
|
126
|
-
const hasNewScript = Object.values(targetScripts).some(
|
|
144
|
+
const hasNewScript = Object.values(targetScripts).some(
|
|
145
|
+
(script) => String(script).includes("backstage-cli package ")
|
|
146
|
+
);
|
|
127
147
|
if (hasNewScript) {
|
|
128
148
|
return;
|
|
129
149
|
}
|
|
@@ -146,7 +166,12 @@ class PackageJsonHandler {
|
|
|
146
166
|
}
|
|
147
167
|
for (const key of Object.keys(pkgPublishConf)) {
|
|
148
168
|
if (!["access", "registry"].includes(key)) {
|
|
149
|
-
await this.syncField(
|
|
169
|
+
await this.syncField(
|
|
170
|
+
key,
|
|
171
|
+
pkgPublishConf,
|
|
172
|
+
targetPublishConf,
|
|
173
|
+
"publishConfig"
|
|
174
|
+
);
|
|
150
175
|
}
|
|
151
176
|
}
|
|
152
177
|
}
|
|
@@ -157,12 +182,25 @@ class PackageJsonHandler {
|
|
|
157
182
|
return;
|
|
158
183
|
}
|
|
159
184
|
await this.syncField("@backstage/core", {}, targetDeps, fieldName, true);
|
|
160
|
-
await this.syncField(
|
|
185
|
+
await this.syncField(
|
|
186
|
+
"@backstage/core-api",
|
|
187
|
+
{},
|
|
188
|
+
targetDeps,
|
|
189
|
+
fieldName,
|
|
190
|
+
true
|
|
191
|
+
);
|
|
161
192
|
for (const key of Object.keys(pkgDeps)) {
|
|
162
193
|
if (this.variant === "app" && key.startsWith("plugin-")) {
|
|
163
194
|
continue;
|
|
164
195
|
}
|
|
165
|
-
await this.syncField(
|
|
196
|
+
await this.syncField(
|
|
197
|
+
key,
|
|
198
|
+
pkgDeps,
|
|
199
|
+
targetDeps,
|
|
200
|
+
fieldName,
|
|
201
|
+
true,
|
|
202
|
+
!required
|
|
203
|
+
);
|
|
166
204
|
}
|
|
167
205
|
}
|
|
168
206
|
async syncReactDeps() {
|
|
@@ -197,7 +235,9 @@ async function exactMatchHandler({ path, write, missing, targetContents, templat
|
|
|
197
235
|
process.stdout.write(` ${diff.value}`);
|
|
198
236
|
}
|
|
199
237
|
}
|
|
200
|
-
if (await prompt(
|
|
238
|
+
if (await prompt(
|
|
239
|
+
`Outdated ${coloredPath}, do you want to apply the above patch?`
|
|
240
|
+
)) {
|
|
201
241
|
await write(templateContents);
|
|
202
242
|
}
|
|
203
243
|
}
|
|
@@ -224,7 +264,11 @@ const handlers = {
|
|
|
224
264
|
async function handleAllFiles(fileHandlers, files, promptFunc) {
|
|
225
265
|
for (const file of files) {
|
|
226
266
|
const path$1 = file.path.split(path.sep).join(path.posix.sep);
|
|
227
|
-
const fileHandler = fileHandlers.find(
|
|
267
|
+
const fileHandler = fileHandlers.find(
|
|
268
|
+
(handler) => handler.patterns.some(
|
|
269
|
+
(pattern) => typeof pattern === "string" ? pattern === path$1 : pattern.test(path$1)
|
|
270
|
+
)
|
|
271
|
+
);
|
|
228
272
|
if (fileHandler) {
|
|
229
273
|
await fileHandler.handler(file, promptFunc);
|
|
230
274
|
} else {
|
|
@@ -250,7 +294,9 @@ const makeCheckPromptFunc = () => {
|
|
|
250
294
|
};
|
|
251
295
|
const finalize = () => {
|
|
252
296
|
if (failed) {
|
|
253
|
-
throw new Error(
|
|
297
|
+
throw new Error(
|
|
298
|
+
"Check failed, the plugin is not in sync with the latest template"
|
|
299
|
+
);
|
|
254
300
|
}
|
|
255
301
|
};
|
|
256
302
|
return [promptFunc, finalize];
|
|
@@ -269,7 +315,10 @@ async function readTemplateFile(templateFile, templateVars) {
|
|
|
269
315
|
return handlebars__default["default"].compile(contents)(templateVars, {
|
|
270
316
|
helpers: {
|
|
271
317
|
versionQuery(name, hint) {
|
|
272
|
-
return packageVersionProvider(
|
|
318
|
+
return packageVersionProvider(
|
|
319
|
+
name,
|
|
320
|
+
typeof hint === "string" ? hint : void 0
|
|
321
|
+
);
|
|
273
322
|
}
|
|
274
323
|
}
|
|
275
324
|
});
|
|
@@ -370,7 +419,10 @@ async function readPluginData() {
|
|
|
370
419
|
} catch (error) {
|
|
371
420
|
throw new Error(`Failed to read target package, ${error}`);
|
|
372
421
|
}
|
|
373
|
-
const pluginTsContents = await fs__default["default"].readFile(
|
|
422
|
+
const pluginTsContents = await fs__default["default"].readFile(
|
|
423
|
+
index.paths.resolveTarget("src/plugin.ts"),
|
|
424
|
+
"utf8"
|
|
425
|
+
);
|
|
374
426
|
const pluginIdMatch = pluginTsContents.match(/id: ['"`](.+?)['"`]/);
|
|
375
427
|
if (!pluginIdMatch) {
|
|
376
428
|
throw new Error(`Failed to parse plugin.ts, no plugin ID found`);
|
|
@@ -380,4 +432,4 @@ async function readPluginData() {
|
|
|
380
432
|
}
|
|
381
433
|
|
|
382
434
|
exports["default"] = diff;
|
|
383
|
-
//# sourceMappingURL=diff-
|
|
435
|
+
//# sourceMappingURL=diff-f68eaf29.cjs.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var configLoader = require('@backstage/config-loader');
|
|
4
4
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
5
|
-
var config = require('./config-
|
|
5
|
+
var config = require('./config-9d64a562.cjs.js');
|
|
6
6
|
require('@backstage/config');
|
|
7
|
-
require('./index-
|
|
7
|
+
require('./index-b7ce30d9.cjs.js');
|
|
8
8
|
require('commander');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('fs-extra');
|
|
@@ -12,7 +12,7 @@ require('semver');
|
|
|
12
12
|
require('@backstage/cli-common');
|
|
13
13
|
require('@backstage/errors');
|
|
14
14
|
require('@manypkg/get-packages');
|
|
15
|
-
require('./PackageGraph-
|
|
15
|
+
require('./PackageGraph-7ea22294.cjs.js');
|
|
16
16
|
require('path');
|
|
17
17
|
require('child_process');
|
|
18
18
|
require('util');
|
|
@@ -28,9 +28,13 @@ var docs = async (opts) => {
|
|
|
28
28
|
fromPackage: opts.package,
|
|
29
29
|
mockEnv: true
|
|
30
30
|
});
|
|
31
|
-
const schema = configLoader.mergeConfigSchemas(
|
|
31
|
+
const schema = configLoader.mergeConfigSchemas(
|
|
32
|
+
appSchemas.serialize().schemas.map(
|
|
33
|
+
(_) => _.value
|
|
34
|
+
)
|
|
35
|
+
);
|
|
32
36
|
openBrowser__default["default"](`${DOCS_URL}#schema=${JSON.stringify(schema)}`);
|
|
33
37
|
};
|
|
34
38
|
|
|
35
39
|
exports["default"] = docs;
|
|
36
|
-
//# sourceMappingURL=docs-
|
|
40
|
+
//# sourceMappingURL=docs-1527b730.cjs.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-b7ce30d9.cjs.js');
|
|
4
4
|
var eslint = require('eslint');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var fs = require('fs-extra');
|
|
7
7
|
var cliCommon = require('@backstage/cli-common');
|
|
8
|
-
var PackageGraph = require('./PackageGraph-
|
|
8
|
+
var PackageGraph = require('./PackageGraph-7ea22294.cjs.js');
|
|
9
9
|
require('commander');
|
|
10
10
|
require('chalk');
|
|
11
11
|
require('semver');
|
|
@@ -29,10 +29,14 @@ async function command() {
|
|
|
29
29
|
const pkgJsonPath = index.paths.resolveTarget("package.json");
|
|
30
30
|
const pkg = await fs__default["default"].readJson(pkgJsonPath);
|
|
31
31
|
if (pkg.workspaces) {
|
|
32
|
-
throw new Error(
|
|
32
|
+
throw new Error(
|
|
33
|
+
"Adding dependencies to the workspace root is not supported"
|
|
34
|
+
);
|
|
33
35
|
}
|
|
34
36
|
const packages = await PackageGraph.PackageGraph.listTargetPackages();
|
|
35
|
-
const localPackageVersions = new Map(
|
|
37
|
+
const localPackageVersions = new Map(
|
|
38
|
+
packages.map((p) => [p.packageJson.name, p.packageJson.version])
|
|
39
|
+
);
|
|
36
40
|
const eslint$1 = new eslint.ESLint({
|
|
37
41
|
cwd: index.paths.targetDir,
|
|
38
42
|
overrideConfig: {
|
|
@@ -103,14 +107,20 @@ async function command() {
|
|
|
103
107
|
delete pkg.devDependencies;
|
|
104
108
|
}
|
|
105
109
|
if (pkg.dependencies) {
|
|
106
|
-
pkg.dependencies = Object.fromEntries(
|
|
110
|
+
pkg.dependencies = Object.fromEntries(
|
|
111
|
+
Object.entries(pkg.dependencies).sort(([a], [b]) => a.localeCompare(b))
|
|
112
|
+
);
|
|
107
113
|
}
|
|
108
114
|
if (pkg.devDependencies) {
|
|
109
|
-
pkg.devDependencies = Object.fromEntries(
|
|
115
|
+
pkg.devDependencies = Object.fromEntries(
|
|
116
|
+
Object.entries(pkg.devDependencies).sort(
|
|
117
|
+
([a], [b]) => a.localeCompare(b)
|
|
118
|
+
)
|
|
119
|
+
);
|
|
110
120
|
}
|
|
111
121
|
await fs__default["default"].writeJson(pkgJsonPath, pkg, { spaces: 2 });
|
|
112
122
|
}
|
|
113
123
|
}
|
|
114
124
|
|
|
115
125
|
exports.command = command;
|
|
116
|
-
//# sourceMappingURL=fix-
|
|
126
|
+
//# sourceMappingURL=fix-56a6d092.cjs.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var createDistWorkspace = require('./createDistWorkspace-
|
|
4
|
-
var packageRoles = require('./packageRoles-
|
|
5
|
-
var index = require('./index-
|
|
6
|
-
var buildBackend = require('./buildBackend-
|
|
3
|
+
var createDistWorkspace = require('./createDistWorkspace-0412df70.cjs.js');
|
|
4
|
+
var packageRoles = require('./packageRoles-fec3121b.cjs.js');
|
|
5
|
+
var index = require('./index-b7ce30d9.cjs.js');
|
|
6
|
+
var buildBackend = require('./buildBackend-ac6c633b.cjs.js');
|
|
7
7
|
require('chalk');
|
|
8
8
|
require('fs-extra');
|
|
9
9
|
require('path');
|
|
10
10
|
require('os');
|
|
11
11
|
require('tar');
|
|
12
12
|
require('lodash/partition');
|
|
13
|
-
require('./run-
|
|
13
|
+
require('./run-f4586ef6.cjs.js');
|
|
14
14
|
require('child_process');
|
|
15
15
|
require('util');
|
|
16
16
|
require('@backstage/errors');
|
|
17
|
-
require('./PackageGraph-
|
|
17
|
+
require('./PackageGraph-7ea22294.cjs.js');
|
|
18
18
|
require('@manypkg/get-packages');
|
|
19
19
|
require('rollup');
|
|
20
20
|
require('@rollup/plugin-commonjs');
|
|
@@ -27,7 +27,7 @@ require('@rollup/plugin-json');
|
|
|
27
27
|
require('@rollup/plugin-yaml');
|
|
28
28
|
require('rollup-pluginutils');
|
|
29
29
|
require('./svgrTemplate-550efce6.cjs.js');
|
|
30
|
-
require('./parallel-
|
|
30
|
+
require('./parallel-a8f6219c.cjs.js');
|
|
31
31
|
require('worker_threads');
|
|
32
32
|
require('npm-packlist');
|
|
33
33
|
require('zod');
|
|
@@ -40,7 +40,7 @@ require('html-webpack-plugin');
|
|
|
40
40
|
require('react-dev-utils/ModuleScopePlugin');
|
|
41
41
|
require('run-script-webpack-plugin');
|
|
42
42
|
require('webpack-node-externals');
|
|
43
|
-
require('./paths-
|
|
43
|
+
require('./paths-13d8625f.cjs.js');
|
|
44
44
|
require('mini-css-extract-plugin');
|
|
45
45
|
require('eslint-webpack-plugin');
|
|
46
46
|
require('lodash/pickBy');
|
|
@@ -49,7 +49,7 @@ require('react-dev-utils/FileSizeReporter');
|
|
|
49
49
|
require('react-dev-utils/formatWebpackMessages');
|
|
50
50
|
require('webpack-dev-server');
|
|
51
51
|
require('react-dev-utils/openBrowser');
|
|
52
|
-
require('./config-
|
|
52
|
+
require('./config-9d64a562.cjs.js');
|
|
53
53
|
require('@backstage/config-loader');
|
|
54
54
|
require('@backstage/config');
|
|
55
55
|
|
|
@@ -87,4 +87,4 @@ async function command(opts) {
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
exports.command = command;
|
|
90
|
-
//# sourceMappingURL=index-
|
|
90
|
+
//# sourceMappingURL=index-025feb83.cjs.js.map
|
|
@@ -4,7 +4,7 @@ var fs = require('fs-extra');
|
|
|
4
4
|
var chalk = require('chalk');
|
|
5
5
|
var yaml = require('yaml');
|
|
6
6
|
var inquirer = require('inquirer');
|
|
7
|
-
var index$1 = require('./index-
|
|
7
|
+
var index$1 = require('./index-b7ce30d9.cjs.js');
|
|
8
8
|
var crypto = require('crypto');
|
|
9
9
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
10
10
|
var request = require('@octokit/request');
|
|
@@ -89,7 +89,11 @@ class GithubCreateAppServer {
|
|
|
89
89
|
app.get("/", this.formHandler);
|
|
90
90
|
const callPromise = new Promise((resolve, reject) => {
|
|
91
91
|
app.get("/callback", (req, res) => {
|
|
92
|
-
request.request(
|
|
92
|
+
request.request(
|
|
93
|
+
`POST /app-manifests/${encodeURIComponent(
|
|
94
|
+
req.query.code
|
|
95
|
+
)}/conversions`
|
|
96
|
+
).then(({ data }) => {
|
|
93
97
|
resolve({
|
|
94
98
|
name: data.name,
|
|
95
99
|
slug: data.slug,
|
|
@@ -159,40 +163,63 @@ var index = async (org) => {
|
|
|
159
163
|
${yaml.stringify(config)}`;
|
|
160
164
|
await fs__default["default"].writeFile(index$1.paths.resolveTargetRoot(fileName), content);
|
|
161
165
|
console.log(`GitHub App configuration written to ${chalk__default["default"].cyan(fileName)}`);
|
|
162
|
-
console.log(
|
|
163
|
-
|
|
164
|
-
|
|
166
|
+
console.log(
|
|
167
|
+
chalk__default["default"].yellow(
|
|
168
|
+
"This file contains sensitive credentials, it should not be committed to version control and handled with care!"
|
|
169
|
+
)
|
|
170
|
+
);
|
|
171
|
+
console.log(
|
|
172
|
+
"Here's an example on how to update the integrations section in app-config.yaml"
|
|
173
|
+
);
|
|
174
|
+
console.log(
|
|
175
|
+
chalk__default["default"].green(`
|
|
165
176
|
integrations:
|
|
166
177
|
github:
|
|
167
178
|
- host: github.com
|
|
168
179
|
apps:
|
|
169
|
-
- $include: ${fileName}`)
|
|
180
|
+
- $include: ${fileName}`)
|
|
181
|
+
);
|
|
170
182
|
};
|
|
171
183
|
async function verifyGithubOrg(org) {
|
|
172
184
|
let response;
|
|
173
185
|
try {
|
|
174
|
-
response = await fetch__default["default"](
|
|
186
|
+
response = await fetch__default["default"](
|
|
187
|
+
`https://api.github.com/orgs/${encodeURIComponent(org)}`
|
|
188
|
+
);
|
|
175
189
|
} catch (e) {
|
|
176
|
-
console.log(
|
|
190
|
+
console.log(
|
|
191
|
+
chalk__default["default"].yellow(
|
|
192
|
+
"Warning: Unable to verify existence of GitHub organization. ",
|
|
193
|
+
e
|
|
194
|
+
)
|
|
195
|
+
);
|
|
177
196
|
}
|
|
178
197
|
if ((response == null ? void 0 : response.status) === 404) {
|
|
179
198
|
const questions = [
|
|
180
199
|
{
|
|
181
200
|
type: "confirm",
|
|
182
201
|
name: "shouldCreateOrg",
|
|
183
|
-
message: `GitHub organization ${chalk__default["default"].cyan(
|
|
202
|
+
message: `GitHub organization ${chalk__default["default"].cyan(
|
|
203
|
+
org
|
|
204
|
+
)} does not exist. Would you like to create a new Organization instead?`
|
|
184
205
|
}
|
|
185
206
|
];
|
|
186
207
|
const answers = await inquirer__default["default"].prompt(questions);
|
|
187
208
|
if (!answers.shouldCreateOrg) {
|
|
188
|
-
console.log(
|
|
209
|
+
console.log(
|
|
210
|
+
chalk__default["default"].yellow("GitHub organization must exist to create GitHub app")
|
|
211
|
+
);
|
|
189
212
|
process.exit(1);
|
|
190
213
|
}
|
|
191
214
|
openBrowser__default["default"]("https://github.com/account/organizations/new");
|
|
192
|
-
console.log(
|
|
215
|
+
console.log(
|
|
216
|
+
chalk__default["default"].yellow(
|
|
217
|
+
"Please re-run this command when you have created your new organization"
|
|
218
|
+
)
|
|
219
|
+
);
|
|
193
220
|
process.exit(0);
|
|
194
221
|
}
|
|
195
222
|
}
|
|
196
223
|
|
|
197
224
|
exports["default"] = index;
|
|
198
|
-
//# sourceMappingURL=index-
|
|
225
|
+
//# sourceMappingURL=index-16fe1d27.cjs.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-b7ce30d9.cjs.js');
|
|
5
5
|
var webpack = require('webpack');
|
|
6
|
-
var paths = require('./paths-
|
|
6
|
+
var paths = require('./paths-13d8625f.cjs.js');
|
|
7
7
|
require('yn');
|
|
8
8
|
require('path');
|
|
9
9
|
require('react-dev-utils/FileSizeReporter');
|
|
@@ -16,18 +16,18 @@ require('webpack-node-externals');
|
|
|
16
16
|
require('@backstage/cli-common');
|
|
17
17
|
require('@manypkg/get-packages');
|
|
18
18
|
require('mini-css-extract-plugin');
|
|
19
|
-
require('./run-
|
|
19
|
+
require('./run-f4586ef6.cjs.js');
|
|
20
20
|
require('eslint-webpack-plugin');
|
|
21
21
|
require('lodash/pickBy');
|
|
22
22
|
var chalk = require('chalk');
|
|
23
23
|
var WebpackDevServer = require('webpack-dev-server');
|
|
24
24
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
25
25
|
var uniq = require('lodash/uniq');
|
|
26
|
-
var config = require('./config-
|
|
27
|
-
var Lockfile = require('./Lockfile-
|
|
26
|
+
var config = require('./config-9d64a562.cjs.js');
|
|
27
|
+
var Lockfile = require('./Lockfile-72b7072e.cjs.js');
|
|
28
28
|
require('minimatch');
|
|
29
|
-
var lint = require('./lint-
|
|
30
|
-
var packageRoles = require('./packageRoles-
|
|
29
|
+
var lint = require('./lint-bd7b9e13.cjs.js');
|
|
30
|
+
var packageRoles = require('./packageRoles-fec3121b.cjs.js');
|
|
31
31
|
require('commander');
|
|
32
32
|
require('semver');
|
|
33
33
|
require('@backstage/errors');
|
|
@@ -36,7 +36,7 @@ require('child_process');
|
|
|
36
36
|
require('util');
|
|
37
37
|
require('@backstage/config-loader');
|
|
38
38
|
require('@backstage/config');
|
|
39
|
-
require('./PackageGraph-
|
|
39
|
+
require('./PackageGraph-7ea22294.cjs.js');
|
|
40
40
|
require('@yarnpkg/parsers');
|
|
41
41
|
require('@yarnpkg/lockfile');
|
|
42
42
|
require('lodash/partition');
|
|
@@ -57,6 +57,7 @@ async function serveBackend(options) {
|
|
|
57
57
|
...options,
|
|
58
58
|
isDev: true
|
|
59
59
|
});
|
|
60
|
+
process.env.NODE_ENV = "development";
|
|
60
61
|
const compiler = webpack__default["default"](config, (err) => {
|
|
61
62
|
if (err) {
|
|
62
63
|
console.error(err);
|
|
@@ -89,28 +90,31 @@ async function serveBundle(options) {
|
|
|
89
90
|
baseUrl: url
|
|
90
91
|
});
|
|
91
92
|
const compiler = webpack__default["default"](config);
|
|
92
|
-
const server = new WebpackDevServer__default["default"](
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
93
|
+
const server = new WebpackDevServer__default["default"](
|
|
94
|
+
{
|
|
95
|
+
hot: !process.env.CI,
|
|
96
|
+
devMiddleware: {
|
|
97
|
+
publicPath: (_a = config.output) == null ? void 0 : _a.publicPath,
|
|
98
|
+
stats: "errors-warnings"
|
|
99
|
+
},
|
|
100
|
+
static: paths$1.targetPublic ? {
|
|
101
|
+
publicPath: (_b = config.output) == null ? void 0 : _b.publicPath,
|
|
102
|
+
directory: paths$1.targetPublic
|
|
103
|
+
} : void 0,
|
|
104
|
+
historyApiFallback: {
|
|
105
|
+
disableDotRule: true
|
|
106
|
+
},
|
|
107
|
+
https: url.protocol === "https:",
|
|
108
|
+
host,
|
|
109
|
+
port,
|
|
110
|
+
proxy: pkg.proxy,
|
|
111
|
+
allowedHosts: [url.hostname],
|
|
112
|
+
client: {
|
|
113
|
+
webSocketURL: "auto://0.0.0.0:0/ws"
|
|
114
|
+
}
|
|
104
115
|
},
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
port,
|
|
108
|
-
proxy: pkg.proxy,
|
|
109
|
-
allowedHosts: [url.hostname],
|
|
110
|
-
client: {
|
|
111
|
-
webSocketURL: "auto://0.0.0.0:0/ws"
|
|
112
|
-
}
|
|
113
|
-
}, compiler);
|
|
116
|
+
compiler
|
|
117
|
+
);
|
|
114
118
|
await new Promise((resolve, reject) => {
|
|
115
119
|
server.startCallback((err) => {
|
|
116
120
|
if (err) {
|
|
@@ -151,16 +155,26 @@ async function startFrontend(options) {
|
|
|
151
155
|
const result = lockfile.analyze({
|
|
152
156
|
filter: lint.includedFilter
|
|
153
157
|
});
|
|
154
|
-
const problemPackages = [...result.newVersions, ...result.newRanges].map(
|
|
158
|
+
const problemPackages = [...result.newVersions, ...result.newRanges].map(
|
|
159
|
+
({ name: name2 }) => name2
|
|
160
|
+
);
|
|
155
161
|
if (problemPackages.length > 1) {
|
|
156
|
-
console.log(
|
|
162
|
+
console.log(
|
|
163
|
+
chalk__default["default"].yellow(
|
|
164
|
+
`\u26A0\uFE0F Some of the following packages may be outdated or have duplicate installations:
|
|
157
165
|
|
|
158
166
|
${uniq__default["default"](problemPackages).join(", ")}
|
|
159
|
-
`
|
|
160
|
-
|
|
167
|
+
`
|
|
168
|
+
)
|
|
169
|
+
);
|
|
170
|
+
console.log(
|
|
171
|
+
chalk__default["default"].yellow(
|
|
172
|
+
`\u26A0\uFE0F This can be resolved using the following command:
|
|
161
173
|
|
|
162
174
|
yarn backstage-cli versions:check --fix
|
|
163
|
-
`
|
|
175
|
+
`
|
|
176
|
+
)
|
|
177
|
+
);
|
|
164
178
|
}
|
|
165
179
|
}
|
|
166
180
|
const { name } = await fs__default["default"].readJson(index.paths.resolveTarget("package.json"));
|
|
@@ -172,7 +186,9 @@ async function startFrontend(options) {
|
|
|
172
186
|
const appBaseUrl = config$1.frontendConfig.getString("app.baseUrl");
|
|
173
187
|
const backendBaseUrl = config$1.frontendConfig.getString("backend.baseUrl");
|
|
174
188
|
if (appBaseUrl === backendBaseUrl) {
|
|
175
|
-
console.log(
|
|
189
|
+
console.log(
|
|
190
|
+
chalk__default["default"].yellow(
|
|
191
|
+
`\u26A0\uFE0F Conflict between app baseUrl and backend baseUrl:
|
|
176
192
|
|
|
177
193
|
app.baseUrl: ${appBaseUrl}
|
|
178
194
|
backend.baseUrl: ${appBaseUrl}
|
|
@@ -180,7 +196,9 @@ async function startFrontend(options) {
|
|
|
180
196
|
Must have unique hostname and/or ports.
|
|
181
197
|
|
|
182
198
|
This can be resolved by changing app.baseUrl and backend.baseUrl to point to their respective local development ports.
|
|
183
|
-
`
|
|
199
|
+
`
|
|
200
|
+
)
|
|
201
|
+
);
|
|
184
202
|
}
|
|
185
203
|
const waitForExit = await serveBundle({
|
|
186
204
|
entry: options.entry,
|
|
@@ -215,9 +233,11 @@ async function command(opts) {
|
|
|
215
233
|
case "frontend-plugin-module":
|
|
216
234
|
return startFrontend({ entry: "dev/index", ...options });
|
|
217
235
|
default:
|
|
218
|
-
throw new Error(
|
|
236
|
+
throw new Error(
|
|
237
|
+
`Start command is not supported for package role '${role}'`
|
|
238
|
+
);
|
|
219
239
|
}
|
|
220
240
|
}
|
|
221
241
|
|
|
222
242
|
exports.command = command;
|
|
223
|
-
//# sourceMappingURL=index-
|
|
243
|
+
//# sourceMappingURL=index-4f8f2562.cjs.js.map
|