@backstage/cli 0.10.0 → 0.10.4
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 +51 -0
- package/config/jest.js +5 -3
- package/dist/cjs/{Lockfile-80f0eec4.cjs.js → Lockfile-35661afa.cjs.js} +18 -18
- package/dist/cjs/{build-555a7349.cjs.js → build-16f16d70.cjs.js} +9 -9
- package/dist/cjs/{build-8652aa69.cjs.js → build-ba4675b9.cjs.js} +8 -7
- package/dist/cjs/{build-be463597.cjs.js → build-e7dbdd80.cjs.js} +23 -23
- package/dist/cjs/{build-b5fb2b35.cjs.js → build-f3921423.cjs.js} +8 -7
- package/dist/cjs/{buildWorkspace-79c93924.cjs.js → buildWorkspace-a573304e.cjs.js} +6 -6
- package/dist/cjs/{bump-53a961f8.cjs.js → bump-0acacde9.cjs.js} +36 -36
- package/dist/cjs/{bundle-64a797f5.cjs.js → bundle-8bcde9c4.cjs.js} +15 -15
- package/dist/cjs/{clean-a28705b5.cjs.js → clean-f5d3a3ff.cjs.js} +6 -6
- package/dist/cjs/{config-3816244a.cjs.js → config-02308249.cjs.js} +17 -9
- package/dist/cjs/{create-d5e65154.cjs.js → create-2c1328b1.cjs.js} +41 -41
- package/dist/cjs/{createPlugin-77a95bbd.cjs.js → createPlugin-33636b2b.cjs.js} +31 -31
- package/dist/cjs/{dev-3b68b882.cjs.js → dev-c74959e4.cjs.js} +8 -8
- package/dist/cjs/{diff-7238cc6c.cjs.js → diff-d393a7d6.cjs.js} +39 -32
- package/dist/cjs/{docs-f46d6945.cjs.js → docs-43abe831.cjs.js} +6 -6
- package/dist/cjs/{index-8a512334.cjs.js → index-60792ea9.cjs.js} +65 -68
- package/dist/cjs/{index-05328067.cjs.js → index-d1f94b33.cjs.js} +15 -15
- package/dist/cjs/{index-c8a3517a.cjs.js → index-f5dcae68.cjs.js} +14 -14
- package/dist/cjs/{info-a069f3b4.cjs.js → info-f260605b.cjs.js} +6 -6
- package/dist/cjs/{install-43a8076b.cjs.js → install-db22d18d.cjs.js} +60 -33
- package/dist/cjs/{lint-60658813.cjs.js → lint-0c8dd45e.cjs.js} +5 -5
- package/dist/cjs/{lint-0053aded.cjs.js → lint-f4a40773.cjs.js} +7 -7
- package/dist/cjs/{pack-a4246579.cjs.js → pack-f5669e4f.cjs.js} +6 -6
- package/dist/cjs/{packager-b1a183ad.cjs.js → packager-ce069fd1.cjs.js} +37 -35
- package/dist/cjs/{packages-562fcd14.cjs.js → packages-587c99dd.cjs.js} +5 -5
- package/dist/cjs/{paths-f77bdf66.cjs.js → paths-8d6dfec1.cjs.js} +62 -46
- package/dist/cjs/{print-db876002.cjs.js → print-5db03c66.cjs.js} +5 -5
- package/dist/cjs/{removePlugin-1379b63a.cjs.js → removePlugin-5984ee26.cjs.js} +30 -30
- package/dist/cjs/{run-bacdaaf1.cjs.js → run-8b1e277a.cjs.js} +5 -5
- package/dist/cjs/{schema-3fe57ce7.cjs.js → schema-37d6a972.cjs.js} +5 -5
- package/dist/cjs/{serve-e89d4ea4.cjs.js → serve-aaec7087.cjs.js} +15 -15
- package/dist/cjs/{serve-a9cf4184.cjs.js → serve-bfb3e982.cjs.js} +10 -10
- package/dist/cjs/{server-4f0e40d3.cjs.js → server-d9492b36.cjs.js} +6 -6
- package/dist/cjs/{svgrTemplate-2d0d15cf.cjs.js → svgrTemplate-f19e974c.cjs.js} +3 -3
- package/dist/cjs/{tasks-29b7d09e.cjs.js → tasks-94b21b51.cjs.js} +29 -29
- package/dist/cjs/{testCommand-5602a58f.cjs.js → testCommand-0c162b80.cjs.js} +4 -4
- package/dist/cjs/{validate-9b1a5456.cjs.js → validate-89d918a7.cjs.js} +4 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +18 -21
- package/templates/default-plugin/package.json.hbs +3 -2
- package/templates/serve_index.html +1 -1
|
@@ -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-94b21b51.cjs.js');
|
|
8
|
+
var index = require('./index-60792ea9.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,45 +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[
|
|
114
|
+
console.warn(chalk__default["default"].yellow("[DEPRECATED] - The remove-plugin command is deprecated and will be removed in the future."));
|
|
115
115
|
const questions = [
|
|
116
116
|
{
|
|
117
117
|
type: "input",
|
|
118
118
|
name: "pluginName",
|
|
119
|
-
message: chalk__default[
|
|
119
|
+
message: chalk__default["default"].blue("Enter the ID of the plugin to be removed [required]"),
|
|
120
120
|
validate: (value) => {
|
|
121
121
|
if (!value) {
|
|
122
|
-
return chalk__default[
|
|
122
|
+
return chalk__default["default"].red("Please enter an ID for the plugin");
|
|
123
123
|
} else if (!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(value)) {
|
|
124
|
-
return chalk__default[
|
|
124
|
+
return chalk__default["default"].red("Plugin IDs must be lowercase and contain only letters, digits and dashes.");
|
|
125
125
|
}
|
|
126
126
|
return true;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
];
|
|
130
|
-
const answers = await inquirer__default[
|
|
130
|
+
const answers = await inquirer__default["default"].prompt(questions);
|
|
131
131
|
const pluginName = answers.pluginName;
|
|
132
132
|
const appPackage = index.paths.resolveTargetRoot("packages/app");
|
|
133
133
|
const pluginDir = index.paths.resolveTargetRoot("plugins", answers.pluginName);
|
|
134
134
|
const codeOwnersFile = await tasks.getCodeownersFilePath(index.paths.targetRoot);
|
|
135
|
-
const appPackageFile = path__default[
|
|
136
|
-
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");
|
|
137
137
|
const pluginScopedDirectory = index.paths.resolveTargetRoot("node_modules", BACKSTAGE, `plugin-${pluginName}`);
|
|
138
138
|
tasks.Task.log();
|
|
139
139
|
tasks.Task.log("Removing the plugin...");
|
|
@@ -145,7 +145,7 @@ var removePlugin = async () => {
|
|
|
145
145
|
await removePluginDirectory(pluginDir);
|
|
146
146
|
tasks.Task.section("Removing symbolic link from @backstage.");
|
|
147
147
|
await removeSymLink(pluginScopedDirectory);
|
|
148
|
-
if (await fs__default[
|
|
148
|
+
if (await fs__default["default"].pathExists(appPackage)) {
|
|
149
149
|
tasks.Task.section("Removing references from plugins.ts.");
|
|
150
150
|
await removeReferencesFromPluginsFile(appPluginsFile, pluginName);
|
|
151
151
|
tasks.Task.section("Removing plugin dependency from app.");
|
|
@@ -156,7 +156,7 @@ var removePlugin = async () => {
|
|
|
156
156
|
await removePluginFromCodeOwners(codeOwnersFile, pluginName);
|
|
157
157
|
}
|
|
158
158
|
tasks.Task.log();
|
|
159
|
-
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}`)}`);
|
|
160
160
|
tasks.Task.log();
|
|
161
161
|
} catch (error) {
|
|
162
162
|
errors.assertError(error);
|
|
@@ -166,10 +166,10 @@ var removePlugin = async () => {
|
|
|
166
166
|
};
|
|
167
167
|
|
|
168
168
|
exports.checkExists = checkExists;
|
|
169
|
-
exports
|
|
169
|
+
exports["default"] = removePlugin;
|
|
170
170
|
exports.removePluginDirectory = removePluginDirectory;
|
|
171
171
|
exports.removePluginFromCodeOwners = removePluginFromCodeOwners;
|
|
172
172
|
exports.removeReferencesFromAppPackage = removeReferencesFromAppPackage;
|
|
173
173
|
exports.removeReferencesFromPluginsFile = removeReferencesFromPluginsFile;
|
|
174
174
|
exports.removeSymLink = removeSymLink;
|
|
175
|
-
//# sourceMappingURL=removePlugin-
|
|
175
|
+
//# sourceMappingURL=removePlugin-5984ee26.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-60792ea9.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-8b1e277a.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-02308249.cjs.js');
|
|
5
5
|
var configLoader = require('@backstage/config-loader');
|
|
6
6
|
require('@backstage/config');
|
|
7
|
-
require('./index-
|
|
7
|
+
require('./index-60792ea9.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-37d6a972.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-60792ea9.cjs.js');
|
|
17
|
+
require('./run-8b1e277a.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-d9492b36.cjs.js');
|
|
23
|
+
var config = require('./config-02308249.cjs.js');
|
|
24
|
+
var Lockfile = require('./Lockfile-35661afa.cjs.js');
|
|
25
|
+
var lint = require('./lint-f4a40773.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-8d6dfec1.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-aaec7087.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-60792ea9.cjs.js');
|
|
16
|
+
require('./run-8b1e277a.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-3816244a.cjs.js');
|
|
21
|
+
var server = require('./server-d9492b36.cjs.js');
|
|
22
|
+
var config = require('./config-02308249.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-8d6dfec1.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-bfb3e982.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-8d6dfec1.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-d9492b36.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-60792ea9.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-94b21b51.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-60792ea9.cjs.js');
|
|
4
|
+
var run = require('./run-8b1e277a.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-0c162b80.cjs.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var config = require('./config-
|
|
3
|
+
var config = require('./config-02308249.cjs.js');
|
|
4
4
|
require('@backstage/config-loader');
|
|
5
5
|
require('@backstage/config');
|
|
6
|
-
require('./index-
|
|
6
|
+
require('./index-60792ea9.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-89d918a7.cjs.js.map
|