@backstage/cli 0.26.0 → 0.26.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 +45 -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-CbpeZplP.cjs.js} +15 -15
- package/dist/cjs/{buildBackend-93008edd.cjs.js → buildBackend-Dba-NxON.cjs.js} +33 -33
- package/dist/cjs/{buildWorkspace-537eb788.cjs.js → buildWorkspace-CqQibS-q.cjs.js} +12 -12
- package/dist/cjs/{bump-aee0496e.cjs.js → bump-D0vhUSFQ.cjs.js} +38 -38
- package/dist/cjs/clean-CnL36FfN.cjs.js +22 -0
- package/dist/cjs/{clean-6ccda488.cjs.js → clean-D_vLzFNg.cjs.js} +10 -10
- package/dist/cjs/{codeowners-b305c16a.cjs.js → codeowners-BMLEHluX.cjs.js} +12 -12
- package/dist/cjs/{config-9d068fb3.cjs.js → config-C0JsopsB.cjs.js} +2 -2
- package/dist/cjs/{createDistWorkspace-521b8e20.cjs.js → createDistWorkspace-yv_is5dr.cjs.js} +54 -53
- package/dist/cjs/{createPlugin-5b733848.cjs.js → createPlugin-DmtKz0ob.cjs.js} +41 -41
- package/dist/cjs/{diff-ffcf1ddd.cjs.js → diff-r_x8vq2Y.cjs.js} +27 -27
- package/dist/cjs/{docs-62f456dc.cjs.js → docs-DZLOofxw.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-BT7c1STH.cjs.js} +5 -5
- package/dist/cjs/{index-f42e533f.cjs.js → index-BD9P1D2C.cjs.js} +62 -62
- package/dist/cjs/{index-34be8e16.cjs.js → index-B_y2XKYV.cjs.js} +27 -27
- package/dist/cjs/{index-959685eb.cjs.js → index-CCiS1ueY.cjs.js} +56 -57
- package/dist/cjs/{index-14d17c46.cjs.js → index-DFh2xfbC.cjs.js} +13 -13
- package/dist/cjs/{index-7a73b7d7.cjs.js → index-De_z6iz7.cjs.js} +44 -62
- package/dist/cjs/{info-ecbe826f.cjs.js → info-DFqP7KTl.cjs.js} +13 -13
- package/dist/cjs/{install-27e2fe5d.cjs.js → install-BDXQInuw.cjs.js} +19 -19
- package/dist/cjs/{lint-748f9c9d.cjs.js → lint-C1YMli4t.cjs.js} +6 -6
- package/dist/cjs/{lint-813542b6.cjs.js → lint-Dte-ewjD.cjs.js} +3 -3
- package/dist/cjs/{lint-cadb3a1e.cjs.js → lint-JfiB81FZ.cjs.js} +10 -10
- package/dist/cjs/{list-deprecations-a9347f75.cjs.js → list-deprecations-DFphTrGE.cjs.js} +5 -5
- package/dist/cjs/{new-7cca705d.cjs.js → new-D7rT3xUd.cjs.js} +54 -54
- package/dist/cjs/{pack-7abdf1e1.cjs.js → pack-C0_X_p6V.cjs.js} +4 -4
- package/dist/cjs/{packageDetection-8d19bd36.cjs.js → packageDetection-B2m9eHD3.cjs.js} +46 -46
- package/dist/cjs/{packageExports-84600a62.cjs.js → packageExports-reitRRRU.cjs.js} +3 -3
- package/dist/cjs/{packageLintConfigs-f1239915.cjs.js → packageLintConfigs-DFol07fj.cjs.js} +8 -8
- package/dist/cjs/{packageRole-b982f1e6.cjs.js → packageRole-YikhskBv.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-B_ex0KMV.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-CO3_0-Pg.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-BwQHC-rB.cjs.js} +5 -5
- package/dist/cjs/{run-8f756fce.cjs.js → run-BLyOtvgh.cjs.js} +2 -2
- package/dist/cjs/{schema-13e89347.cjs.js → schema-BoT3ItlL.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-CSdRFsmC.cjs.js} +6 -6
- package/dist/cjs/{test-52dfdc79.cjs.js → test-D6PPN8Mr.cjs.js} +4 -4
- package/dist/cjs/{validate-2e4a0b12.cjs.js → validate-DwUJ3F9z.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/templates/default-backend-plugin/README.md.hbs +1 -1
- package/templates/default-backend-plugin/src/plugin.ts.hbs +4 -0
- package/dist/cjs/clean-8a505ab4.cjs.js +0 -22
|
@@ -10,14 +10,14 @@ var camelCase = require('lodash/camelCase');
|
|
|
10
10
|
var upperFirst = require('lodash/upperFirst');
|
|
11
11
|
var os = require('os');
|
|
12
12
|
var errors = require('@backstage/errors');
|
|
13
|
-
var codeowners = require('./codeowners-
|
|
14
|
-
var index = require('./index-
|
|
15
|
-
var tasks = require('./tasks-
|
|
16
|
-
var Lockfile = require('./Lockfile-
|
|
13
|
+
var codeowners = require('./codeowners-BMLEHluX.cjs.js');
|
|
14
|
+
var index = require('./index-BD9P1D2C.cjs.js');
|
|
15
|
+
var tasks = require('./tasks-mGXy8WjR.cjs.js');
|
|
16
|
+
var Lockfile = require('./Lockfile-C7rtIlD6.cjs.js');
|
|
17
17
|
require('minimatch');
|
|
18
18
|
require('@manypkg/get-packages');
|
|
19
|
-
require('./yarn-
|
|
20
|
-
require('./run-
|
|
19
|
+
require('./yarn-BDZCENk5.cjs.js');
|
|
20
|
+
require('./run-BLyOtvgh.cjs.js');
|
|
21
21
|
require('commander');
|
|
22
22
|
require('semver');
|
|
23
23
|
require('@backstage/cli-common');
|
|
@@ -27,20 +27,20 @@ require('recursive-readdir');
|
|
|
27
27
|
require('@yarnpkg/parsers');
|
|
28
28
|
require('@yarnpkg/lockfile');
|
|
29
29
|
|
|
30
|
-
function
|
|
30
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
31
31
|
|
|
32
|
-
var fs__default = /*#__PURE__*/
|
|
33
|
-
var chalk__default = /*#__PURE__*/
|
|
34
|
-
var inquirer__default = /*#__PURE__*/
|
|
35
|
-
var camelCase__default = /*#__PURE__*/
|
|
36
|
-
var upperFirst__default = /*#__PURE__*/
|
|
37
|
-
var os__default = /*#__PURE__*/
|
|
32
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
33
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
34
|
+
var inquirer__default = /*#__PURE__*/_interopDefaultCompat(inquirer);
|
|
35
|
+
var camelCase__default = /*#__PURE__*/_interopDefaultCompat(camelCase);
|
|
36
|
+
var upperFirst__default = /*#__PURE__*/_interopDefaultCompat(upperFirst);
|
|
37
|
+
var os__default = /*#__PURE__*/_interopDefaultCompat(os);
|
|
38
38
|
|
|
39
39
|
const exec = util.promisify(child_process.exec);
|
|
40
40
|
async function checkExists(destination) {
|
|
41
41
|
await tasks.Task.forItem("checking", destination, async () => {
|
|
42
|
-
if (await fs__default
|
|
43
|
-
const existing = chalk__default
|
|
42
|
+
if (await fs__default.default.pathExists(destination)) {
|
|
43
|
+
const existing = chalk__default.default.cyan(
|
|
44
44
|
destination.replace(`${index.paths.targetRoot}/`, "")
|
|
45
45
|
);
|
|
46
46
|
throw new Error(
|
|
@@ -58,14 +58,14 @@ const sortObjectByKeys = (obj) => {
|
|
|
58
58
|
};
|
|
59
59
|
const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
|
60
60
|
const addExportStatement = async (file, exportStatement) => {
|
|
61
|
-
const newContents = fs__default
|
|
62
|
-
await fs__default
|
|
61
|
+
const newContents = fs__default.default.readFileSync(file, "utf8").split("\n").filter(Boolean).concat([exportStatement]).concat([""]).join("\n");
|
|
62
|
+
await fs__default.default.writeFile(file, newContents, "utf8");
|
|
63
63
|
};
|
|
64
64
|
async function addPluginDependencyToApp(rootDir, pluginPackage, versionStr) {
|
|
65
65
|
const packageFilePath = "packages/app/package.json";
|
|
66
66
|
const packageFile = path.resolve(rootDir, packageFilePath);
|
|
67
67
|
await tasks.Task.forItem("processing", packageFilePath, async () => {
|
|
68
|
-
const packageFileContent = await fs__default
|
|
68
|
+
const packageFileContent = await fs__default.default.readFile(packageFile, "utf-8");
|
|
69
69
|
const packageFileJson = JSON.parse(packageFileContent);
|
|
70
70
|
const dependencies = packageFileJson.dependencies;
|
|
71
71
|
if (dependencies[pluginPackage]) {
|
|
@@ -77,7 +77,7 @@ async function addPluginDependencyToApp(rootDir, pluginPackage, versionStr) {
|
|
|
77
77
|
packageFileJson.dependencies = sortObjectByKeys(dependencies);
|
|
78
78
|
const newContents = `${JSON.stringify(packageFileJson, null, 2)}
|
|
79
79
|
`;
|
|
80
|
-
await fs__default
|
|
80
|
+
await fs__default.default.writeFile(packageFile, newContents, "utf-8").catch((error) => {
|
|
81
81
|
throw new Error(
|
|
82
82
|
`Failed to add plugin as dependency to app: ${packageFile}: ${error.message}`
|
|
83
83
|
);
|
|
@@ -86,12 +86,12 @@ async function addPluginDependencyToApp(rootDir, pluginPackage, versionStr) {
|
|
|
86
86
|
}
|
|
87
87
|
async function addPluginExtensionToApp(pluginId, extensionName, pluginPackage) {
|
|
88
88
|
const pluginsFilePath = index.paths.resolveTargetRoot("packages/app/src/App.tsx");
|
|
89
|
-
if (!await fs__default
|
|
89
|
+
if (!await fs__default.default.pathExists(pluginsFilePath)) {
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
92
|
await tasks.Task.forItem("processing", pluginsFilePath, async () => {
|
|
93
93
|
var _a;
|
|
94
|
-
const content = await fs__default
|
|
94
|
+
const content = await fs__default.default.readFile(pluginsFilePath, "utf8");
|
|
95
95
|
const revLines = content.split("\n").reverse();
|
|
96
96
|
const lastImportIndex = revLines.findIndex(
|
|
97
97
|
(line) => line.match(/ from ("|').*("|')/)
|
|
@@ -112,13 +112,13 @@ async function addPluginExtensionToApp(pluginId, extensionName, pluginPackage) {
|
|
|
112
112
|
`${indentation}<Route path="/${pluginId}" element={<${extensionName} />}/>`
|
|
113
113
|
);
|
|
114
114
|
const newContent = revLines.reverse().join("\n");
|
|
115
|
-
await fs__default
|
|
115
|
+
await fs__default.default.writeFile(pluginsFilePath, newContent, "utf8");
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
119
|
async function cleanUp(tempDir) {
|
|
120
120
|
await tasks.Task.forItem("remove", "temporary directory", async () => {
|
|
121
|
-
await fs__default
|
|
121
|
+
await fs__default.default.remove(tempDir);
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
async function buildPlugin(pluginFolder) {
|
|
@@ -137,7 +137,7 @@ async function buildPlugin(pluginFolder) {
|
|
|
137
137
|
process.stdout.write(error.stderr);
|
|
138
138
|
process.stdout.write(error.stdout);
|
|
139
139
|
throw new Error(
|
|
140
|
-
`Warning: Could not execute command ${chalk__default
|
|
140
|
+
`Warning: Could not execute command ${chalk__default.default.cyan(command)}`
|
|
141
141
|
);
|
|
142
142
|
});
|
|
143
143
|
} catch (error) {
|
|
@@ -149,7 +149,7 @@ async function buildPlugin(pluginFolder) {
|
|
|
149
149
|
}
|
|
150
150
|
async function movePlugin(tempDir, destination, id) {
|
|
151
151
|
await tasks.Task.forItem("moving", id, async () => {
|
|
152
|
-
await fs__default
|
|
152
|
+
await fs__default.default.move(tempDir, destination).catch((error) => {
|
|
153
153
|
throw new Error(
|
|
154
154
|
`Failed to move plugin from ${tempDir} to ${destination}: ${error.message}`
|
|
155
155
|
);
|
|
@@ -162,12 +162,12 @@ var createPlugin = async (opts) => {
|
|
|
162
162
|
{
|
|
163
163
|
type: "input",
|
|
164
164
|
name: "id",
|
|
165
|
-
message: chalk__default
|
|
165
|
+
message: chalk__default.default.blue("Enter an ID for the plugin [required]"),
|
|
166
166
|
validate: (value) => {
|
|
167
167
|
if (!value) {
|
|
168
|
-
return chalk__default
|
|
168
|
+
return chalk__default.default.red("Please enter an ID for the plugin");
|
|
169
169
|
} else if (!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(value)) {
|
|
170
|
-
return chalk__default
|
|
170
|
+
return chalk__default.default.red(
|
|
171
171
|
"Plugin IDs must be lowercase and contain only letters, digits, and dashes."
|
|
172
172
|
);
|
|
173
173
|
}
|
|
@@ -179,7 +179,7 @@ var createPlugin = async (opts) => {
|
|
|
179
179
|
questions.push({
|
|
180
180
|
type: "input",
|
|
181
181
|
name: "owner",
|
|
182
|
-
message: chalk__default
|
|
182
|
+
message: chalk__default.default.blue(
|
|
183
183
|
"Enter the owner(s) of the plugin. If specified, this will be added to CODEOWNERS for the plugin path. [optional]"
|
|
184
184
|
),
|
|
185
185
|
validate: (value) => {
|
|
@@ -188,7 +188,7 @@ var createPlugin = async (opts) => {
|
|
|
188
188
|
}
|
|
189
189
|
const ownerIds = codeowners.parseOwnerIds(value);
|
|
190
190
|
if (!ownerIds) {
|
|
191
|
-
return chalk__default
|
|
191
|
+
return chalk__default.default.red(
|
|
192
192
|
"The owner must be a space separated list of team names (e.g. @org/team-name), usernames (e.g. @username), or the email addresses of users (e.g. user@example.com)."
|
|
193
193
|
);
|
|
194
194
|
}
|
|
@@ -196,20 +196,20 @@ var createPlugin = async (opts) => {
|
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
198
|
}
|
|
199
|
-
const answers = await inquirer__default
|
|
199
|
+
const answers = await inquirer__default.default.prompt(questions);
|
|
200
200
|
const pluginId = opts.backend && !answers.id.endsWith("-backend") ? `${answers.id}-backend` : answers.id;
|
|
201
201
|
const name = opts.scope ? `@${opts.scope.replace(/^@/, "")}/plugin-${pluginId}` : `plugin-${pluginId}`;
|
|
202
|
-
const pluginVar = `${camelCase__default
|
|
203
|
-
const extensionName = `${upperFirst__default
|
|
202
|
+
const pluginVar = `${camelCase__default.default(answers.id)}Plugin`;
|
|
203
|
+
const extensionName = `${upperFirst__default.default(camelCase__default.default(answers.id))}Page`;
|
|
204
204
|
const npmRegistry = opts.npmRegistry && opts.scope ? opts.npmRegistry : "";
|
|
205
205
|
const privatePackage = opts.private === false ? false : true;
|
|
206
|
-
const isMonoRepo = await fs__default
|
|
206
|
+
const isMonoRepo = await fs__default.default.pathExists(index.paths.resolveTargetRoot("lerna.json"));
|
|
207
207
|
const appPackage = index.paths.resolveTargetRoot("packages/app");
|
|
208
208
|
const templateDir = index.paths.resolveOwn(
|
|
209
209
|
opts.backend ? "templates/default-backend-plugin" : "templates/default-plugin"
|
|
210
210
|
);
|
|
211
211
|
const pluginDir = isMonoRepo ? index.paths.resolveTargetRoot("plugins", pluginId) : index.paths.resolveTargetRoot(pluginId);
|
|
212
|
-
const { version: pluginVersion } = isMonoRepo ? await fs__default
|
|
212
|
+
const { version: pluginVersion } = isMonoRepo ? await fs__default.default.readJson(index.paths.resolveTargetRoot("lerna.json")) : { version: "0.1.0" };
|
|
213
213
|
let lockfile;
|
|
214
214
|
try {
|
|
215
215
|
lockfile = await Lockfile.Lockfile.load(index.paths.resolveTargetRoot("yarn.lock"));
|
|
@@ -221,8 +221,8 @@ var createPlugin = async (opts) => {
|
|
|
221
221
|
tasks.Task.section("Checking if the plugin ID is available");
|
|
222
222
|
await checkExists(pluginDir);
|
|
223
223
|
tasks.Task.section("Creating a temporary plugin directory");
|
|
224
|
-
const tempDir = await fs__default
|
|
225
|
-
path.join(os__default
|
|
224
|
+
const tempDir = await fs__default.default.mkdtemp(
|
|
225
|
+
path.join(os__default.default.tmpdir(), `backstage-plugin-${pluginId}`)
|
|
226
226
|
);
|
|
227
227
|
try {
|
|
228
228
|
tasks.Task.section("Preparing files");
|
|
@@ -245,7 +245,7 @@ var createPlugin = async (opts) => {
|
|
|
245
245
|
await movePlugin(tempDir, pluginDir, pluginId);
|
|
246
246
|
tasks.Task.section("Building the plugin");
|
|
247
247
|
await buildPlugin(pluginDir);
|
|
248
|
-
if (await fs__default
|
|
248
|
+
if (await fs__default.default.pathExists(appPackage) && !opts.backend) {
|
|
249
249
|
tasks.Task.section("Adding plugin as dependency in app");
|
|
250
250
|
await addPluginDependencyToApp(index.paths.targetRoot, name, pluginVersion);
|
|
251
251
|
tasks.Task.section("Import plugin in app");
|
|
@@ -255,7 +255,7 @@ var createPlugin = async (opts) => {
|
|
|
255
255
|
await codeowners.addCodeownersEntry(`/plugins/${pluginId}`, answers.owner);
|
|
256
256
|
}
|
|
257
257
|
tasks.Task.log();
|
|
258
|
-
tasks.Task.log(`\u{1F947} Successfully created ${chalk__default
|
|
258
|
+
tasks.Task.log(`\u{1F947} Successfully created ${chalk__default.default.cyan(`${name}`)}`);
|
|
259
259
|
tasks.Task.log();
|
|
260
260
|
tasks.Task.exit();
|
|
261
261
|
} catch (error) {
|
|
@@ -274,6 +274,6 @@ exports.addExportStatement = addExportStatement;
|
|
|
274
274
|
exports.addPluginDependencyToApp = addPluginDependencyToApp;
|
|
275
275
|
exports.addPluginExtensionToApp = addPluginExtensionToApp;
|
|
276
276
|
exports.capitalize = capitalize;
|
|
277
|
-
exports
|
|
277
|
+
exports.default = createPlugin;
|
|
278
278
|
exports.movePlugin = movePlugin;
|
|
279
|
-
//# sourceMappingURL=createPlugin-
|
|
279
|
+
//# sourceMappingURL=createPlugin-DmtKz0ob.cjs.js.map
|
|
@@ -7,19 +7,19 @@ 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-BD9P1D2C.cjs.js');
|
|
11
11
|
require('commander');
|
|
12
12
|
require('semver');
|
|
13
13
|
require('@backstage/cli-common');
|
|
14
14
|
require('@backstage/errors');
|
|
15
15
|
|
|
16
|
-
function
|
|
16
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
17
17
|
|
|
18
|
-
var fs__default = /*#__PURE__*/
|
|
19
|
-
var chalk__default = /*#__PURE__*/
|
|
20
|
-
var inquirer__default = /*#__PURE__*/
|
|
21
|
-
var handlebars__default = /*#__PURE__*/
|
|
22
|
-
var recursive__default = /*#__PURE__*/
|
|
18
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
19
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
20
|
+
var inquirer__default = /*#__PURE__*/_interopDefaultCompat(inquirer);
|
|
21
|
+
var handlebars__default = /*#__PURE__*/_interopDefaultCompat(handlebars);
|
|
22
|
+
var recursive__default = /*#__PURE__*/_interopDefaultCompat(recursive);
|
|
23
23
|
|
|
24
24
|
function sortObjectKeys(obj) {
|
|
25
25
|
const sortedKeys = Object.keys(obj).sort();
|
|
@@ -72,17 +72,17 @@ class PackageJsonHandler {
|
|
|
72
72
|
}
|
|
73
73
|
// Make sure a field inside package.json is in sync. This mutates the targetObj and writes package.json on change.
|
|
74
74
|
async syncField(fieldName, obj = this.pkg, targetObj = this.targetPkg, prefix, sort, optional) {
|
|
75
|
-
const fullFieldName = chalk__default
|
|
75
|
+
const fullFieldName = chalk__default.default.cyan(
|
|
76
76
|
prefix ? `${prefix}[${fieldName}]` : fieldName
|
|
77
77
|
);
|
|
78
78
|
const newValue = obj[fieldName];
|
|
79
|
-
const coloredNewValue = chalk__default
|
|
79
|
+
const coloredNewValue = chalk__default.default.cyan(JSON.stringify(newValue));
|
|
80
80
|
if (fieldName in targetObj) {
|
|
81
81
|
const oldValue = targetObj[fieldName];
|
|
82
82
|
if (JSON.stringify(oldValue) === JSON.stringify(newValue)) {
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
|
-
const coloredOldValue = chalk__default
|
|
85
|
+
const coloredOldValue = chalk__default.default.cyan(JSON.stringify(oldValue));
|
|
86
86
|
const msg = `package.json has mismatched field, ${fullFieldName}, change from ${coloredOldValue} to ${coloredNewValue}?`;
|
|
87
87
|
if (await this.prompt(msg)) {
|
|
88
88
|
targetObj[fieldName] = newValue;
|
|
@@ -216,7 +216,7 @@ class PackageJsonHandler {
|
|
|
216
216
|
}
|
|
217
217
|
async function exactMatchHandler({ path, write, missing, targetContents, templateContents }, prompt) {
|
|
218
218
|
console.log(`Checking ${path}`);
|
|
219
|
-
const coloredPath = chalk__default
|
|
219
|
+
const coloredPath = chalk__default.default.cyan(path);
|
|
220
220
|
if (missing) {
|
|
221
221
|
if (await prompt(`Missing ${coloredPath}, do you want to add it?`)) {
|
|
222
222
|
await write(templateContents);
|
|
@@ -229,9 +229,9 @@ async function exactMatchHandler({ path, write, missing, targetContents, templat
|
|
|
229
229
|
const diffs = differ.diffLines(targetContents, templateContents);
|
|
230
230
|
for (const diff of diffs) {
|
|
231
231
|
if (diff.added) {
|
|
232
|
-
process.stdout.write(chalk__default
|
|
232
|
+
process.stdout.write(chalk__default.default.green(`+${diff.value}`));
|
|
233
233
|
} else if (diff.removed) {
|
|
234
|
-
process.stdout.write(chalk__default
|
|
234
|
+
process.stdout.write(chalk__default.default.red(`-${diff.value}`));
|
|
235
235
|
} else {
|
|
236
236
|
process.stdout.write(` ${diff.value}`);
|
|
237
237
|
}
|
|
@@ -244,7 +244,7 @@ async function exactMatchHandler({ path, write, missing, targetContents, templat
|
|
|
244
244
|
}
|
|
245
245
|
async function existsHandler({ path, write, missing, templateContents }, prompt) {
|
|
246
246
|
console.log(`Making sure ${path} exists`);
|
|
247
|
-
const coloredPath = chalk__default
|
|
247
|
+
const coloredPath = chalk__default.default.cyan(path);
|
|
248
248
|
if (missing) {
|
|
249
249
|
if (await prompt(`Missing ${coloredPath}, do you want to add it?`)) {
|
|
250
250
|
await write(templateContents);
|
|
@@ -279,10 +279,10 @@ async function handleAllFiles(fileHandlers, files, promptFunc) {
|
|
|
279
279
|
}
|
|
280
280
|
|
|
281
281
|
const inquirerPromptFunc = async (msg) => {
|
|
282
|
-
const { result } = await inquirer__default
|
|
282
|
+
const { result } = await inquirer__default.default.prompt({
|
|
283
283
|
type: "confirm",
|
|
284
284
|
name: "result",
|
|
285
|
-
message: chalk__default
|
|
285
|
+
message: chalk__default.default.blue(msg)
|
|
286
286
|
});
|
|
287
287
|
return result;
|
|
288
288
|
};
|
|
@@ -290,7 +290,7 @@ const makeCheckPromptFunc = () => {
|
|
|
290
290
|
let failed = false;
|
|
291
291
|
const promptFunc = async (msg) => {
|
|
292
292
|
failed = true;
|
|
293
|
-
console.log(chalk__default
|
|
293
|
+
console.log(chalk__default.default.red(`[Check Failed] ${msg}`));
|
|
294
294
|
return false;
|
|
295
295
|
};
|
|
296
296
|
const finalize = () => {
|
|
@@ -308,12 +308,12 @@ const yesPromptFunc = async (msg) => {
|
|
|
308
308
|
};
|
|
309
309
|
|
|
310
310
|
async function readTemplateFile(templateFile, templateVars) {
|
|
311
|
-
const contents = await fs__default
|
|
311
|
+
const contents = await fs__default.default.readFile(templateFile, "utf8");
|
|
312
312
|
if (!templateFile.endsWith(".hbs")) {
|
|
313
313
|
return contents;
|
|
314
314
|
}
|
|
315
315
|
const packageVersionProvider = index.createPackageVersionProvider(void 0);
|
|
316
|
-
return handlebars__default
|
|
316
|
+
return handlebars__default.default.compile(contents)(templateVars, {
|
|
317
317
|
helpers: {
|
|
318
318
|
versionQuery(name, hint) {
|
|
319
319
|
return packageVersionProvider(
|
|
@@ -325,7 +325,7 @@ async function readTemplateFile(templateFile, templateVars) {
|
|
|
325
325
|
});
|
|
326
326
|
}
|
|
327
327
|
async function readTemplate(templateDir, templateVars) {
|
|
328
|
-
const templateFilePaths = await recursive__default
|
|
328
|
+
const templateFilePaths = await recursive__default.default(templateDir).catch((error) => {
|
|
329
329
|
throw new Error(`Failed to read template directory: ${error.message}`);
|
|
330
330
|
});
|
|
331
331
|
const templatedFiles = new Array();
|
|
@@ -340,13 +340,13 @@ async function diffTemplatedFiles(targetDir, templatedFiles) {
|
|
|
340
340
|
const fileDiffs = new Array();
|
|
341
341
|
for (const { path: path$1, contents: templateContents } of templatedFiles) {
|
|
342
342
|
const targetPath = path.resolve(targetDir, path$1);
|
|
343
|
-
const targetExists = await fs__default
|
|
343
|
+
const targetExists = await fs__default.default.pathExists(targetPath);
|
|
344
344
|
const write = async (contents) => {
|
|
345
|
-
await fs__default
|
|
346
|
-
await fs__default
|
|
345
|
+
await fs__default.default.ensureDir(path.dirname(targetPath));
|
|
346
|
+
await fs__default.default.writeFile(targetPath, contents, "utf8");
|
|
347
347
|
};
|
|
348
348
|
if (targetExists) {
|
|
349
|
-
const targetContents = await fs__default
|
|
349
|
+
const targetContents = await fs__default.default.readFile(targetPath, "utf8");
|
|
350
350
|
fileDiffs.push({
|
|
351
351
|
path: path$1,
|
|
352
352
|
write,
|
|
@@ -421,7 +421,7 @@ async function readPluginData() {
|
|
|
421
421
|
} catch (error) {
|
|
422
422
|
throw new Error(`Failed to read target package, ${error}`);
|
|
423
423
|
}
|
|
424
|
-
const pluginTsContents = await fs__default
|
|
424
|
+
const pluginTsContents = await fs__default.default.readFile(
|
|
425
425
|
index.paths.resolveTarget("src/plugin.ts"),
|
|
426
426
|
"utf8"
|
|
427
427
|
);
|
|
@@ -433,5 +433,5 @@ async function readPluginData() {
|
|
|
433
433
|
return { id, name, privatePackage, pluginVersion, npmRegistry };
|
|
434
434
|
}
|
|
435
435
|
|
|
436
|
-
exports
|
|
437
|
-
//# sourceMappingURL=diff-
|
|
436
|
+
exports.default = diff;
|
|
437
|
+
//# sourceMappingURL=diff-r_x8vq2Y.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-C0JsopsB.cjs.js');
|
|
6
6
|
require('@backstage/config');
|
|
7
|
-
require('./index-
|
|
7
|
+
require('./index-BD9P1D2C.cjs.js');
|
|
8
8
|
require('commander');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('fs-extra');
|
|
@@ -14,9 +14,9 @@ require('@backstage/errors');
|
|
|
14
14
|
require('@manypkg/get-packages');
|
|
15
15
|
require('@backstage/cli-node');
|
|
16
16
|
|
|
17
|
-
function
|
|
17
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
18
18
|
|
|
19
|
-
var openBrowser__default = /*#__PURE__*/
|
|
19
|
+
var openBrowser__default = /*#__PURE__*/_interopDefaultCompat(openBrowser);
|
|
20
20
|
|
|
21
21
|
const DOCS_URL = "https://config.backstage.io";
|
|
22
22
|
var docs = async (opts) => {
|
|
@@ -30,8 +30,8 @@ var docs = async (opts) => {
|
|
|
30
30
|
(_) => _.value
|
|
31
31
|
)
|
|
32
32
|
);
|
|
33
|
-
openBrowser__default
|
|
33
|
+
openBrowser__default.default(`${DOCS_URL}#schema=${JSON.stringify(schema)}`);
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
exports
|
|
37
|
-
//# sourceMappingURL=docs-
|
|
36
|
+
exports.default = docs;
|
|
37
|
+
//# sourceMappingURL=docs-DZLOofxw.cjs.js.map
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
var cliNode = require('@backstage/cli-node');
|
|
4
4
|
var fs = require('fs-extra');
|
|
5
5
|
var path = require('path');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-BD9P1D2C.cjs.js');
|
|
7
7
|
require('commander');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('semver');
|
|
10
10
|
require('@backstage/cli-common');
|
|
11
11
|
require('@backstage/errors');
|
|
12
12
|
|
|
13
|
-
function
|
|
13
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
14
|
|
|
15
|
-
var fs__default = /*#__PURE__*/
|
|
15
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
16
16
|
|
|
17
17
|
async function readFixablePackages() {
|
|
18
18
|
const packages = await cliNode.PackageGraph.listTargetPackages();
|
|
@@ -40,7 +40,7 @@ async function writeFixedPackages(packages) {
|
|
|
40
40
|
if (!pkg.changed) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
|
-
await fs__default
|
|
43
|
+
await fs__default.default.writeJson(
|
|
44
44
|
path.resolve(pkg.dir, "package.json"),
|
|
45
45
|
pkg.packageJson,
|
|
46
46
|
{
|
|
@@ -208,4 +208,4 @@ exports.fixSideEffects = fixSideEffects;
|
|
|
208
208
|
exports.printPackageFixHint = printPackageFixHint;
|
|
209
209
|
exports.readFixablePackages = readFixablePackages;
|
|
210
210
|
exports.writeFixedPackages = writeFixedPackages;
|
|
211
|
-
//# sourceMappingURL=fix-
|
|
211
|
+
//# sourceMappingURL=fix-BT7c1STH.cjs.js.map
|