@backstage/cli 0.9.1 → 0.10.3
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 +53 -0
- package/config/jest.js +5 -3
- package/dist/cjs/{Lockfile-80f0eec4.cjs.js → Lockfile-35661afa.cjs.js} +18 -18
- package/dist/cjs/{build-33ad5323.cjs.js → build-aa750983.cjs.js} +8 -7
- package/dist/cjs/{build-7302d21d.cjs.js → build-b73c146e.cjs.js} +8 -7
- package/dist/cjs/{build-75ee78ab.cjs.js → build-be0f943d.cjs.js} +25 -22
- package/dist/cjs/{build-e21fe681.cjs.js → build-e5c1f9cd.cjs.js} +9 -9
- package/dist/cjs/{buildWorkspace-fa590fad.cjs.js → buildWorkspace-8c1d5134.cjs.js} +6 -6
- package/dist/cjs/{bump-5e4ffccb.cjs.js → bump-d6b32625.cjs.js} +36 -36
- package/dist/cjs/{bundle-4390c300.cjs.js → bundle-a35469cc.cjs.js} +15 -15
- package/dist/cjs/{clean-9279505e.cjs.js → clean-2294315a.cjs.js} +6 -6
- package/dist/cjs/{config-6ab0fc63.cjs.js → config-956d86a6.cjs.js} +7 -8
- package/dist/cjs/{create-4ffadaca.cjs.js → create-cf52e54d.cjs.js} +41 -41
- package/dist/cjs/{createPlugin-eb7251ea.cjs.js → createPlugin-b87a78f0.cjs.js} +31 -31
- package/dist/cjs/{dev-02640e59.cjs.js → dev-0a2ead14.cjs.js} +8 -8
- package/dist/cjs/{diff-56188f93.cjs.js → diff-4789ad9c.cjs.js} +39 -32
- package/dist/cjs/{docs-8039cb55.cjs.js → docs-12b2616e.cjs.js} +6 -6
- package/dist/cjs/{index-e84c4ef7.cjs.js → index-451d4133.cjs.js} +14 -14
- package/dist/cjs/{index-a18a4cd9.cjs.js → index-a18da53d.cjs.js} +15 -15
- package/dist/cjs/{index-994e77d9.cjs.js → index-dc8e5d2a.cjs.js} +68 -72
- package/dist/cjs/{info-2a0746e3.cjs.js → info-c8361946.cjs.js} +6 -6
- package/dist/cjs/{install-807a9039.cjs.js → install-68bbffa5.cjs.js} +60 -33
- package/dist/cjs/{lint-03faccc3.cjs.js → lint-4ec38c59.cjs.js} +5 -5
- package/dist/cjs/{lint-50ae8c8b.cjs.js → lint-a525caa3.cjs.js} +7 -7
- package/dist/cjs/{pack-7d39c708.cjs.js → pack-5af390ec.cjs.js} +6 -6
- package/dist/cjs/{packager-d328c8db.cjs.js → packager-47e5dbe2.cjs.js} +37 -35
- package/dist/cjs/{packages-24e76f27.cjs.js → packages-5bd09b6a.cjs.js} +5 -5
- package/dist/cjs/{paths-eecbbe83.cjs.js → paths-136b374a.cjs.js} +62 -46
- package/dist/cjs/{print-fec91280.cjs.js → print-8d26381a.cjs.js} +5 -5
- package/dist/cjs/{removePlugin-595ea65d.cjs.js → removePlugin-272a3d37.cjs.js} +30 -29
- package/dist/cjs/{run-40072d67.cjs.js → run-330d1527.cjs.js} +5 -5
- package/dist/cjs/{schema-00648d3a.cjs.js → schema-ea8ebcbf.cjs.js} +5 -5
- package/dist/cjs/{serve-e57a7acf.cjs.js → serve-50b65188.cjs.js} +10 -10
- package/dist/cjs/{serve-199d043b.cjs.js → serve-9b01661e.cjs.js} +15 -15
- package/dist/cjs/{server-c7c24602.cjs.js → server-15a54ef2.cjs.js} +6 -6
- package/dist/cjs/{svgrTemplate-2d0d15cf.cjs.js → svgrTemplate-f19e974c.cjs.js} +3 -3
- package/dist/cjs/{tasks-0f3092d3.cjs.js → tasks-6e261e37.cjs.js} +29 -29
- package/dist/cjs/{testCommand-a5c5fec6.cjs.js → testCommand-a9f0692f.cjs.js} +4 -4
- package/dist/cjs/{validate-011c509c.cjs.js → validate-0a0893b6.cjs.js} +4 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +20 -23
- package/templates/default-plugin/package.json.hbs +3 -2
- package/dist/cjs/buildImage-477aa186.cjs.js +0 -77
|
@@ -4,8 +4,8 @@ var fs = require('fs-extra');
|
|
|
4
4
|
var path = require('path');
|
|
5
5
|
var chalk = require('chalk');
|
|
6
6
|
var inquirer = require('inquirer');
|
|
7
|
-
var tasks = require('./tasks-
|
|
8
|
-
var index = require('./index-
|
|
7
|
+
var tasks = require('./tasks-6e261e37.cjs.js');
|
|
8
|
+
var index = require('./index-dc8e5d2a.cjs.js');
|
|
9
9
|
var errors = require('@backstage/errors');
|
|
10
10
|
require('handlebars');
|
|
11
11
|
require('ora');
|
|
@@ -28,45 +28,45 @@ const BACKSTAGE = "@backstage";
|
|
|
28
28
|
const checkExists = async (rootDir, pluginName) => {
|
|
29
29
|
await tasks.Task.forItem("checking", pluginName, async () => {
|
|
30
30
|
try {
|
|
31
|
-
const destination = path__default[
|
|
32
|
-
const pathExist = await fs__default[
|
|
31
|
+
const destination = path__default["default"].join(rootDir, "plugins", pluginName);
|
|
32
|
+
const pathExist = await fs__default["default"].pathExists(destination);
|
|
33
33
|
if (!pathExist) {
|
|
34
|
-
throw new Error(chalk__default[
|
|
34
|
+
throw new Error(chalk__default["default"].red(` Plugin ${chalk__default["default"].cyan(pluginName)} does not exist!`));
|
|
35
35
|
}
|
|
36
36
|
} catch (e) {
|
|
37
37
|
errors.assertError(e);
|
|
38
|
-
throw new Error(chalk__default[
|
|
38
|
+
throw new Error(chalk__default["default"].red(` There was an error removing plugin ${chalk__default["default"].cyan(pluginName)}: ${e.message}`));
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
42
|
const removePluginDirectory = async (destination) => {
|
|
43
43
|
await tasks.Task.forItem("removing", "plugin files", async () => {
|
|
44
44
|
try {
|
|
45
|
-
await fs__default[
|
|
45
|
+
await fs__default["default"].remove(destination);
|
|
46
46
|
} catch (e) {
|
|
47
47
|
errors.assertError(e);
|
|
48
|
-
throw Error(chalk__default[
|
|
48
|
+
throw Error(chalk__default["default"].red(` There was a problem removing the plugin directory: ${e.message}`));
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
};
|
|
52
52
|
const removeSymLink = async (destination) => {
|
|
53
53
|
await tasks.Task.forItem("removing", "symbolic link", async () => {
|
|
54
|
-
const symLinkExists = await fs__default[
|
|
54
|
+
const symLinkExists = await fs__default["default"].pathExists(destination);
|
|
55
55
|
if (symLinkExists) {
|
|
56
56
|
try {
|
|
57
|
-
await fs__default[
|
|
57
|
+
await fs__default["default"].remove(destination);
|
|
58
58
|
} catch (e) {
|
|
59
59
|
errors.assertError(e);
|
|
60
|
-
throw Error(chalk__default[
|
|
60
|
+
throw Error(chalk__default["default"].red(` Could not remove symbolic link ${chalk__default["default"].cyan(destination)}: ${e.message}`));
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
};
|
|
65
65
|
const removeAllStatementsContainingID = async (file, ID) => {
|
|
66
|
-
const originalContent = await fs__default[
|
|
66
|
+
const originalContent = await fs__default["default"].readFile(file, "utf8");
|
|
67
67
|
const contentAfterRemoval = originalContent.split("\n").filter((statement) => !statement.includes(`${ID}`)).join("\n");
|
|
68
68
|
if (originalContent !== contentAfterRemoval) {
|
|
69
|
-
await fs__default[
|
|
69
|
+
await fs__default["default"].writeFile(file, contentAfterRemoval, "utf8");
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
|
@@ -77,7 +77,7 @@ const removeReferencesFromPluginsFile = async (pluginsFile, pluginName) => {
|
|
|
77
77
|
await removeAllStatementsContainingID(pluginsFile, pluginNameCapitalized);
|
|
78
78
|
} catch (e) {
|
|
79
79
|
errors.assertError(e);
|
|
80
|
-
throw new Error(chalk__default[
|
|
80
|
+
throw new Error(chalk__default["default"].red(` There was an error removing export statement for plugin ${chalk__default["default"].cyan(pluginNameCapitalized)}: ${e.message}`));
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
};
|
|
@@ -87,7 +87,7 @@ const removePluginFromCodeOwners = async (codeOwnersFile, pluginName) => {
|
|
|
87
87
|
await removeAllStatementsContainingID(codeOwnersFile, pluginName);
|
|
88
88
|
} catch (e) {
|
|
89
89
|
errors.assertError(e);
|
|
90
|
-
throw new Error(chalk__default[
|
|
90
|
+
throw new Error(chalk__default["default"].red(` There was an error removing code owners statement for plugin ${chalk__default["default"].cyan(pluginName)}: ${e.message}`));
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
93
|
};
|
|
@@ -95,44 +95,45 @@ const removeReferencesFromAppPackage = async (appPackageFile, pluginName) => {
|
|
|
95
95
|
const pluginPackage = `${BACKSTAGE}/plugin-${pluginName}`;
|
|
96
96
|
await tasks.Task.forItem("removing", "plugin app dependency", async () => {
|
|
97
97
|
try {
|
|
98
|
-
const appPackageFileContent = await fs__default[
|
|
98
|
+
const appPackageFileContent = await fs__default["default"].readFile(appPackageFile, "utf-8");
|
|
99
99
|
const appPackageFileContentJSON = JSON.parse(appPackageFileContent);
|
|
100
100
|
const dependencies = appPackageFileContentJSON.dependencies;
|
|
101
101
|
if (!dependencies[pluginPackage]) {
|
|
102
|
-
throw new Error(chalk__default[
|
|
102
|
+
throw new Error(chalk__default["default"].red(` Plugin ${chalk__default["default"].cyan(pluginPackage)} does not exist in ${chalk__default["default"].cyan(appPackageFile)}`));
|
|
103
103
|
}
|
|
104
104
|
delete dependencies[pluginPackage];
|
|
105
|
-
await fs__default[
|
|
105
|
+
await fs__default["default"].writeFile(appPackageFile, `${JSON.stringify(appPackageFileContentJSON, null, 2)}
|
|
106
106
|
`, "utf-8");
|
|
107
107
|
} catch (e) {
|
|
108
108
|
errors.assertError(e);
|
|
109
|
-
throw new Error(chalk__default[
|
|
109
|
+
throw new Error(chalk__default["default"].red(` Failed to remove plugin as dependency in app: ${chalk__default["default"].cyan(appPackageFile)}: ${e.message}`));
|
|
110
110
|
}
|
|
111
111
|
});
|
|
112
112
|
};
|
|
113
113
|
var removePlugin = async () => {
|
|
114
|
+
console.warn(chalk__default["default"].yellow("[DEPRECATED] - The remove-plugin command is deprecated and will be removed in the future."));
|
|
114
115
|
const questions = [
|
|
115
116
|
{
|
|
116
117
|
type: "input",
|
|
117
118
|
name: "pluginName",
|
|
118
|
-
message: chalk__default[
|
|
119
|
+
message: chalk__default["default"].blue("Enter the ID of the plugin to be removed [required]"),
|
|
119
120
|
validate: (value) => {
|
|
120
121
|
if (!value) {
|
|
121
|
-
return chalk__default[
|
|
122
|
+
return chalk__default["default"].red("Please enter an ID for the plugin");
|
|
122
123
|
} else if (!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(value)) {
|
|
123
|
-
return chalk__default[
|
|
124
|
+
return chalk__default["default"].red("Plugin IDs must be lowercase and contain only letters, digits and dashes.");
|
|
124
125
|
}
|
|
125
126
|
return true;
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
];
|
|
129
|
-
const answers = await inquirer__default[
|
|
130
|
+
const answers = await inquirer__default["default"].prompt(questions);
|
|
130
131
|
const pluginName = answers.pluginName;
|
|
131
132
|
const appPackage = index.paths.resolveTargetRoot("packages/app");
|
|
132
133
|
const pluginDir = index.paths.resolveTargetRoot("plugins", answers.pluginName);
|
|
133
134
|
const codeOwnersFile = await tasks.getCodeownersFilePath(index.paths.targetRoot);
|
|
134
|
-
const appPackageFile = path__default[
|
|
135
|
-
const appPluginsFile = path__default[
|
|
135
|
+
const appPackageFile = path__default["default"].join(appPackage, "package.json");
|
|
136
|
+
const appPluginsFile = path__default["default"].join(appPackage, "src", "plugins.ts");
|
|
136
137
|
const pluginScopedDirectory = index.paths.resolveTargetRoot("node_modules", BACKSTAGE, `plugin-${pluginName}`);
|
|
137
138
|
tasks.Task.log();
|
|
138
139
|
tasks.Task.log("Removing the plugin...");
|
|
@@ -144,7 +145,7 @@ var removePlugin = async () => {
|
|
|
144
145
|
await removePluginDirectory(pluginDir);
|
|
145
146
|
tasks.Task.section("Removing symbolic link from @backstage.");
|
|
146
147
|
await removeSymLink(pluginScopedDirectory);
|
|
147
|
-
if (await fs__default[
|
|
148
|
+
if (await fs__default["default"].pathExists(appPackage)) {
|
|
148
149
|
tasks.Task.section("Removing references from plugins.ts.");
|
|
149
150
|
await removeReferencesFromPluginsFile(appPluginsFile, pluginName);
|
|
150
151
|
tasks.Task.section("Removing plugin dependency from app.");
|
|
@@ -155,7 +156,7 @@ var removePlugin = async () => {
|
|
|
155
156
|
await removePluginFromCodeOwners(codeOwnersFile, pluginName);
|
|
156
157
|
}
|
|
157
158
|
tasks.Task.log();
|
|
158
|
-
tasks.Task.log(`\u{1F947} Successfully removed ${chalk__default[
|
|
159
|
+
tasks.Task.log(`\u{1F947} Successfully removed ${chalk__default["default"].cyan(`@backstage/plugin-${answers.id}`)}`);
|
|
159
160
|
tasks.Task.log();
|
|
160
161
|
} catch (error) {
|
|
161
162
|
errors.assertError(error);
|
|
@@ -165,10 +166,10 @@ var removePlugin = async () => {
|
|
|
165
166
|
};
|
|
166
167
|
|
|
167
168
|
exports.checkExists = checkExists;
|
|
168
|
-
exports
|
|
169
|
+
exports["default"] = removePlugin;
|
|
169
170
|
exports.removePluginDirectory = removePluginDirectory;
|
|
170
171
|
exports.removePluginFromCodeOwners = removePluginFromCodeOwners;
|
|
171
172
|
exports.removeReferencesFromAppPackage = removeReferencesFromAppPackage;
|
|
172
173
|
exports.removeReferencesFromPluginsFile = removeReferencesFromPluginsFile;
|
|
173
174
|
exports.removeSymLink = removeSymLink;
|
|
174
|
-
//# sourceMappingURL=removePlugin-
|
|
175
|
+
//# sourceMappingURL=removePlugin-272a3d37.cjs.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var child_process = require('child_process');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-dc8e5d2a.cjs.js');
|
|
5
5
|
var util = require('util');
|
|
6
6
|
var errors = require('@backstage/errors');
|
|
7
7
|
|
|
8
8
|
const execFile = util.promisify(child_process.execFile);
|
|
9
9
|
async function run(name, args = [], options = {}) {
|
|
10
10
|
var _a;
|
|
11
|
-
const {stdoutLogFunc, stderrLogFunc} = options;
|
|
11
|
+
const { stdoutLogFunc, stderrLogFunc } = options;
|
|
12
12
|
const env = {
|
|
13
13
|
...process.env,
|
|
14
14
|
FORCE_COLOR: "true",
|
|
@@ -35,7 +35,7 @@ async function run(name, args = [], options = {}) {
|
|
|
35
35
|
}
|
|
36
36
|
async function runPlain(cmd, ...args) {
|
|
37
37
|
try {
|
|
38
|
-
const {stdout} = await execFile(cmd, args, {shell: true});
|
|
38
|
+
const { stdout } = await execFile(cmd, args, { shell: true });
|
|
39
39
|
return stdout.trim();
|
|
40
40
|
} catch (error) {
|
|
41
41
|
errors.assertError(error);
|
|
@@ -50,7 +50,7 @@ async function runPlain(cmd, ...args) {
|
|
|
50
50
|
}
|
|
51
51
|
async function runCheck(cmd, ...args) {
|
|
52
52
|
try {
|
|
53
|
-
await execFile(cmd, args, {shell: true});
|
|
53
|
+
await execFile(cmd, args, { shell: true });
|
|
54
54
|
return true;
|
|
55
55
|
} catch (error) {
|
|
56
56
|
return false;
|
|
@@ -78,4 +78,4 @@ async function waitForExit(child, name) {
|
|
|
78
78
|
exports.run = run;
|
|
79
79
|
exports.runCheck = runCheck;
|
|
80
80
|
exports.runPlain = runPlain;
|
|
81
|
-
//# sourceMappingURL=run-
|
|
81
|
+
//# sourceMappingURL=run-330d1527.cjs.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var yaml = require('yaml');
|
|
4
|
-
var config = require('./config-
|
|
4
|
+
var config = require('./config-956d86a6.cjs.js');
|
|
5
5
|
var configLoader = require('@backstage/config-loader');
|
|
6
6
|
require('@backstage/config');
|
|
7
|
-
require('./index-
|
|
7
|
+
require('./index-dc8e5d2a.cjs.js');
|
|
8
8
|
require('commander');
|
|
9
9
|
require('chalk');
|
|
10
10
|
require('fs-extra');
|
|
@@ -14,7 +14,7 @@ require('@backstage/config/package.json');
|
|
|
14
14
|
require('@backstage/errors');
|
|
15
15
|
|
|
16
16
|
var schema = async (cmd) => {
|
|
17
|
-
const {schema} = await config.loadCliConfig({
|
|
17
|
+
const { schema } = await config.loadCliConfig({
|
|
18
18
|
args: [],
|
|
19
19
|
fromPackage: cmd.package,
|
|
20
20
|
mockEnv: true
|
|
@@ -31,5 +31,5 @@ var schema = async (cmd) => {
|
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
exports
|
|
35
|
-
//# sourceMappingURL=schema-
|
|
34
|
+
exports["default"] = schema;
|
|
35
|
+
//# sourceMappingURL=schema-ea8ebcbf.cjs.js.map
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
require('webpack');
|
|
5
|
+
require('chalk');
|
|
5
6
|
require('path');
|
|
6
7
|
require('fork-ts-checker-webpack-plugin');
|
|
7
8
|
require('html-webpack-plugin');
|
|
@@ -11,15 +12,14 @@ require('webpack-node-externals');
|
|
|
11
12
|
require('@backstage/cli-common');
|
|
12
13
|
require('terser-webpack-plugin');
|
|
13
14
|
require('mini-css-extract-plugin');
|
|
14
|
-
var index = require('./index-
|
|
15
|
-
require('./run-
|
|
15
|
+
var index = require('./index-dc8e5d2a.cjs.js');
|
|
16
|
+
require('./run-330d1527.cjs.js');
|
|
16
17
|
require('lodash/pickBy');
|
|
17
18
|
require('yn');
|
|
18
19
|
require('react-dev-utils/FileSizeReporter');
|
|
19
20
|
require('react-dev-utils/formatWebpackMessages');
|
|
20
|
-
require('
|
|
21
|
-
var
|
|
22
|
-
var config = require('./config-6ab0fc63.cjs.js');
|
|
21
|
+
var server = require('./server-15a54ef2.cjs.js');
|
|
22
|
+
var config = require('./config-956d86a6.cjs.js');
|
|
23
23
|
require('commander');
|
|
24
24
|
require('semver');
|
|
25
25
|
require('@backstage/config/package.json');
|
|
@@ -28,9 +28,9 @@ require('child_process');
|
|
|
28
28
|
require('util');
|
|
29
29
|
require('webpack-dev-server');
|
|
30
30
|
require('react-dev-utils/openBrowser');
|
|
31
|
-
require('./paths-
|
|
31
|
+
require('./paths-136b374a.cjs.js');
|
|
32
32
|
require('./parallel-a4714c72.cjs.js');
|
|
33
|
-
require('./svgrTemplate-
|
|
33
|
+
require('./svgrTemplate-f19e974c.cjs.js');
|
|
34
34
|
require('@backstage/config-loader');
|
|
35
35
|
require('@backstage/config');
|
|
36
36
|
|
|
@@ -39,7 +39,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
39
39
|
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
40
40
|
|
|
41
41
|
var serve = async (cmd) => {
|
|
42
|
-
const {name} = await fs__default[
|
|
42
|
+
const { name } = await fs__default["default"].readJson(index.paths.resolveTarget("package.json"));
|
|
43
43
|
const waitForExit = await server.serveBundle({
|
|
44
44
|
entry: "dev/index",
|
|
45
45
|
checksEnabled: cmd.check,
|
|
@@ -52,5 +52,5 @@ var serve = async (cmd) => {
|
|
|
52
52
|
await waitForExit();
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
exports
|
|
56
|
-
//# sourceMappingURL=serve-
|
|
55
|
+
exports["default"] = serve;
|
|
56
|
+
//# sourceMappingURL=serve-50b65188.cjs.js.map
|
|
@@ -13,16 +13,16 @@ require('webpack-node-externals');
|
|
|
13
13
|
require('@backstage/cli-common');
|
|
14
14
|
require('terser-webpack-plugin');
|
|
15
15
|
require('mini-css-extract-plugin');
|
|
16
|
-
var index = require('./index-
|
|
17
|
-
require('./run-
|
|
16
|
+
var index = require('./index-dc8e5d2a.cjs.js');
|
|
17
|
+
require('./run-330d1527.cjs.js');
|
|
18
18
|
require('lodash/pickBy');
|
|
19
19
|
require('yn');
|
|
20
20
|
require('react-dev-utils/FileSizeReporter');
|
|
21
21
|
require('react-dev-utils/formatWebpackMessages');
|
|
22
|
-
var server = require('./server-
|
|
23
|
-
var config = require('./config-
|
|
24
|
-
var Lockfile = require('./Lockfile-
|
|
25
|
-
var lint = require('./lint-
|
|
22
|
+
var server = require('./server-15a54ef2.cjs.js');
|
|
23
|
+
var config = require('./config-956d86a6.cjs.js');
|
|
24
|
+
var Lockfile = require('./Lockfile-35661afa.cjs.js');
|
|
25
|
+
var lint = require('./lint-a525caa3.cjs.js');
|
|
26
26
|
require('commander');
|
|
27
27
|
require('semver');
|
|
28
28
|
require('@backstage/config/package.json');
|
|
@@ -31,9 +31,9 @@ require('child_process');
|
|
|
31
31
|
require('util');
|
|
32
32
|
require('webpack-dev-server');
|
|
33
33
|
require('react-dev-utils/openBrowser');
|
|
34
|
-
require('./paths-
|
|
34
|
+
require('./paths-136b374a.cjs.js');
|
|
35
35
|
require('./parallel-a4714c72.cjs.js');
|
|
36
|
-
require('./svgrTemplate-
|
|
36
|
+
require('./svgrTemplate-f19e974c.cjs.js');
|
|
37
37
|
require('@backstage/config-loader');
|
|
38
38
|
require('@backstage/config');
|
|
39
39
|
require('@yarnpkg/lockfile');
|
|
@@ -50,18 +50,18 @@ var serve = async (cmd) => {
|
|
|
50
50
|
const result = lockfile.analyze({
|
|
51
51
|
filter: lint.includedFilter
|
|
52
52
|
});
|
|
53
|
-
const problemPackages = [...result.newVersions, ...result.newRanges].map(({name: name2}) => name2);
|
|
53
|
+
const problemPackages = [...result.newVersions, ...result.newRanges].map(({ name: name2 }) => name2);
|
|
54
54
|
if (problemPackages.length > 1) {
|
|
55
|
-
console.log(chalk__default[
|
|
55
|
+
console.log(chalk__default["default"].yellow(`\u26A0\uFE0F Some of the following packages may be outdated or have duplicate installations:
|
|
56
56
|
|
|
57
|
-
${uniq__default[
|
|
57
|
+
${uniq__default["default"](problemPackages).join(", ")}
|
|
58
58
|
`));
|
|
59
|
-
console.log(chalk__default[
|
|
59
|
+
console.log(chalk__default["default"].yellow(`\u26A0\uFE0F This can be resolved using the following command:
|
|
60
60
|
|
|
61
61
|
yarn backstage-cli versions:check --fix
|
|
62
62
|
`));
|
|
63
63
|
}
|
|
64
|
-
const {name} = await fs__default[
|
|
64
|
+
const { name } = await fs__default["default"].readJson(index.paths.resolveTarget("package.json"));
|
|
65
65
|
const waitForExit = await server.serveBundle({
|
|
66
66
|
entry: "src/index",
|
|
67
67
|
checksEnabled: cmd.check,
|
|
@@ -74,5 +74,5 @@ var serve = async (cmd) => {
|
|
|
74
74
|
await waitForExit();
|
|
75
75
|
};
|
|
76
76
|
|
|
77
|
-
exports
|
|
78
|
-
//# sourceMappingURL=serve-
|
|
77
|
+
exports["default"] = serve;
|
|
78
|
+
//# sourceMappingURL=serve-9b01661e.cjs.js.map
|
|
@@ -4,7 +4,7 @@ var fs = require('fs-extra');
|
|
|
4
4
|
var webpack = require('webpack');
|
|
5
5
|
var WebpackDevServer = require('webpack-dev-server');
|
|
6
6
|
var openBrowser = require('react-dev-utils/openBrowser');
|
|
7
|
-
var paths = require('./paths-
|
|
7
|
+
var paths = require('./paths-136b374a.cjs.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
@@ -20,14 +20,14 @@ async function serveBundle(options) {
|
|
|
20
20
|
const port = options.frontendConfig.getOptionalNumber("app.listen.port") || Number(url.port) || (url.protocol === "https:" ? 443 : 80);
|
|
21
21
|
const paths$1 = paths.resolveBundlingPaths(options);
|
|
22
22
|
const pkgPath = paths$1.targetPackageJson;
|
|
23
|
-
const pkg = await fs__default[
|
|
23
|
+
const pkg = await fs__default["default"].readJson(pkgPath);
|
|
24
24
|
const config = await paths.createConfig(paths$1, {
|
|
25
25
|
...options,
|
|
26
26
|
isDev: true,
|
|
27
27
|
baseUrl: url
|
|
28
28
|
});
|
|
29
|
-
const compiler = webpack__default[
|
|
30
|
-
const server = new WebpackDevServer__default[
|
|
29
|
+
const compiler = webpack__default["default"](config);
|
|
30
|
+
const server = new WebpackDevServer__default["default"](compiler, {
|
|
31
31
|
hot: !process.env.CI,
|
|
32
32
|
devMiddleware: {
|
|
33
33
|
publicPath: (_a = config.output) == null ? void 0 : _a.publicPath,
|
|
@@ -52,7 +52,7 @@ async function serveBundle(options) {
|
|
|
52
52
|
reject(err);
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
openBrowser__default[
|
|
55
|
+
openBrowser__default["default"](url.href);
|
|
56
56
|
resolve();
|
|
57
57
|
});
|
|
58
58
|
});
|
|
@@ -70,4 +70,4 @@ async function serveBundle(options) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
exports.serveBundle = serveBundle;
|
|
73
|
-
//# sourceMappingURL=server-
|
|
73
|
+
//# sourceMappingURL=server-15a54ef2.cjs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
function svgrTemplate({template}, _opts, {imports, interfaces, componentName, jsx}) {
|
|
3
|
+
function svgrTemplate({ template }, _opts, { imports, interfaces, componentName, jsx }) {
|
|
4
4
|
const iconName = {
|
|
5
5
|
...componentName,
|
|
6
6
|
name: `${componentName.name.replace(/icon$/, "")}Icon`
|
|
@@ -9,7 +9,7 @@ function svgrTemplate({template}, _opts, {imports, interfaces, componentName, js
|
|
|
9
9
|
type: "ExportDefaultDeclaration",
|
|
10
10
|
declaration: iconName
|
|
11
11
|
};
|
|
12
|
-
const typeScriptTemplate = template.smart({plugins: ["typescript"]});
|
|
12
|
+
const typeScriptTemplate = template.smart({ plugins: ["typescript"] });
|
|
13
13
|
return typeScriptTemplate.ast`
|
|
14
14
|
${imports}
|
|
15
15
|
import SvgIcon from '@material-ui/core/SvgIcon';
|
|
@@ -22,4 +22,4 @@ ${defaultExport}`;
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
exports.svgrTemplate = svgrTemplate;
|
|
25
|
-
//# sourceMappingURL=svgrTemplate-
|
|
25
|
+
//# sourceMappingURL=svgrTemplate-f19e974c.cjs.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
4
|
var path = require('path');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-dc8e5d2a.cjs.js');
|
|
6
6
|
var chalk = require('chalk');
|
|
7
7
|
var handlebars = require('handlebars');
|
|
8
8
|
var ora = require('ora');
|
|
@@ -26,13 +26,13 @@ const EMAIL_RE = /^[^@]+@[-.\w]+\.[-\w]+$/i;
|
|
|
26
26
|
const DEFAULT_OWNER = "@backstage/maintainers";
|
|
27
27
|
async function getCodeownersFilePath(rootDir) {
|
|
28
28
|
const possiblePaths = [
|
|
29
|
-
path__default[
|
|
30
|
-
path__default[
|
|
31
|
-
path__default[
|
|
32
|
-
path__default[
|
|
29
|
+
path__default["default"].join(rootDir, ".github", "CODEOWNERS"),
|
|
30
|
+
path__default["default"].join(rootDir, ".gitlab", "CODEOWNERS"),
|
|
31
|
+
path__default["default"].join(rootDir, "docs", "CODEOWNERS"),
|
|
32
|
+
path__default["default"].join(rootDir, "CODEOWNERS")
|
|
33
33
|
];
|
|
34
34
|
for (const p of possiblePaths) {
|
|
35
|
-
if (await fs__default[
|
|
35
|
+
if (await fs__default["default"].pathExists(p)) {
|
|
36
36
|
return p;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -66,7 +66,7 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
|
|
|
66
66
|
return false;
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
const allLines = (await fs__default[
|
|
69
|
+
const allLines = (await fs__default["default"].readFile(filePath, "utf8")).split("\n");
|
|
70
70
|
const commentLines = [];
|
|
71
71
|
for (const line of allLines) {
|
|
72
72
|
if (line[0] !== "#") {
|
|
@@ -78,7 +78,7 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
|
|
|
78
78
|
ownedPath: tokens[0],
|
|
79
79
|
ownerIds: tokens.slice(1)
|
|
80
80
|
}));
|
|
81
|
-
const newDeclarationEntries = oldDeclarationEntries.filter((entry) => entry.ownedPath !== "*").concat([{ownedPath, ownerIds}]).sort((l1, l2) => l1.ownedPath.localeCompare(l2.ownedPath));
|
|
81
|
+
const newDeclarationEntries = oldDeclarationEntries.filter((entry) => entry.ownedPath !== "*").concat([{ ownedPath, ownerIds }]).sort((l1, l2) => l1.ownedPath.localeCompare(l2.ownedPath));
|
|
82
82
|
newDeclarationEntries.unshift({
|
|
83
83
|
ownedPath: "*",
|
|
84
84
|
ownerIds: [DEFAULT_OWNER]
|
|
@@ -89,7 +89,7 @@ async function addCodeownersEntry(ownedPath, ownerStr, codeownersFilePath) {
|
|
|
89
89
|
return [entryPath, ...entry.ownerIds].join(" ");
|
|
90
90
|
});
|
|
91
91
|
const newLines = [...commentLines, "", ...newDeclarationLines, ""];
|
|
92
|
-
await fs__default[
|
|
92
|
+
await fs__default["default"].writeFile(filePath, newLines.join("\n"), "utf8");
|
|
93
93
|
return true;
|
|
94
94
|
}
|
|
95
95
|
|
|
@@ -97,17 +97,17 @@ const exec = util.promisify(child_process.exec);
|
|
|
97
97
|
const TASK_NAME_MAX_LENGTH = 14;
|
|
98
98
|
class Task {
|
|
99
99
|
static log(name = "") {
|
|
100
|
-
process.stderr.write(`${chalk__default[
|
|
100
|
+
process.stderr.write(`${chalk__default["default"].green(name)}
|
|
101
101
|
`);
|
|
102
102
|
}
|
|
103
103
|
static error(message = "") {
|
|
104
104
|
process.stderr.write(`
|
|
105
|
-
${chalk__default[
|
|
105
|
+
${chalk__default["default"].red(message)}
|
|
106
106
|
|
|
107
107
|
`);
|
|
108
108
|
}
|
|
109
109
|
static section(name) {
|
|
110
|
-
const title = chalk__default[
|
|
110
|
+
const title = chalk__default["default"].green(`${name}:`);
|
|
111
111
|
process.stderr.write(`
|
|
112
112
|
${title}
|
|
113
113
|
`);
|
|
@@ -116,9 +116,9 @@ ${chalk__default['default'].red(message)}
|
|
|
116
116
|
process.exit(code);
|
|
117
117
|
}
|
|
118
118
|
static async forItem(task, item, taskFunc) {
|
|
119
|
-
const paddedTask = chalk__default[
|
|
120
|
-
const spinner = ora__default[
|
|
121
|
-
prefixText: chalk__default[
|
|
119
|
+
const paddedTask = chalk__default["default"].green(task.padEnd(TASK_NAME_MAX_LENGTH));
|
|
120
|
+
const spinner = ora__default["default"]({
|
|
121
|
+
prefixText: chalk__default["default"].green(` ${paddedTask}${chalk__default["default"].cyan(item)}`),
|
|
122
122
|
spinner: "arc",
|
|
123
123
|
color: "green"
|
|
124
124
|
}).start();
|
|
@@ -134,7 +134,7 @@ ${chalk__default['default'].red(message)}
|
|
|
134
134
|
static async forCommand(command, options) {
|
|
135
135
|
try {
|
|
136
136
|
await Task.forItem("executing", command, async () => {
|
|
137
|
-
await exec(command, {cwd: options == null ? void 0 : options.cwd});
|
|
137
|
+
await exec(command, { cwd: options == null ? void 0 : options.cwd });
|
|
138
138
|
});
|
|
139
139
|
} catch (error) {
|
|
140
140
|
errors.assertError(error);
|
|
@@ -145,36 +145,36 @@ ${chalk__default['default'].red(message)}
|
|
|
145
145
|
process.stdout.write(error.stdout);
|
|
146
146
|
}
|
|
147
147
|
if (options == null ? void 0 : options.optional) {
|
|
148
|
-
Task.error(`Warning: Failed to execute command ${chalk__default[
|
|
148
|
+
Task.error(`Warning: Failed to execute command ${chalk__default["default"].cyan(command)}`);
|
|
149
149
|
} else {
|
|
150
|
-
throw new Error(`Failed to execute command '${chalk__default[
|
|
150
|
+
throw new Error(`Failed to execute command '${chalk__default["default"].cyan(command)}', ${error}`);
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
async function templatingTask(templateDir, destinationDir, context, versionProvider) {
|
|
156
|
-
const files = await recursive__default[
|
|
156
|
+
const files = await recursive__default["default"](templateDir).catch((error) => {
|
|
157
157
|
throw new Error(`Failed to read template directory: ${error.message}`);
|
|
158
158
|
});
|
|
159
|
-
const isMonoRepo = await fs__default[
|
|
159
|
+
const isMonoRepo = await fs__default["default"].pathExists(index.paths.resolveTargetRoot("lerna.json"));
|
|
160
160
|
for (const file of files) {
|
|
161
161
|
const destinationFile = file.replace(templateDir, destinationDir);
|
|
162
|
-
await fs__default[
|
|
162
|
+
await fs__default["default"].ensureDir(path.dirname(destinationFile));
|
|
163
163
|
if (file.endsWith(".hbs")) {
|
|
164
164
|
await Task.forItem("templating", path.basename(file), async () => {
|
|
165
165
|
const destination = destinationFile.replace(/\.hbs$/, "");
|
|
166
|
-
const template = await fs__default[
|
|
167
|
-
const compiled = handlebars__default[
|
|
166
|
+
const template = await fs__default["default"].readFile(file);
|
|
167
|
+
const compiled = handlebars__default["default"].compile(template.toString(), {
|
|
168
168
|
strict: true
|
|
169
169
|
});
|
|
170
|
-
const contents = compiled({name: path.basename(destination), ...context}, {
|
|
170
|
+
const contents = compiled({ name: path.basename(destination), ...context }, {
|
|
171
171
|
helpers: {
|
|
172
172
|
versionQuery(name, versionHint) {
|
|
173
173
|
return versionProvider(name, typeof versionHint === "string" ? versionHint : void 0);
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
});
|
|
177
|
-
await fs__default[
|
|
177
|
+
await fs__default["default"].writeFile(destination, contents).catch((error) => {
|
|
178
178
|
throw new Error(`Failed to create file: ${destination}: ${error.message}`);
|
|
179
179
|
});
|
|
180
180
|
});
|
|
@@ -183,7 +183,7 @@ async function templatingTask(templateDir, destinationDir, context, versionProvi
|
|
|
183
183
|
continue;
|
|
184
184
|
}
|
|
185
185
|
await Task.forItem("copying", path.basename(file), async () => {
|
|
186
|
-
await fs__default[
|
|
186
|
+
await fs__default["default"].copyFile(file, destinationFile).catch((error) => {
|
|
187
187
|
const destination = destinationFile;
|
|
188
188
|
throw new Error(`Failed to copy file to ${destination} : ${error.message}`);
|
|
189
189
|
});
|
|
@@ -193,7 +193,7 @@ async function templatingTask(templateDir, destinationDir, context, versionProvi
|
|
|
193
193
|
}
|
|
194
194
|
async function addPackageDependency(path, options) {
|
|
195
195
|
try {
|
|
196
|
-
const pkgJson = await fs__default[
|
|
196
|
+
const pkgJson = await fs__default["default"].readJson(path);
|
|
197
197
|
const normalize = (obj) => {
|
|
198
198
|
if (Object.keys(obj).length === 0) {
|
|
199
199
|
return void 0;
|
|
@@ -212,7 +212,7 @@ async function addPackageDependency(path, options) {
|
|
|
212
212
|
...pkgJson.peerDependencies,
|
|
213
213
|
...options.peerDependencies
|
|
214
214
|
});
|
|
215
|
-
await fs__default[
|
|
215
|
+
await fs__default["default"].writeJson(path, pkgJson, { spaces: 2 });
|
|
216
216
|
} catch (error) {
|
|
217
217
|
throw new Error(`Failed to add package dependencies, ${error}`);
|
|
218
218
|
}
|
|
@@ -224,4 +224,4 @@ exports.addPackageDependency = addPackageDependency;
|
|
|
224
224
|
exports.getCodeownersFilePath = getCodeownersFilePath;
|
|
225
225
|
exports.parseOwnerIds = parseOwnerIds;
|
|
226
226
|
exports.templatingTask = templatingTask;
|
|
227
|
-
//# sourceMappingURL=tasks-
|
|
227
|
+
//# sourceMappingURL=tasks-6e261e37.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var run = require('./run-
|
|
3
|
+
var index = require('./index-dc8e5d2a.cjs.js');
|
|
4
|
+
var run = require('./run-330d1527.cjs.js');
|
|
5
5
|
require('commander');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('fs-extra');
|
|
@@ -44,5 +44,5 @@ var testCommand = async (cmd) => {
|
|
|
44
44
|
await require("jest").run(args);
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
-
exports
|
|
48
|
-
//# sourceMappingURL=testCommand-
|
|
47
|
+
exports["default"] = testCommand;
|
|
48
|
+
//# sourceMappingURL=testCommand-a9f0692f.cjs.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var config = require('./config-
|
|
3
|
+
var config = require('./config-956d86a6.cjs.js');
|
|
4
4
|
require('@backstage/config-loader');
|
|
5
5
|
require('@backstage/config');
|
|
6
|
-
require('./index-
|
|
6
|
+
require('./index-dc8e5d2a.cjs.js');
|
|
7
7
|
require('commander');
|
|
8
8
|
require('chalk');
|
|
9
9
|
require('fs-extra');
|
|
@@ -21,5 +21,5 @@ var validate = async (cmd) => {
|
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
exports
|
|
25
|
-
//# sourceMappingURL=validate-
|
|
24
|
+
exports["default"] = validate;
|
|
25
|
+
//# sourceMappingURL=validate-0a0893b6.cjs.js.map
|