@backstage/cli 0.26.0 → 0.26.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 +22 -0
- package/config/jest.js +1 -1
- package/dist/cjs/{Lockfile-eced6070.cjs.js → Lockfile-C7rtIlD6.cjs.js} +13 -13
- package/dist/cjs/{build-dd1760ba.cjs.js → build-CwpT6bF2.cjs.js} +15 -15
- package/dist/cjs/{buildBackend-93008edd.cjs.js → buildBackend-DA1sPj38.cjs.js} +33 -33
- package/dist/cjs/{buildWorkspace-537eb788.cjs.js → buildWorkspace-C1SYLOri.cjs.js} +12 -12
- package/dist/cjs/{bump-aee0496e.cjs.js → bump-CeCdrJTX.cjs.js} +38 -38
- package/dist/cjs/{clean-6ccda488.cjs.js → clean-Cv8IvozP.cjs.js} +10 -10
- package/dist/cjs/clean-DM4n37HU.cjs.js +22 -0
- package/dist/cjs/{codeowners-b305c16a.cjs.js → codeowners-D7pqDS5v.cjs.js} +12 -12
- package/dist/cjs/{config-9d068fb3.cjs.js → config-30A1doGp.cjs.js} +2 -2
- package/dist/cjs/{createDistWorkspace-521b8e20.cjs.js → createDistWorkspace-BGiN72e4.cjs.js} +54 -53
- package/dist/cjs/{createPlugin-5b733848.cjs.js → createPlugin-CwxnrMzx.cjs.js} +41 -41
- package/dist/cjs/{diff-ffcf1ddd.cjs.js → diff-D3wUBD1R.cjs.js} +27 -27
- package/dist/cjs/{docs-62f456dc.cjs.js → docs-Cvi9d_ZX.cjs.js} +7 -7
- package/dist/cjs/{entryPoints-0cc55995.cjs.js → entryPoints-CoHH4lBA.cjs.js} +1 -1
- package/dist/cjs/{fix-c9486e20.cjs.js → fix-Bea3_Noa.cjs.js} +5 -5
- package/dist/cjs/{index-14d17c46.cjs.js → index-D3oMtC-Y.cjs.js} +13 -13
- package/dist/cjs/{index-f42e533f.cjs.js → index-DY45BN_5.cjs.js} +62 -62
- package/dist/cjs/{index-959685eb.cjs.js → index-DvRrNqwO.cjs.js} +56 -57
- package/dist/cjs/{index-34be8e16.cjs.js → index-nDVbtUZr.cjs.js} +27 -27
- package/dist/cjs/{index-7a73b7d7.cjs.js → index-sM4O9JuD.cjs.js} +44 -62
- package/dist/cjs/{info-ecbe826f.cjs.js → info-RFihkADz.cjs.js} +13 -13
- package/dist/cjs/{install-27e2fe5d.cjs.js → install-DoqtVqrm.cjs.js} +19 -19
- package/dist/cjs/{lint-748f9c9d.cjs.js → lint-BR_vl9_l.cjs.js} +6 -6
- package/dist/cjs/{lint-cadb3a1e.cjs.js → lint-C7Wrrowb.cjs.js} +10 -10
- package/dist/cjs/{lint-813542b6.cjs.js → lint-YPKovWFd.cjs.js} +3 -3
- package/dist/cjs/{list-deprecations-a9347f75.cjs.js → list-deprecations-BSHe0Jb3.cjs.js} +5 -5
- package/dist/cjs/{new-7cca705d.cjs.js → new-C_MIBxr7.cjs.js} +54 -54
- package/dist/cjs/{pack-7abdf1e1.cjs.js → pack-CsV2iPfV.cjs.js} +4 -4
- package/dist/cjs/{packageDetection-8d19bd36.cjs.js → packageDetection-pUH1daGF.cjs.js} +46 -46
- package/dist/cjs/{packageExports-84600a62.cjs.js → packageExports-B8ow9_g8.cjs.js} +3 -3
- package/dist/cjs/{packageLintConfigs-f1239915.cjs.js → packageLintConfigs-DU8CUxDG.cjs.js} +8 -8
- package/dist/cjs/{packageRole-b982f1e6.cjs.js → packageRole-BPygF5yd.cjs.js} +6 -6
- package/dist/cjs/{packageScripts-bb7b6de2.cjs.js → packageScripts-CPnlPBBs.cjs.js} +4 -4
- package/dist/cjs/{packages-9e5204b8.cjs.js → packages-BlHOrEEW.cjs.js} +4 -4
- package/dist/cjs/{parallel-2d9d247e.cjs.js → parallel-BszNaKyc.cjs.js} +4 -4
- package/dist/cjs/{print-33cb8274.cjs.js → print-DoEMvoPB.cjs.js} +4 -4
- package/dist/cjs/{productionPack-8b9ac9b7.cjs.js → productionPack-DotlEIE2.cjs.js} +19 -19
- package/dist/cjs/{reactRouterDeps-a2bb1d62.cjs.js → reactRouterDeps-BBKc6o07.cjs.js} +4 -4
- package/dist/cjs/{role-26dc0550.cjs.js → role-C2mHZAQE.cjs.js} +5 -5
- package/dist/cjs/{run-8f756fce.cjs.js → run-DdHCwSFu.cjs.js} +2 -2
- package/dist/cjs/{schema-13e89347.cjs.js → schema-BC3xv-Rs.cjs.js} +4 -4
- package/dist/cjs/{svgrTemplate-3549ea1c.cjs.js → svgrTemplate-BTjBQ3by.cjs.js} +1 -1
- package/dist/cjs/{tasks-84de240c.cjs.js → tasks-mGXy8WjR.cjs.js} +23 -23
- package/dist/cjs/{test-7076bd21.cjs.js → test-CE3ZjSss.cjs.js} +6 -6
- package/dist/cjs/{test-52dfdc79.cjs.js → test-dJeJGdt8.cjs.js} +4 -4
- package/dist/cjs/{validate-2e4a0b12.cjs.js → validate-BsyK7u74.cjs.js} +4 -4
- package/dist/cjs/{yarn-6cd89e16.cjs.js → yarn-BDZCENk5.cjs.js} +1 -1
- package/dist/index.cjs.js +1 -1
- package/package.json +11 -11
- package/dist/cjs/clean-8a505ab4.cjs.js +0 -22
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var inquirer = require('inquirer');
|
|
5
|
-
var tasks = require('./tasks-
|
|
5
|
+
var tasks = require('./tasks-mGXy8WjR.cjs.js');
|
|
6
6
|
var oauthApp = require('@octokit/oauth-app');
|
|
7
7
|
var fs = require('fs-extra');
|
|
8
8
|
var yaml = require('yaml');
|
|
9
9
|
var cliCommon = require('@backstage/cli-common');
|
|
10
10
|
var path = require('path');
|
|
11
11
|
var differ = require('diff');
|
|
12
|
-
var config = require('./config-
|
|
12
|
+
var config = require('./config-30A1doGp.cjs.js');
|
|
13
13
|
var catalogModel = require('@backstage/catalog-model');
|
|
14
14
|
var z = require('zod');
|
|
15
15
|
var integration = require('@backstage/integration');
|
|
@@ -24,16 +24,16 @@ require('child_process');
|
|
|
24
24
|
require('@backstage/errors');
|
|
25
25
|
require('@backstage/config-loader');
|
|
26
26
|
require('@backstage/config');
|
|
27
|
-
require('./index-
|
|
27
|
+
require('./index-DY45BN_5.cjs.js');
|
|
28
28
|
require('commander');
|
|
29
29
|
require('semver');
|
|
30
30
|
require('@manypkg/get-packages');
|
|
31
31
|
require('@backstage/cli-node');
|
|
32
32
|
|
|
33
|
-
function
|
|
33
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
34
34
|
|
|
35
|
-
function
|
|
36
|
-
if (e && e
|
|
35
|
+
function _interopNamespaceCompat(e) {
|
|
36
|
+
if (e && typeof e === 'object' && 'default' in e) return e;
|
|
37
37
|
var n = Object.create(null);
|
|
38
38
|
if (e) {
|
|
39
39
|
Object.keys(e).forEach(function (k) {
|
|
@@ -46,33 +46,32 @@ function _interopNamespace(e) {
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
n
|
|
49
|
+
n.default = e;
|
|
50
50
|
return Object.freeze(n);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
var chalk__default = /*#__PURE__*/
|
|
54
|
-
var inquirer__default = /*#__PURE__*/
|
|
55
|
-
var fs__namespace = /*#__PURE__*/
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
var
|
|
62
|
-
var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch);
|
|
53
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
54
|
+
var inquirer__default = /*#__PURE__*/_interopDefaultCompat(inquirer);
|
|
55
|
+
var fs__namespace = /*#__PURE__*/_interopNamespaceCompat(fs);
|
|
56
|
+
var yaml__default = /*#__PURE__*/_interopDefaultCompat(yaml);
|
|
57
|
+
var path__namespace = /*#__PURE__*/_interopNamespaceCompat(path);
|
|
58
|
+
var differ__namespace = /*#__PURE__*/_interopNamespaceCompat(differ);
|
|
59
|
+
var z__default = /*#__PURE__*/_interopDefaultCompat(z);
|
|
60
|
+
var parseGitUrl__default = /*#__PURE__*/_interopDefaultCompat(parseGitUrl);
|
|
61
|
+
var fetch__default = /*#__PURE__*/_interopDefaultCompat(fetch);
|
|
63
62
|
|
|
64
63
|
const readYaml = async (file) => {
|
|
65
|
-
return yaml__default
|
|
64
|
+
return yaml__default.default.parse(await fs__namespace.readFile(file, "utf8"));
|
|
66
65
|
};
|
|
67
66
|
const updateConfigFile = async (file, config) => {
|
|
68
67
|
const staticContent = "# Backstage override configuration for your local development environment \n";
|
|
69
|
-
const content = fs__namespace.existsSync(file) ? yaml__default
|
|
68
|
+
const content = fs__namespace.existsSync(file) ? yaml__default.default.stringify(
|
|
70
69
|
{ ...await readYaml(file), ...config },
|
|
71
70
|
{
|
|
72
71
|
indent: 2
|
|
73
72
|
}
|
|
74
73
|
) : staticContent.concat(
|
|
75
|
-
yaml__default
|
|
74
|
+
yaml__default.default.stringify(
|
|
76
75
|
{ ...config },
|
|
77
76
|
{
|
|
78
77
|
indent: 2
|
|
@@ -152,21 +151,21 @@ const getConfig$2 = (answers) => {
|
|
|
152
151
|
};
|
|
153
152
|
const github$1 = async () => {
|
|
154
153
|
tasks.Task.log(`
|
|
155
|
-
To add GitHub authentication, you must create an OAuth App from the GitHub developer settings: ${chalk__default
|
|
154
|
+
To add GitHub authentication, you must create an OAuth App from the GitHub developer settings: ${chalk__default.default.blue(
|
|
156
155
|
"https://github.com/settings/developers"
|
|
157
156
|
)}
|
|
158
157
|
The Homepage URL should point to Backstage's frontend, while the Authorization callback URL will point to the auth backend.
|
|
159
158
|
|
|
160
159
|
Settings for local development:
|
|
161
|
-
${chalk__default
|
|
160
|
+
${chalk__default.default.cyan(`
|
|
162
161
|
Homepage URL: http://localhost:3000
|
|
163
162
|
Authorization callback URL: http://localhost:7007/api/auth/github/handler/frame`)}
|
|
164
163
|
|
|
165
|
-
You can find the full documentation page here: ${chalk__default
|
|
164
|
+
You can find the full documentation page here: ${chalk__default.default.blue(
|
|
166
165
|
"https://backstage.io/docs/auth/github/provider"
|
|
167
166
|
)}
|
|
168
167
|
`);
|
|
169
|
-
const answers = await inquirer__default
|
|
168
|
+
const answers = await inquirer__default.default.prompt([
|
|
170
169
|
{
|
|
171
170
|
type: "input",
|
|
172
171
|
name: "clientId",
|
|
@@ -234,22 +233,22 @@ const getConfig$1 = (answers) => {
|
|
|
234
233
|
};
|
|
235
234
|
const gitlab = async () => {
|
|
236
235
|
tasks.Task.log(`
|
|
237
|
-
To add GitLab authentication, you must create an Application from the GitLab Settings: ${chalk__default
|
|
236
|
+
To add GitLab authentication, you must create an Application from the GitLab Settings: ${chalk__default.default.blue(
|
|
238
237
|
"https://gitlab.com/-/profile/applications"
|
|
239
238
|
)}
|
|
240
239
|
The Redirect URI should point to your Backstage backend auth handler.
|
|
241
240
|
|
|
242
241
|
Settings for local development:
|
|
243
|
-
${chalk__default
|
|
242
|
+
${chalk__default.default.cyan(`
|
|
244
243
|
Name: Backstage (or your custom app name)
|
|
245
244
|
Redirect URI: http://localhost:7007/api/auth/gitlab/handler/frame
|
|
246
245
|
Scopes: read_api and read_user`)}
|
|
247
246
|
|
|
248
|
-
You can find the full documentation page here: ${chalk__default
|
|
247
|
+
You can find the full documentation page here: ${chalk__default.default.blue(
|
|
249
248
|
"https://backstage.io/docs/auth/gitlab/provider"
|
|
250
249
|
)}
|
|
251
250
|
`);
|
|
252
|
-
const answers = await inquirer__default
|
|
251
|
+
const answers = await inquirer__default.default.prompt([
|
|
253
252
|
{
|
|
254
253
|
type: "input",
|
|
255
254
|
name: "clientId",
|
|
@@ -292,7 +291,7 @@ const gitlab = async () => {
|
|
|
292
291
|
};
|
|
293
292
|
|
|
294
293
|
async function auth() {
|
|
295
|
-
const answers = await inquirer__default
|
|
294
|
+
const answers = await inquirer__default.default.prompt([
|
|
296
295
|
{
|
|
297
296
|
type: "list",
|
|
298
297
|
name: "provider",
|
|
@@ -343,7 +342,7 @@ const getConfig = ({
|
|
|
343
342
|
});
|
|
344
343
|
const github = async (providerAnswers) => {
|
|
345
344
|
var _a, _b, _c;
|
|
346
|
-
const answers = await inquirer__default
|
|
345
|
+
const answers = await inquirer__default.default.prompt([
|
|
347
346
|
{
|
|
348
347
|
type: "confirm",
|
|
349
348
|
name: "hasEnterprise",
|
|
@@ -370,30 +369,30 @@ const github = async (providerAnswers) => {
|
|
|
370
369
|
(_b = (_a = providerAnswers == null ? void 0 : providerAnswers.enterpriseInstanceUrl) != null ? _a : answers == null ? void 0 : answers.enterpriseInstanceUrl) != null ? _b : "http://github.com"
|
|
371
370
|
);
|
|
372
371
|
tasks.Task.log(`
|
|
373
|
-
To create new repositories in GitHub using Software Templates you first need to create a personal access token: ${chalk__default
|
|
372
|
+
To create new repositories in GitHub using Software Templates you first need to create a personal access token: ${chalk__default.default.blue(
|
|
374
373
|
`${host.origin}/settings/tokens/new`
|
|
375
374
|
)}
|
|
376
375
|
|
|
377
376
|
Select the following scopes:
|
|
378
377
|
|
|
379
|
-
Reading software components:${chalk__default
|
|
378
|
+
Reading software components:${chalk__default.default.cyan(`
|
|
380
379
|
- "repo"`)}
|
|
381
380
|
|
|
382
|
-
Reading organization data:${chalk__default
|
|
381
|
+
Reading organization data:${chalk__default.default.cyan(`
|
|
383
382
|
- "read:org"
|
|
384
383
|
- "read:user"
|
|
385
384
|
- "user:email"`)}
|
|
386
385
|
|
|
387
|
-
Publishing software templates:${chalk__default
|
|
386
|
+
Publishing software templates:${chalk__default.default.cyan(`
|
|
388
387
|
- "repo"
|
|
389
388
|
- "workflow" (if templates include GitHub workflows)
|
|
390
389
|
`)}
|
|
391
390
|
|
|
392
|
-
You can find the full documentation page here: ${chalk__default
|
|
391
|
+
You can find the full documentation page here: ${chalk__default.default.blue(
|
|
393
392
|
"https://backstage.io/docs/integrations/github/locations"
|
|
394
393
|
)}
|
|
395
394
|
`);
|
|
396
|
-
const { token } = await inquirer__default
|
|
395
|
+
const { token } = await inquirer__default.default.prompt([
|
|
397
396
|
{
|
|
398
397
|
type: "input",
|
|
399
398
|
name: "token",
|
|
@@ -417,7 +416,7 @@ const github = async (providerAnswers) => {
|
|
|
417
416
|
|
|
418
417
|
const Integrations = ["GitHub" /* GITHUB */];
|
|
419
418
|
async function integrations(providerInfo) {
|
|
420
|
-
const answers = await inquirer__default
|
|
419
|
+
const answers = await inquirer__default.default.prompt([
|
|
421
420
|
{
|
|
422
421
|
type: "confirm",
|
|
423
422
|
name: "shouldUsePreviousProvider",
|
|
@@ -503,15 +502,15 @@ class Discovery {
|
|
|
503
502
|
__privateGet$5(this, _analyzers).push(analyzer);
|
|
504
503
|
}
|
|
505
504
|
async run(url) {
|
|
506
|
-
tasks.Task.log(`Running discovery for ${chalk__default
|
|
505
|
+
tasks.Task.log(`Running discovery for ${chalk__default.default.cyan(url)}`);
|
|
507
506
|
const result = [];
|
|
508
507
|
for (const provider of __privateGet$5(this, _providers)) {
|
|
509
508
|
const repositories = await provider.discover(url);
|
|
510
509
|
if (repositories && repositories.length) {
|
|
511
510
|
tasks.Task.log(
|
|
512
|
-
`Discovered ${chalk__default
|
|
511
|
+
`Discovered ${chalk__default.default.cyan(
|
|
513
512
|
repositories.length
|
|
514
|
-
)} repositories for ${chalk__default
|
|
513
|
+
)} repositories for ${chalk__default.default.cyan(provider.name())}`
|
|
515
514
|
);
|
|
516
515
|
for (const repository of repositories) {
|
|
517
516
|
await tasks.Task.forItem("Analyzing", repository.name, async () => {
|
|
@@ -522,7 +521,7 @@ class Discovery {
|
|
|
522
521
|
output.list().filter((entry) => entry.type === "entity").forEach(({ entity }) => result.push(entity));
|
|
523
522
|
});
|
|
524
523
|
}
|
|
525
|
-
tasks.Task.log(`Produced ${chalk__default
|
|
524
|
+
tasks.Task.log(`Produced ${chalk__default.default.cyan(result.length || "no")} entities`);
|
|
526
525
|
}
|
|
527
526
|
}
|
|
528
527
|
return {
|
|
@@ -614,8 +613,8 @@ class PackageJsonAnalyzer {
|
|
|
614
613
|
});
|
|
615
614
|
}
|
|
616
615
|
}
|
|
617
|
-
const packageSchema = z__default
|
|
618
|
-
name: z__default
|
|
616
|
+
const packageSchema = z__default.default.object({
|
|
617
|
+
name: z__default.default.string().optional()
|
|
619
618
|
});
|
|
620
619
|
function sanitizeName(name) {
|
|
621
620
|
return name && name !== "root" ? name.replace(/[^a-z0-9A-Z]/g, "_").substring(0, 62) : void 0;
|
|
@@ -802,7 +801,7 @@ const _GithubDiscoveryProvider = class _GithubDiscoveryProvider {
|
|
|
802
801
|
if (!scmIntegration) {
|
|
803
802
|
throw new Error(`No GitHub integration found for ${url}`);
|
|
804
803
|
}
|
|
805
|
-
const parsed = parseGitUrl__default
|
|
804
|
+
const parsed = parseGitUrl__default.default(url);
|
|
806
805
|
const { name, organization } = parsed;
|
|
807
806
|
const org = organization || name;
|
|
808
807
|
const client = graphql.graphql.defaults({
|
|
@@ -958,7 +957,7 @@ class GitlabProject {
|
|
|
958
957
|
}
|
|
959
958
|
_getFileContent = new WeakSet();
|
|
960
959
|
getFileContent_fn = async function(path, mainBranch) {
|
|
961
|
-
const response = await fetch__default
|
|
960
|
+
const response = await fetch__default.default(
|
|
962
961
|
`${this.apiBaseUrl}/projects/${this.project.id}/repository/files/${path}?ref=${mainBranch}`,
|
|
963
962
|
{ headers: this.headers }
|
|
964
963
|
);
|
|
@@ -968,7 +967,7 @@ getFileContent_fn = async function(path, mainBranch) {
|
|
|
968
967
|
_getMainBranch = new WeakSet();
|
|
969
968
|
getMainBranch_fn = async function() {
|
|
970
969
|
var _a, _b;
|
|
971
|
-
const response = await fetch__default
|
|
970
|
+
const response = await fetch__default.default(
|
|
972
971
|
`${this.apiBaseUrl}/projects/${this.project.id}/repository/branches`,
|
|
973
972
|
{ headers: this.headers }
|
|
974
973
|
);
|
|
@@ -1030,7 +1029,7 @@ const _GitlabDiscoveryProvider = class _GitlabDiscoveryProvider {
|
|
|
1030
1029
|
throw new Error(`No GitLab integration found for ${origin}`);
|
|
1031
1030
|
}
|
|
1032
1031
|
const headers = await __privateMethod(this, _getRequestHeaders, getRequestHeaders_fn).call(this, origin);
|
|
1033
|
-
const response = await fetch__default
|
|
1032
|
+
const response = await fetch__default.default(
|
|
1034
1033
|
`${scmIntegration.config.apiBaseUrl}/users/${user}/projects`,
|
|
1035
1034
|
{ headers }
|
|
1036
1035
|
);
|
|
@@ -1078,7 +1077,7 @@ async function discover(providerInfo) {
|
|
|
1078
1077
|
Note that this command requires an access token, which can be either added through the integration config or
|
|
1079
1078
|
provided as an environment variable.
|
|
1080
1079
|
`);
|
|
1081
|
-
const answers = await inquirer__default
|
|
1080
|
+
const answers = await inquirer__default.default.prompt([
|
|
1082
1081
|
{
|
|
1083
1082
|
type: "confirm",
|
|
1084
1083
|
name: "shouldContinue",
|
|
@@ -1110,7 +1109,7 @@ async function discover(providerInfo) {
|
|
|
1110
1109
|
]);
|
|
1111
1110
|
if (!answers.shouldContinue) {
|
|
1112
1111
|
tasks.Task.log(
|
|
1113
|
-
chalk__default
|
|
1112
|
+
chalk__default.default.yellow(
|
|
1114
1113
|
"If you change your mind, feel free to re-run this command."
|
|
1115
1114
|
)
|
|
1116
1115
|
);
|
|
@@ -1129,7 +1128,7 @@ async function discover(providerInfo) {
|
|
|
1129
1128
|
const { entities } = await discovery.run(answers.url);
|
|
1130
1129
|
if (!entities.length) {
|
|
1131
1130
|
tasks.Task.log(
|
|
1132
|
-
chalk__default
|
|
1131
|
+
chalk__default.default.yellow(`
|
|
1133
1132
|
We could not find enough information to be able to generate any Software Catalog entities for you.
|
|
1134
1133
|
Perhaps you can try again with a different repository?`)
|
|
1135
1134
|
);
|
|
@@ -1138,9 +1137,9 @@ async function discover(providerInfo) {
|
|
|
1138
1137
|
await tasks.Task.forItem("Creating", DISCOVERED_ENTITIES_FILE, async () => {
|
|
1139
1138
|
const payload = [];
|
|
1140
1139
|
for (const entity of entities) {
|
|
1141
|
-
payload.push("---\n", yaml__default
|
|
1140
|
+
payload.push("---\n", yaml__default.default.stringify(entity));
|
|
1142
1141
|
}
|
|
1143
|
-
await
|
|
1142
|
+
await fs__namespace.default.writeFile(DISCOVERED_ENTITIES_FILE, payload.join(""));
|
|
1144
1143
|
});
|
|
1145
1144
|
await tasks.Task.forItem(
|
|
1146
1145
|
"Updating",
|
|
@@ -1159,7 +1158,7 @@ async function discover(providerInfo) {
|
|
|
1159
1158
|
}
|
|
1160
1159
|
|
|
1161
1160
|
async function command() {
|
|
1162
|
-
const answers = await inquirer__default
|
|
1161
|
+
const answers = await inquirer__default.default.prompt([
|
|
1163
1162
|
{
|
|
1164
1163
|
type: "confirm",
|
|
1165
1164
|
name: "shouldSetupAuth",
|
|
@@ -1182,7 +1181,7 @@ async function command() {
|
|
|
1182
1181
|
const { shouldSetupAuth, shouldSetupScaffolder, shouldDiscoverEntities } = answers;
|
|
1183
1182
|
if (!shouldSetupAuth && !shouldSetupScaffolder && !shouldDiscoverEntities) {
|
|
1184
1183
|
tasks.Task.log(
|
|
1185
|
-
chalk__default
|
|
1184
|
+
chalk__default.default.yellow(
|
|
1186
1185
|
"If you change your mind, feel free to re-run this command."
|
|
1187
1186
|
)
|
|
1188
1187
|
);
|
|
@@ -1200,12 +1199,12 @@ async function command() {
|
|
|
1200
1199
|
}
|
|
1201
1200
|
tasks.Task.log();
|
|
1202
1201
|
tasks.Task.log(
|
|
1203
|
-
`You can now start your app with ${chalk__default
|
|
1204
|
-
chalk__default
|
|
1202
|
+
`You can now start your app with ${chalk__default.default.inverse(
|
|
1203
|
+
chalk__default.default.italic("yarn dev")
|
|
1205
1204
|
)}`
|
|
1206
1205
|
);
|
|
1207
1206
|
tasks.Task.log();
|
|
1208
1207
|
}
|
|
1209
1208
|
|
|
1210
1209
|
exports.command = command;
|
|
1211
|
-
//# sourceMappingURL=index-
|
|
1210
|
+
//# sourceMappingURL=index-DvRrNqwO.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-DY45BN_5.cjs.js');
|
|
8
8
|
var crypto = require('crypto');
|
|
9
9
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
10
10
|
var request = require('@octokit/request');
|
|
@@ -15,15 +15,15 @@ require('semver');
|
|
|
15
15
|
require('@backstage/cli-common');
|
|
16
16
|
require('@backstage/errors');
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
19
19
|
|
|
20
|
-
var fs__default = /*#__PURE__*/
|
|
21
|
-
var chalk__default = /*#__PURE__*/
|
|
22
|
-
var inquirer__default = /*#__PURE__*/
|
|
23
|
-
var crypto__default = /*#__PURE__*/
|
|
24
|
-
var openBrowser__default = /*#__PURE__*/
|
|
25
|
-
var express__default = /*#__PURE__*/
|
|
26
|
-
var fetch__default = /*#__PURE__*/
|
|
20
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
21
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
22
|
+
var inquirer__default = /*#__PURE__*/_interopDefaultCompat(inquirer);
|
|
23
|
+
var crypto__default = /*#__PURE__*/_interopDefaultCompat(crypto);
|
|
24
|
+
var openBrowser__default = /*#__PURE__*/_interopDefaultCompat(openBrowser);
|
|
25
|
+
var express__default = /*#__PURE__*/_interopDefaultCompat(express);
|
|
26
|
+
var fetch__default = /*#__PURE__*/_interopDefaultCompat(fetch);
|
|
27
27
|
|
|
28
28
|
var __defProp = Object.defineProperty;
|
|
29
29
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -83,7 +83,7 @@ class GithubCreateAppServer {
|
|
|
83
83
|
res.setHeader("content-type", "text/html");
|
|
84
84
|
res.send(body);
|
|
85
85
|
});
|
|
86
|
-
const webhookId = crypto__default
|
|
86
|
+
const webhookId = crypto__default.default.randomBytes(15).toString("base64").replace(/[\+\/]/g, "");
|
|
87
87
|
this.webhookUrl = `https://smee.io/${webhookId}`;
|
|
88
88
|
}
|
|
89
89
|
static async run(options) {
|
|
@@ -93,7 +93,7 @@ class GithubCreateAppServer {
|
|
|
93
93
|
return server.start();
|
|
94
94
|
}
|
|
95
95
|
async start() {
|
|
96
|
-
const app = express__default
|
|
96
|
+
const app = express__default.default();
|
|
97
97
|
app.get("/", this.formHandler);
|
|
98
98
|
const callPromise = new Promise((resolve, reject) => {
|
|
99
99
|
app.get("/callback", (req, res) => {
|
|
@@ -117,7 +117,7 @@ class GithubCreateAppServer {
|
|
|
117
117
|
});
|
|
118
118
|
});
|
|
119
119
|
this.baseUrl = await this.listen(app);
|
|
120
|
-
openBrowser__default
|
|
120
|
+
openBrowser__default.default(this.baseUrl);
|
|
121
121
|
return callPromise;
|
|
122
122
|
}
|
|
123
123
|
async listen(app) {
|
|
@@ -136,7 +136,7 @@ class GithubCreateAppServer {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
var index = async (org) => {
|
|
139
|
-
const answers = await inquirer__default
|
|
139
|
+
const answers = await inquirer__default.default.prompt({
|
|
140
140
|
name: "appType",
|
|
141
141
|
type: "checkbox",
|
|
142
142
|
message: "Select permissions [required] (these can be changed later but then require approvals in all installations)",
|
|
@@ -158,7 +158,7 @@ var index = async (org) => {
|
|
|
158
158
|
]
|
|
159
159
|
});
|
|
160
160
|
if (answers.appType.length === 0) {
|
|
161
|
-
console.log(chalk__default
|
|
161
|
+
console.log(chalk__default.default.red("You must select at least one permission"));
|
|
162
162
|
process.exit(1);
|
|
163
163
|
}
|
|
164
164
|
await verifyGithubOrg(org);
|
|
@@ -169,10 +169,10 @@ var index = async (org) => {
|
|
|
169
169
|
const fileName = `github-app-${slug}-credentials.yaml`;
|
|
170
170
|
const content = `# Name: ${name}
|
|
171
171
|
${yaml.stringify(config)}`;
|
|
172
|
-
await fs__default
|
|
173
|
-
console.log(`GitHub App configuration written to ${chalk__default
|
|
172
|
+
await fs__default.default.writeFile(index$1.paths.resolveTargetRoot(fileName), content);
|
|
173
|
+
console.log(`GitHub App configuration written to ${chalk__default.default.cyan(fileName)}`);
|
|
174
174
|
console.log(
|
|
175
|
-
chalk__default
|
|
175
|
+
chalk__default.default.yellow(
|
|
176
176
|
"This file contains sensitive credentials, it should not be committed to version control and handled with care!"
|
|
177
177
|
)
|
|
178
178
|
);
|
|
@@ -180,7 +180,7 @@ ${yaml.stringify(config)}`;
|
|
|
180
180
|
"Here's an example on how to update the integrations section in app-config.yaml"
|
|
181
181
|
);
|
|
182
182
|
console.log(
|
|
183
|
-
chalk__default
|
|
183
|
+
chalk__default.default.green(`
|
|
184
184
|
integrations:
|
|
185
185
|
github:
|
|
186
186
|
- host: github.com
|
|
@@ -191,12 +191,12 @@ integrations:
|
|
|
191
191
|
async function verifyGithubOrg(org) {
|
|
192
192
|
let response;
|
|
193
193
|
try {
|
|
194
|
-
response = await fetch__default
|
|
194
|
+
response = await fetch__default.default(
|
|
195
195
|
`https://api.github.com/orgs/${encodeURIComponent(org)}`
|
|
196
196
|
);
|
|
197
197
|
} catch (e) {
|
|
198
198
|
console.log(
|
|
199
|
-
chalk__default
|
|
199
|
+
chalk__default.default.yellow(
|
|
200
200
|
"Warning: Unable to verify existence of GitHub organization. ",
|
|
201
201
|
e
|
|
202
202
|
)
|
|
@@ -207,21 +207,21 @@ async function verifyGithubOrg(org) {
|
|
|
207
207
|
{
|
|
208
208
|
type: "confirm",
|
|
209
209
|
name: "shouldCreateOrg",
|
|
210
|
-
message: `GitHub organization ${chalk__default
|
|
210
|
+
message: `GitHub organization ${chalk__default.default.cyan(
|
|
211
211
|
org
|
|
212
212
|
)} does not exist. Would you like to create a new Organization instead?`
|
|
213
213
|
}
|
|
214
214
|
];
|
|
215
|
-
const answers = await inquirer__default
|
|
215
|
+
const answers = await inquirer__default.default.prompt(questions);
|
|
216
216
|
if (!answers.shouldCreateOrg) {
|
|
217
217
|
console.log(
|
|
218
|
-
chalk__default
|
|
218
|
+
chalk__default.default.yellow("GitHub organization must exist to create GitHub app")
|
|
219
219
|
);
|
|
220
220
|
process.exit(1);
|
|
221
221
|
}
|
|
222
|
-
openBrowser__default
|
|
222
|
+
openBrowser__default.default("https://github.com/account/organizations/new");
|
|
223
223
|
console.log(
|
|
224
|
-
chalk__default
|
|
224
|
+
chalk__default.default.yellow(
|
|
225
225
|
"Please re-run this command when you have created your new organization"
|
|
226
226
|
)
|
|
227
227
|
);
|
|
@@ -229,5 +229,5 @@ async function verifyGithubOrg(org) {
|
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
exports
|
|
233
|
-
//# sourceMappingURL=index-
|
|
232
|
+
exports.default = index;
|
|
233
|
+
//# sourceMappingURL=index-nDVbtUZr.cjs.js.map
|