@backstage/cli 0.11.0 → 0.13.1-next.0
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 +164 -0
- package/dist/cjs/{build-821a11bc.cjs.js → build-380254f7.cjs.js} +8 -4
- package/dist/cjs/{build-52b0db70.cjs.js → build-5d1cb969.cjs.js} +5 -4
- package/dist/cjs/{build-3ec9b2bc.cjs.js → build-669ecde7.cjs.js} +7 -10
- package/dist/cjs/{build-cee864c1.cjs.js → build-be81c94d.cjs.js} +5 -4
- package/dist/cjs/{buildWorkspace-45130a91.cjs.js → buildWorkspace-5c2e178b.cjs.js} +4 -4
- package/dist/cjs/{bump-a67373dc.cjs.js → bump-2cfa8a5a.cjs.js} +5 -5
- package/dist/cjs/{bundle-a7edd074.cjs.js → bundle-b573b38a.cjs.js} +5 -5
- package/dist/cjs/{clean-639396b1.cjs.js → clean-780112f6.cjs.js} +2 -2
- package/dist/cjs/{config-123cfeb7.cjs.js → config-ee0c4a83.cjs.js} +4 -3
- package/dist/cjs/{create-fa295702.cjs.js → create-48c86908.cjs.js} +4 -4
- package/dist/cjs/{createPlugin-e3f24ce4.cjs.js → createPlugin-7d56930f.cjs.js} +4 -4
- package/dist/cjs/{dev-770fcb5a.cjs.js → dev-3c88dd2a.cjs.js} +5 -4
- package/dist/cjs/{diff-1cb77679.cjs.js → diff-df7c9a0c.cjs.js} +2 -2
- package/dist/cjs/{docs-0c0c53e6.cjs.js → docs-c11c4103.cjs.js} +3 -3
- package/dist/cjs/{index-f1e57e57.cjs.js → index-18554f1c.cjs.js} +2 -2
- package/dist/cjs/{index-cf8ea481.cjs.js → index-621ba6c9.cjs.js} +53 -56
- package/dist/cjs/{index-79dd2453.cjs.js → index-cb0ecebc.cjs.js} +3 -3
- package/dist/cjs/{info-ac02891f.cjs.js → info-db368553.cjs.js} +3 -3
- package/dist/cjs/{install-f342f3ba.cjs.js → install-b711cea1.cjs.js} +4 -4
- package/dist/cjs/{lint-a6f00949.cjs.js → lint-2d7a9bdc.cjs.js} +3 -3
- package/dist/cjs/{lint-b832c4cb.cjs.js → lint-fb6d3fe7.cjs.js} +3 -3
- package/dist/cjs/pack-0225b8ee.cjs.js +69 -0
- package/dist/cjs/{packager-23503c79.cjs.js → packager-03db0c91.cjs.js} +101 -8
- package/dist/cjs/{packages-c57bbd82.cjs.js → packages-ea22fb5a.cjs.js} +3 -3
- package/dist/cjs/{paths-8ed90bf4.cjs.js → paths-f1f75c0e.cjs.js} +23 -28
- package/dist/cjs/{print-806737e5.cjs.js → print-23333c9a.cjs.js} +3 -3
- package/dist/cjs/{run-267170f8.cjs.js → run-615f671f.cjs.js} +2 -2
- package/dist/cjs/{schema-80d0f67f.cjs.js → schema-47f19cb7.cjs.js} +3 -3
- package/dist/cjs/{serve-08f7c81f.cjs.js → serve-0d165973.cjs.js} +7 -6
- package/dist/cjs/{serve-da609963.cjs.js → serve-c7a64437.cjs.js} +37 -19
- package/dist/cjs/{server-8a3d6585.cjs.js → server-d167ef2f.cjs.js} +6 -3
- package/dist/cjs/{tasks-6f86c24f.cjs.js → tasks-0a084d00.cjs.js} +2 -2
- package/dist/cjs/{testCommand-08baa990.cjs.js → testCommand-53436344.cjs.js} +3 -3
- package/dist/cjs/{validate-b3cefb09.cjs.js → validate-aa20bf78.cjs.js} +5 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +27 -24
- package/dist/cjs/pack-30336e9e.cjs.js +0 -42
- package/dist/cjs/removePlugin-4925434c.cjs.js +0 -175
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var fs = require('fs-extra');
|
|
4
|
-
var path = require('path');
|
|
5
|
-
var chalk = require('chalk');
|
|
6
|
-
var inquirer = require('inquirer');
|
|
7
|
-
var tasks = require('./tasks-6f86c24f.cjs.js');
|
|
8
|
-
var index = require('./index-cf8ea481.cjs.js');
|
|
9
|
-
var errors = require('@backstage/errors');
|
|
10
|
-
require('handlebars');
|
|
11
|
-
require('ora');
|
|
12
|
-
require('util');
|
|
13
|
-
require('recursive-readdir');
|
|
14
|
-
require('child_process');
|
|
15
|
-
require('commander');
|
|
16
|
-
require('semver');
|
|
17
|
-
require('@backstage/cli-common');
|
|
18
|
-
require('@backstage/config/package.json');
|
|
19
|
-
|
|
20
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
-
|
|
22
|
-
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
23
|
-
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
24
|
-
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
25
|
-
var inquirer__default = /*#__PURE__*/_interopDefaultLegacy(inquirer);
|
|
26
|
-
|
|
27
|
-
const BACKSTAGE = "@backstage";
|
|
28
|
-
const checkExists = async (rootDir, pluginName) => {
|
|
29
|
-
await tasks.Task.forItem("checking", pluginName, async () => {
|
|
30
|
-
try {
|
|
31
|
-
const destination = path__default["default"].join(rootDir, "plugins", pluginName);
|
|
32
|
-
const pathExist = await fs__default["default"].pathExists(destination);
|
|
33
|
-
if (!pathExist) {
|
|
34
|
-
throw new Error(chalk__default["default"].red(` Plugin ${chalk__default["default"].cyan(pluginName)} does not exist!`));
|
|
35
|
-
}
|
|
36
|
-
} catch (e) {
|
|
37
|
-
errors.assertError(e);
|
|
38
|
-
throw new Error(chalk__default["default"].red(` There was an error removing plugin ${chalk__default["default"].cyan(pluginName)}: ${e.message}`));
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
const removePluginDirectory = async (destination) => {
|
|
43
|
-
await tasks.Task.forItem("removing", "plugin files", async () => {
|
|
44
|
-
try {
|
|
45
|
-
await fs__default["default"].remove(destination);
|
|
46
|
-
} catch (e) {
|
|
47
|
-
errors.assertError(e);
|
|
48
|
-
throw Error(chalk__default["default"].red(` There was a problem removing the plugin directory: ${e.message}`));
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
const removeSymLink = async (destination) => {
|
|
53
|
-
await tasks.Task.forItem("removing", "symbolic link", async () => {
|
|
54
|
-
const symLinkExists = await fs__default["default"].pathExists(destination);
|
|
55
|
-
if (symLinkExists) {
|
|
56
|
-
try {
|
|
57
|
-
await fs__default["default"].remove(destination);
|
|
58
|
-
} catch (e) {
|
|
59
|
-
errors.assertError(e);
|
|
60
|
-
throw Error(chalk__default["default"].red(` Could not remove symbolic link ${chalk__default["default"].cyan(destination)}: ${e.message}`));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
const removeAllStatementsContainingID = async (file, ID) => {
|
|
66
|
-
const originalContent = await fs__default["default"].readFile(file, "utf8");
|
|
67
|
-
const contentAfterRemoval = originalContent.split("\n").filter((statement) => !statement.includes(`${ID}`)).join("\n");
|
|
68
|
-
if (originalContent !== contentAfterRemoval) {
|
|
69
|
-
await fs__default["default"].writeFile(file, contentAfterRemoval, "utf8");
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
|
73
|
-
const removeReferencesFromPluginsFile = async (pluginsFile, pluginName) => {
|
|
74
|
-
const pluginNameCapitalized = pluginName.split("-").map((name) => capitalize(name)).join("");
|
|
75
|
-
await tasks.Task.forItem("removing", "export references", async () => {
|
|
76
|
-
try {
|
|
77
|
-
await removeAllStatementsContainingID(pluginsFile, pluginNameCapitalized);
|
|
78
|
-
} catch (e) {
|
|
79
|
-
errors.assertError(e);
|
|
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
|
-
}
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
const removePluginFromCodeOwners = async (codeOwnersFile, pluginName) => {
|
|
85
|
-
await tasks.Task.forItem("removing", "codeowners references", async () => {
|
|
86
|
-
try {
|
|
87
|
-
await removeAllStatementsContainingID(codeOwnersFile, pluginName);
|
|
88
|
-
} catch (e) {
|
|
89
|
-
errors.assertError(e);
|
|
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
|
-
}
|
|
92
|
-
});
|
|
93
|
-
};
|
|
94
|
-
const removeReferencesFromAppPackage = async (appPackageFile, pluginName) => {
|
|
95
|
-
const pluginPackage = `${BACKSTAGE}/plugin-${pluginName}`;
|
|
96
|
-
await tasks.Task.forItem("removing", "plugin app dependency", async () => {
|
|
97
|
-
try {
|
|
98
|
-
const appPackageFileContent = await fs__default["default"].readFile(appPackageFile, "utf-8");
|
|
99
|
-
const appPackageFileContentJSON = JSON.parse(appPackageFileContent);
|
|
100
|
-
const dependencies = appPackageFileContentJSON.dependencies;
|
|
101
|
-
if (!dependencies[pluginPackage]) {
|
|
102
|
-
throw new Error(chalk__default["default"].red(` Plugin ${chalk__default["default"].cyan(pluginPackage)} does not exist in ${chalk__default["default"].cyan(appPackageFile)}`));
|
|
103
|
-
}
|
|
104
|
-
delete dependencies[pluginPackage];
|
|
105
|
-
await fs__default["default"].writeFile(appPackageFile, `${JSON.stringify(appPackageFileContentJSON, null, 2)}
|
|
106
|
-
`, "utf-8");
|
|
107
|
-
} catch (e) {
|
|
108
|
-
errors.assertError(e);
|
|
109
|
-
throw new Error(chalk__default["default"].red(` Failed to remove plugin as dependency in app: ${chalk__default["default"].cyan(appPackageFile)}: ${e.message}`));
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
};
|
|
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."));
|
|
115
|
-
const questions = [
|
|
116
|
-
{
|
|
117
|
-
type: "input",
|
|
118
|
-
name: "pluginName",
|
|
119
|
-
message: chalk__default["default"].blue("Enter the ID of the plugin to be removed [required]"),
|
|
120
|
-
validate: (value) => {
|
|
121
|
-
if (!value) {
|
|
122
|
-
return chalk__default["default"].red("Please enter an ID for the plugin");
|
|
123
|
-
} else if (!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(value)) {
|
|
124
|
-
return chalk__default["default"].red("Plugin IDs must be lowercase and contain only letters, digits and dashes.");
|
|
125
|
-
}
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
];
|
|
130
|
-
const answers = await inquirer__default["default"].prompt(questions);
|
|
131
|
-
const pluginName = answers.pluginName;
|
|
132
|
-
const appPackage = index.paths.resolveTargetRoot("packages/app");
|
|
133
|
-
const pluginDir = index.paths.resolveTargetRoot("plugins", answers.pluginName);
|
|
134
|
-
const codeOwnersFile = await tasks.getCodeownersFilePath(index.paths.targetRoot);
|
|
135
|
-
const appPackageFile = path__default["default"].join(appPackage, "package.json");
|
|
136
|
-
const appPluginsFile = path__default["default"].join(appPackage, "src", "plugins.ts");
|
|
137
|
-
const pluginScopedDirectory = index.paths.resolveTargetRoot("node_modules", BACKSTAGE, `plugin-${pluginName}`);
|
|
138
|
-
tasks.Task.log();
|
|
139
|
-
tasks.Task.log("Removing the plugin...");
|
|
140
|
-
console.log(pluginScopedDirectory);
|
|
141
|
-
try {
|
|
142
|
-
tasks.Task.section("Checking the plugin exists.");
|
|
143
|
-
await checkExists(index.paths.targetRoot, pluginName);
|
|
144
|
-
tasks.Task.section("Removing plugin files.");
|
|
145
|
-
await removePluginDirectory(pluginDir);
|
|
146
|
-
tasks.Task.section("Removing symbolic link from @backstage.");
|
|
147
|
-
await removeSymLink(pluginScopedDirectory);
|
|
148
|
-
if (await fs__default["default"].pathExists(appPackage)) {
|
|
149
|
-
tasks.Task.section("Removing references from plugins.ts.");
|
|
150
|
-
await removeReferencesFromPluginsFile(appPluginsFile, pluginName);
|
|
151
|
-
tasks.Task.section("Removing plugin dependency from app.");
|
|
152
|
-
await removeReferencesFromAppPackage(appPackageFile, pluginName);
|
|
153
|
-
}
|
|
154
|
-
if (codeOwnersFile) {
|
|
155
|
-
tasks.Task.section("Removing codeowners reference.");
|
|
156
|
-
await removePluginFromCodeOwners(codeOwnersFile, pluginName);
|
|
157
|
-
}
|
|
158
|
-
tasks.Task.log();
|
|
159
|
-
tasks.Task.log(`\u{1F947} Successfully removed ${chalk__default["default"].cyan(`@backstage/plugin-${answers.id}`)}`);
|
|
160
|
-
tasks.Task.log();
|
|
161
|
-
} catch (error) {
|
|
162
|
-
errors.assertError(error);
|
|
163
|
-
tasks.Task.error(error.message);
|
|
164
|
-
tasks.Task.log("It seems that something went wrong when removing the plugin \u{1F914}");
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
exports.checkExists = checkExists;
|
|
169
|
-
exports["default"] = removePlugin;
|
|
170
|
-
exports.removePluginDirectory = removePluginDirectory;
|
|
171
|
-
exports.removePluginFromCodeOwners = removePluginFromCodeOwners;
|
|
172
|
-
exports.removeReferencesFromAppPackage = removeReferencesFromAppPackage;
|
|
173
|
-
exports.removeReferencesFromPluginsFile = removeReferencesFromPluginsFile;
|
|
174
|
-
exports.removeSymLink = removeSymLink;
|
|
175
|
-
//# sourceMappingURL=removePlugin-4925434c.cjs.js.map
|