@backstage/cli 0.18.0-next.2 → 0.18.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 +57 -0
- package/dist/cjs/{Lockfile-48dc675e.cjs.js → Lockfile-72b7072e.cjs.js} +25 -9
- package/dist/cjs/{PackageGraph-eed8a266.cjs.js → PackageGraph-6e1d4bd4.cjs.js} +17 -9
- package/dist/cjs/{build-90333828.cjs.js → build-3b11f7c9.cjs.js} +26 -15
- package/dist/cjs/{buildBackend-15dcc9d1.cjs.js → buildBackend-87996ad4.cjs.js} +61 -36
- package/dist/cjs/{buildWorkspace-09b15e59.cjs.js → buildWorkspace-425726da.cjs.js} +7 -7
- package/dist/cjs/{bump-19eae695.cjs.js → bump-f3c6b3cd.cjs.js} +88 -33
- package/dist/cjs/{clean-1999125e.cjs.js → clean-798512b5.cjs.js} +2 -2
- package/dist/cjs/{config-1ed90d1b.cjs.js → config-4a59f918.cjs.js} +15 -11
- package/dist/cjs/{create-75806130.cjs.js → create-a7269bb5.cjs.js} +80 -32
- package/dist/cjs/{createDistWorkspace-df9a4512.cjs.js → createDistWorkspace-cb9a9a84.cjs.js} +137 -65
- package/dist/cjs/{createPlugin-ef3ded6f.cjs.js → createPlugin-fca2c26e.cjs.js} +69 -30
- package/dist/cjs/{diff-50c4c806.cjs.js → diff-3dec490d.cjs.js} +68 -16
- package/dist/cjs/{docs-a206c58a.cjs.js → docs-e60d4fe7.cjs.js} +9 -5
- package/dist/cjs/{fix-c1a9161a.cjs.js → fix-b60a5395.cjs.js} +17 -7
- package/dist/cjs/{index-fb1178a3.cjs.js → index-131467e2.cjs.js} +10 -10
- package/dist/cjs/{index-5eb1b9d1.cjs.js → index-50703ee1.cjs.js} +162 -61
- package/dist/cjs/{index-f360881b.cjs.js → index-71d143d5.cjs.js} +57 -38
- package/dist/cjs/{index-c4f237a6.cjs.js → index-7efbd23e.cjs.js} +39 -12
- package/dist/cjs/{info-a38fff05.cjs.js → info-04610119.cjs.js} +20 -6
- package/dist/cjs/{install-9b4107af.cjs.js → install-589f1c25.cjs.js} +44 -17
- package/dist/cjs/{lint-3f8ff7a2.cjs.js → lint-41010f96.cjs.js} +37 -11
- package/dist/cjs/{lint-31ebf6d6.cjs.js → lint-6fcb9a70.cjs.js} +5 -3
- package/dist/cjs/{lint-1940d48c.cjs.js → lint-7f6b0d33.cjs.js} +4 -4
- package/dist/cjs/{list-deprecations-4f164324.cjs.js → list-deprecations-8aee2123.cjs.js} +3 -3
- package/dist/cjs/{pack-3c75d41f.cjs.js → pack-91881c2f.cjs.js} +17 -11
- package/dist/cjs/packageLintConfigs-f9e5fcc6.cjs.js +83 -0
- package/dist/cjs/packageRole-16eb6c89.cjs.js +59 -0
- package/dist/cjs/{packageRoles-55976918.cjs.js → packageRoles-96528891.cjs.js} +5 -3
- package/dist/cjs/packageScripts-eb2443c2.cjs.js +98 -0
- package/dist/cjs/{packages-afc2547c.cjs.js → packages-1b40c101.cjs.js} +17 -12
- package/dist/cjs/parallel-a8f6219c.cjs.js +187 -0
- package/dist/cjs/{paths-ed6a0ed3.cjs.js → paths-b34f135a.cjs.js} +100 -55
- package/dist/cjs/{print-79b2229c.cjs.js → print-e99d7c2e.cjs.js} +4 -4
- package/dist/cjs/{run-93365c94.cjs.js → run-722b1384.cjs.js} +2 -2
- package/dist/cjs/{schema-986415f5.cjs.js → schema-c636e913.cjs.js} +9 -5
- package/dist/cjs/{tasks-45f84735.cjs.js → tasks-4776baa6.cjs.js} +29 -12
- package/dist/cjs/{test-efcb2e7f.cjs.js → test-76539f57.cjs.js} +3 -3
- package/dist/cjs/{validate-79d8747b.cjs.js → validate-f9273594.cjs.js} +4 -4
- package/dist/index.cjs.js +1 -1
- package/package.json +22 -22
- package/templates/default-backend-plugin/package.json.hbs +1 -1
- package/templates/default-plugin/package.json.hbs +1 -1
- package/dist/cjs/packageLintConfigs-1ca98735.cjs.js +0 -74
- package/dist/cjs/packageRole-c532301f.cjs.js +0 -53
- package/dist/cjs/packageScripts-c1adcc9a.cjs.js +0 -96
- package/dist/cjs/parallel-8286d3fa.cjs.js +0 -171
|
@@ -7,13 +7,13 @@ var semver = require('semver');
|
|
|
7
7
|
var minimatch = require('minimatch');
|
|
8
8
|
var errors = require('@backstage/errors');
|
|
9
9
|
var path = require('path');
|
|
10
|
-
var run = require('./run-
|
|
11
|
-
var index = require('./index-
|
|
12
|
-
var Lockfile = require('./Lockfile-
|
|
13
|
-
var packages = require('./packages-
|
|
14
|
-
var lint = require('./lint-
|
|
10
|
+
var run = require('./run-722b1384.cjs.js');
|
|
11
|
+
var index = require('./index-50703ee1.cjs.js');
|
|
12
|
+
var Lockfile = require('./Lockfile-72b7072e.cjs.js');
|
|
13
|
+
var packages = require('./packages-1b40c101.cjs.js');
|
|
14
|
+
var lint = require('./lint-41010f96.cjs.js');
|
|
15
15
|
var cliCommon = require('@backstage/cli-common');
|
|
16
|
-
var parallel = require('./parallel-
|
|
16
|
+
var parallel = require('./parallel-a8f6219c.cjs.js');
|
|
17
17
|
var releaseManifests = require('@backstage/release-manifests');
|
|
18
18
|
require('global-agent/bootstrap');
|
|
19
19
|
require('child_process');
|
|
@@ -103,12 +103,15 @@ var bump = async (opts) => {
|
|
|
103
103
|
}
|
|
104
104
|
continue;
|
|
105
105
|
}
|
|
106
|
-
versionBumps.set(
|
|
107
|
-
name,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
versionBumps.set(
|
|
107
|
+
pkg.name,
|
|
108
|
+
((_b = versionBumps.get(pkg.name)) != null ? _b : []).concat({
|
|
109
|
+
name,
|
|
110
|
+
location: pkg.location,
|
|
111
|
+
range: `^${target}`,
|
|
112
|
+
target
|
|
113
|
+
})
|
|
114
|
+
);
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
117
|
});
|
|
@@ -155,7 +158,11 @@ var bump = async (opts) => {
|
|
|
155
158
|
const key = JSON.stringify({ name, range });
|
|
156
159
|
if (!removed.has(key)) {
|
|
157
160
|
removed.add(key);
|
|
158
|
-
console.log(
|
|
161
|
+
console.log(
|
|
162
|
+
`${chalk__default["default"].magenta("unlocking")} ${name}@${chalk__default["default"].yellow(
|
|
163
|
+
range
|
|
164
|
+
)} ~> ${chalk__default["default"].yellow(target)}`
|
|
165
|
+
);
|
|
159
166
|
lockfile.remove(name, range);
|
|
160
167
|
}
|
|
161
168
|
}
|
|
@@ -170,7 +177,11 @@ var bump = async (opts) => {
|
|
|
170
177
|
const pkgPath = path.resolve(deps[0].location, "package.json");
|
|
171
178
|
const pkgJson = await fs__default["default"].readJson(pkgPath);
|
|
172
179
|
for (const dep of deps) {
|
|
173
|
-
console.log(
|
|
180
|
+
console.log(
|
|
181
|
+
`${chalk__default["default"].cyan("bumping")} ${dep.name} in ${chalk__default["default"].cyan(
|
|
182
|
+
name
|
|
183
|
+
)} to ${chalk__default["default"].yellow(dep.range)}`
|
|
184
|
+
);
|
|
174
185
|
for (const depType of DEP_TYPES) {
|
|
175
186
|
if (depType in pkgJson && dep.name in pkgJson[depType]) {
|
|
176
187
|
const oldRange = pkgJson[depType][dep.name];
|
|
@@ -193,15 +204,27 @@ var bump = async (opts) => {
|
|
|
193
204
|
if (pattern === DEFAULT_PATTERN_GLOB) {
|
|
194
205
|
await bumpBackstageJsonVersion(releaseManifest.releaseVersion);
|
|
195
206
|
} else {
|
|
196
|
-
console.log(
|
|
207
|
+
console.log(
|
|
208
|
+
chalk__default["default"].yellow(
|
|
209
|
+
`Skipping backstage.json update as custom pattern is used`
|
|
210
|
+
)
|
|
211
|
+
);
|
|
197
212
|
}
|
|
198
213
|
await runYarnInstall();
|
|
199
214
|
if (breakingUpdates.size > 0) {
|
|
200
215
|
console.log();
|
|
201
|
-
console.log(
|
|
216
|
+
console.log(
|
|
217
|
+
chalk__default["default"].yellow("\u26A0\uFE0F The following packages may have breaking changes:")
|
|
218
|
+
);
|
|
202
219
|
console.log();
|
|
203
|
-
for (const [name, { from, to }] of Array.from(
|
|
204
|
-
|
|
220
|
+
for (const [name, { from, to }] of Array.from(
|
|
221
|
+
breakingUpdates.entries()
|
|
222
|
+
).sort()) {
|
|
223
|
+
console.log(
|
|
224
|
+
` ${chalk__default["default"].yellow(name)} : ${chalk__default["default"].yellow(from)} ~> ${chalk__default["default"].yellow(
|
|
225
|
+
to
|
|
226
|
+
)}`
|
|
227
|
+
);
|
|
205
228
|
let path;
|
|
206
229
|
if (name.startsWith("@backstage/plugin-")) {
|
|
207
230
|
path = `plugins/${name.replace("@backstage/plugin-", "")}`;
|
|
@@ -209,7 +232,9 @@ var bump = async (opts) => {
|
|
|
209
232
|
path = `packages/${name.replace("@backstage/", "")}`;
|
|
210
233
|
}
|
|
211
234
|
if (path) {
|
|
212
|
-
console.log(
|
|
235
|
+
console.log(
|
|
236
|
+
` https://github.com/backstage/backstage/blob/master/${path}/CHANGELOG.md`
|
|
237
|
+
);
|
|
213
238
|
}
|
|
214
239
|
console.log();
|
|
215
240
|
}
|
|
@@ -226,13 +251,19 @@ var bump = async (opts) => {
|
|
|
226
251
|
if (result.newVersions.length > 0) {
|
|
227
252
|
throw new Error("Duplicate versions present after package bump");
|
|
228
253
|
}
|
|
229
|
-
const forbiddenNewRanges = result.newRanges.filter(
|
|
254
|
+
const forbiddenNewRanges = result.newRanges.filter(
|
|
255
|
+
({ name }) => lint.forbiddenDuplicatesFilter(name)
|
|
256
|
+
);
|
|
230
257
|
if (forbiddenNewRanges.length > 0) {
|
|
231
|
-
throw new Error(
|
|
258
|
+
throw new Error(
|
|
259
|
+
`Version bump failed for ${forbiddenNewRanges.map((i) => i.name).join(", ")}`
|
|
260
|
+
);
|
|
232
261
|
}
|
|
233
262
|
};
|
|
234
263
|
function createStrictVersionFinder(options) {
|
|
235
|
-
const releasePackages = new Map(
|
|
264
|
+
const releasePackages = new Map(
|
|
265
|
+
options.releaseManifest.packages.map((p) => [p.name, p.version])
|
|
266
|
+
);
|
|
236
267
|
return async function findTargetVersion(name) {
|
|
237
268
|
console.log(`Checking for updates of ${name}`);
|
|
238
269
|
const manifestVersion = releasePackages.get(name);
|
|
@@ -250,7 +281,9 @@ function createVersionFinder(options) {
|
|
|
250
281
|
} = options;
|
|
251
282
|
const distTag = releaseLine === "main" ? "latest" : releaseLine;
|
|
252
283
|
const found = /* @__PURE__ */ new Map();
|
|
253
|
-
const releasePackages = new Map(
|
|
284
|
+
const releasePackages = new Map(
|
|
285
|
+
releaseManifest == null ? void 0 : releaseManifest.packages.map((p) => [p.name, p.version])
|
|
286
|
+
);
|
|
254
287
|
return async function findTargetVersion(name) {
|
|
255
288
|
const existing = found.get(name);
|
|
256
289
|
if (existing) {
|
|
@@ -274,10 +307,14 @@ function createVersionFinder(options) {
|
|
|
274
307
|
const latestVersionDateStr = info.time[latestVersion];
|
|
275
308
|
const taggedVersionDateStr = info.time[taggedVersion];
|
|
276
309
|
if (!latestVersionDateStr) {
|
|
277
|
-
throw new Error(
|
|
310
|
+
throw new Error(
|
|
311
|
+
`No time available for version '${latestVersion}' of ${name}`
|
|
312
|
+
);
|
|
278
313
|
}
|
|
279
314
|
if (!taggedVersionDateStr) {
|
|
280
|
-
throw new Error(
|
|
315
|
+
throw new Error(
|
|
316
|
+
`No time available for version '${taggedVersion}' of ${name}`
|
|
317
|
+
);
|
|
281
318
|
}
|
|
282
319
|
const latestVersionRelease = new Date(latestVersionDateStr).getTime();
|
|
283
320
|
const taggedVersionRelease = new Date(taggedVersionDateStr).getTime();
|
|
@@ -306,17 +343,31 @@ async function bumpBackstageJsonVersion(version) {
|
|
|
306
343
|
const from = encodeURIComponent(prevVersion);
|
|
307
344
|
const to = encodeURIComponent(version);
|
|
308
345
|
const link = `https://backstage.github.io/upgrade-helper/?from=${from}&to=${to}`;
|
|
309
|
-
console.log(
|
|
346
|
+
console.log(
|
|
347
|
+
yellow(
|
|
348
|
+
`Upgraded from release ${green(prevVersion)} to ${green(
|
|
349
|
+
version
|
|
350
|
+
)}, please review these template changes:`
|
|
351
|
+
)
|
|
352
|
+
);
|
|
310
353
|
console.log();
|
|
311
354
|
console.log(` ${cyan(link)}`);
|
|
312
355
|
console.log();
|
|
313
356
|
} else {
|
|
314
|
-
console.log(
|
|
357
|
+
console.log(
|
|
358
|
+
yellow(
|
|
359
|
+
`Your project is now at version ${version}, which has been written to ${cliCommon.BACKSTAGE_JSON}`
|
|
360
|
+
)
|
|
361
|
+
);
|
|
315
362
|
}
|
|
316
|
-
await fs__default["default"].writeJson(
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
363
|
+
await fs__default["default"].writeJson(
|
|
364
|
+
backstageJsonPath,
|
|
365
|
+
{ ...backstageJson, version },
|
|
366
|
+
{
|
|
367
|
+
spaces: 2,
|
|
368
|
+
encoding: "utf8"
|
|
369
|
+
}
|
|
370
|
+
);
|
|
320
371
|
}
|
|
321
372
|
async function runYarnInstall() {
|
|
322
373
|
const spinner = ora__default["default"]({
|
|
@@ -329,7 +380,11 @@ async function runYarnInstall() {
|
|
|
329
380
|
await run.run("yarn", ["install"], {
|
|
330
381
|
env: {
|
|
331
382
|
FORCE_COLOR: "true",
|
|
332
|
-
...Object.fromEntries(
|
|
383
|
+
...Object.fromEntries(
|
|
384
|
+
Object.entries(process.env).map(
|
|
385
|
+
([name, value]) => name.startsWith("npm_") ? [name, void 0] : [name, value]
|
|
386
|
+
)
|
|
387
|
+
)
|
|
333
388
|
},
|
|
334
389
|
stdoutLogFunc: (data) => installOutput.push(data),
|
|
335
390
|
stderrLogFunc: (data) => installOutput.push(data)
|
|
@@ -346,4 +401,4 @@ exports.bumpBackstageJsonVersion = bumpBackstageJsonVersion;
|
|
|
346
401
|
exports.createStrictVersionFinder = createStrictVersionFinder;
|
|
347
402
|
exports.createVersionFinder = createVersionFinder;
|
|
348
403
|
exports["default"] = bump;
|
|
349
|
-
//# sourceMappingURL=bump-
|
|
404
|
+
//# sourceMappingURL=bump-f3c6b3cd.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var fs = require('fs-extra');
|
|
4
|
-
var index = require('./index-
|
|
4
|
+
var index = require('./index-50703ee1.cjs.js');
|
|
5
5
|
require('commander');
|
|
6
6
|
require('chalk');
|
|
7
7
|
require('semver');
|
|
@@ -19,4 +19,4 @@ async function clean() {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
exports["default"] = clean;
|
|
22
|
-
//# sourceMappingURL=clean-
|
|
22
|
+
//# sourceMappingURL=clean-798512b5.cjs.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var configLoader = require('@backstage/config-loader');
|
|
4
4
|
var config = require('@backstage/config');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-50703ee1.cjs.js');
|
|
6
6
|
var getPackages = require('@manypkg/get-packages');
|
|
7
|
-
var PackageGraph = require('./PackageGraph-
|
|
7
|
+
var PackageGraph = require('./PackageGraph-6e1d4bd4.cjs.js');
|
|
8
8
|
|
|
9
9
|
function isValidUrl(url) {
|
|
10
10
|
try {
|
|
@@ -27,12 +27,14 @@ async function loadCliConfig(options) {
|
|
|
27
27
|
if (options.fromPackage) {
|
|
28
28
|
if (packages.length) {
|
|
29
29
|
const graph = PackageGraph.PackageGraph.fromPackages(packages);
|
|
30
|
-
localPackageNames = Array.from(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
localPackageNames = Array.from(
|
|
31
|
+
graph.collectPackageNames([options.fromPackage], (node) => {
|
|
32
|
+
if (node.name === "@backstage/cli") {
|
|
33
|
+
return void 0;
|
|
34
|
+
}
|
|
35
|
+
return node.localDependencies.keys();
|
|
36
|
+
})
|
|
37
|
+
);
|
|
36
38
|
} else {
|
|
37
39
|
localPackageNames = [options.fromPackage];
|
|
38
40
|
}
|
|
@@ -48,8 +50,10 @@ async function loadCliConfig(options) {
|
|
|
48
50
|
configRoot: index.paths.targetRoot,
|
|
49
51
|
configTargets
|
|
50
52
|
});
|
|
51
|
-
process.stderr.write(
|
|
52
|
-
`)
|
|
53
|
+
process.stderr.write(
|
|
54
|
+
`Loaded config from ${appConfigs.map((c) => c.context).join(", ")}
|
|
55
|
+
`
|
|
56
|
+
);
|
|
53
57
|
try {
|
|
54
58
|
const frontendAppConfigs = schema.process(appConfigs, {
|
|
55
59
|
visibility: options.fullVisibility ? ["frontend", "backend", "secret"] : ["frontend"],
|
|
@@ -76,4 +80,4 @@ async function loadCliConfig(options) {
|
|
|
76
80
|
}
|
|
77
81
|
|
|
78
82
|
exports.loadCliConfig = loadCliConfig;
|
|
79
|
-
//# sourceMappingURL=config-
|
|
83
|
+
//# sourceMappingURL=config-4a59f918.cjs.js.map
|
|
@@ -7,12 +7,12 @@ var chalk = require('chalk');
|
|
|
7
7
|
var inquirer = require('inquirer');
|
|
8
8
|
var camelCase = require('lodash/camelCase');
|
|
9
9
|
var upperFirst = require('lodash/upperFirst');
|
|
10
|
-
var index = require('./index-
|
|
11
|
-
var tasks = require('./tasks-
|
|
12
|
-
var Lockfile = require('./Lockfile-
|
|
10
|
+
var index = require('./index-50703ee1.cjs.js');
|
|
11
|
+
var tasks = require('./tasks-4776baa6.cjs.js');
|
|
12
|
+
var Lockfile = require('./Lockfile-72b7072e.cjs.js');
|
|
13
13
|
require('minimatch');
|
|
14
14
|
require('@manypkg/get-packages');
|
|
15
|
-
require('./run-
|
|
15
|
+
require('./run-722b1384.cjs.js');
|
|
16
16
|
var partition = require('lodash/partition');
|
|
17
17
|
var errors = require('@backstage/errors');
|
|
18
18
|
require('commander');
|
|
@@ -85,14 +85,23 @@ async function executePluginPackageTemplate(ctx, options) {
|
|
|
85
85
|
const shortPluginDir = path.relative(index.paths.targetRoot, targetDir);
|
|
86
86
|
await tasks.Task.forItem("availability", shortPluginDir, async () => {
|
|
87
87
|
if (await fs__default["default"].pathExists(targetDir)) {
|
|
88
|
-
throw new Error(
|
|
88
|
+
throw new Error(
|
|
89
|
+
`A package with the same plugin ID already exists at ${chalk__default["default"].cyan(
|
|
90
|
+
shortPluginDir
|
|
91
|
+
)}. Please try again with a different ID.`
|
|
92
|
+
);
|
|
89
93
|
}
|
|
90
94
|
});
|
|
91
95
|
const tempDir = await tasks.Task.forItem("creating", "temp dir", async () => {
|
|
92
96
|
return await ctx.createTemporaryDirectory("backstage-create");
|
|
93
97
|
});
|
|
94
98
|
tasks.Task.section("Executing Template");
|
|
95
|
-
await tasks.templatingTask(
|
|
99
|
+
await tasks.templatingTask(
|
|
100
|
+
index.paths.resolveOwn("templates", options.templateName),
|
|
101
|
+
tempDir,
|
|
102
|
+
options.values,
|
|
103
|
+
index.createPackageVersionProvider(lockfile)
|
|
104
|
+
);
|
|
96
105
|
const pkgJsonPath = path.resolve(tempDir, "package.json");
|
|
97
106
|
if (await fs__default["default"].pathExists(pkgJsonPath)) {
|
|
98
107
|
const pkgJson = await fs__default["default"].readJson(pkgJsonPath);
|
|
@@ -101,7 +110,9 @@ async function executePluginPackageTemplate(ctx, options) {
|
|
|
101
110
|
tasks.Task.section("Installing");
|
|
102
111
|
await tasks.Task.forItem("moving", shortPluginDir, async () => {
|
|
103
112
|
await fs__default["default"].move(tempDir, targetDir).catch((error) => {
|
|
104
|
-
throw new Error(
|
|
113
|
+
throw new Error(
|
|
114
|
+
`Failed to move package from ${tempDir} to ${targetDir}, ${error.message}`
|
|
115
|
+
);
|
|
105
116
|
});
|
|
106
117
|
});
|
|
107
118
|
ctx.markAsModified();
|
|
@@ -136,22 +147,31 @@ const frontendPlugin = createFactory({
|
|
|
136
147
|
});
|
|
137
148
|
if (await fs__default["default"].pathExists(index.paths.resolveTargetRoot("packages/app"))) {
|
|
138
149
|
await tasks.Task.forItem("app", "adding dependency", async () => {
|
|
139
|
-
await tasks.addPackageDependency(
|
|
140
|
-
|
|
141
|
-
|
|
150
|
+
await tasks.addPackageDependency(
|
|
151
|
+
index.paths.resolveTargetRoot("packages/app/package.json"),
|
|
152
|
+
{
|
|
153
|
+
dependencies: {
|
|
154
|
+
[name]: `^${ctx.defaultVersion}`
|
|
155
|
+
}
|
|
142
156
|
}
|
|
143
|
-
|
|
157
|
+
);
|
|
144
158
|
});
|
|
145
159
|
await tasks.Task.forItem("app", "adding import", async () => {
|
|
146
160
|
var _a;
|
|
147
|
-
const pluginsFilePath = index.paths.resolveTargetRoot(
|
|
161
|
+
const pluginsFilePath = index.paths.resolveTargetRoot(
|
|
162
|
+
"packages/app/src/App.tsx"
|
|
163
|
+
);
|
|
148
164
|
if (!await fs__default["default"].pathExists(pluginsFilePath)) {
|
|
149
165
|
return;
|
|
150
166
|
}
|
|
151
167
|
const content = await fs__default["default"].readFile(pluginsFilePath, "utf8");
|
|
152
168
|
const revLines = content.split("\n").reverse();
|
|
153
|
-
const lastImportIndex = revLines.findIndex(
|
|
154
|
-
|
|
169
|
+
const lastImportIndex = revLines.findIndex(
|
|
170
|
+
(line) => line.match(/ from ("|').*("|')/)
|
|
171
|
+
);
|
|
172
|
+
const lastRouteIndex = revLines.findIndex(
|
|
173
|
+
(line) => line.match(/<\/FlatRoutes/)
|
|
174
|
+
);
|
|
155
175
|
if (lastImportIndex !== -1 && lastRouteIndex !== -1) {
|
|
156
176
|
const importLine = `import { ${extensionName} } from '${name}';`;
|
|
157
177
|
if (!content.includes(importLine)) {
|
|
@@ -205,11 +225,14 @@ const backendPlugin = createFactory({
|
|
|
205
225
|
});
|
|
206
226
|
if (await fs__default["default"].pathExists(index.paths.resolveTargetRoot("packages/backend"))) {
|
|
207
227
|
await tasks.Task.forItem("backend", "adding dependency", async () => {
|
|
208
|
-
await tasks.addPackageDependency(
|
|
209
|
-
|
|
210
|
-
|
|
228
|
+
await tasks.addPackageDependency(
|
|
229
|
+
index.paths.resolveTargetRoot("packages/backend/package.json"),
|
|
230
|
+
{
|
|
231
|
+
dependencies: {
|
|
232
|
+
[name]: `^${ctx.defaultVersion}`
|
|
233
|
+
}
|
|
211
234
|
}
|
|
212
|
-
|
|
235
|
+
);
|
|
213
236
|
});
|
|
214
237
|
}
|
|
215
238
|
if (options.owner) {
|
|
@@ -376,7 +399,10 @@ class FactoryRegistry {
|
|
|
376
399
|
};
|
|
377
400
|
}
|
|
378
401
|
if (factory.optionsPrompts) {
|
|
379
|
-
const [hasAnswers, needsAnswers] = partition__default["default"](
|
|
402
|
+
const [hasAnswers, needsAnswers] = partition__default["default"](
|
|
403
|
+
factory.optionsPrompts,
|
|
404
|
+
(option) => option.name in currentOptions
|
|
405
|
+
);
|
|
380
406
|
for (const option of hasAnswers) {
|
|
381
407
|
const value = provided[option.name];
|
|
382
408
|
if (option.validate) {
|
|
@@ -386,15 +412,22 @@ class FactoryRegistry {
|
|
|
386
412
|
}
|
|
387
413
|
}
|
|
388
414
|
}
|
|
389
|
-
currentOptions = await inquirer__default["default"].prompt(
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
415
|
+
currentOptions = await inquirer__default["default"].prompt(
|
|
416
|
+
needsAnswers.map(
|
|
417
|
+
(option) => applyPromptMessageTransforms(option, {
|
|
418
|
+
message: chalk__default["default"].blue,
|
|
419
|
+
error: chalk__default["default"].red
|
|
420
|
+
})
|
|
421
|
+
),
|
|
422
|
+
currentOptions
|
|
423
|
+
);
|
|
393
424
|
}
|
|
394
425
|
return currentOptions;
|
|
395
426
|
}
|
|
396
427
|
}
|
|
397
|
-
FactoryRegistry.factoryMap = new Map(
|
|
428
|
+
FactoryRegistry.factoryMap = new Map(
|
|
429
|
+
Object.values(factories).map((factory) => [factory.name, factory])
|
|
430
|
+
);
|
|
398
431
|
|
|
399
432
|
function parseOptions(optionStrings) {
|
|
400
433
|
const options = {};
|
|
@@ -402,7 +435,9 @@ function parseOptions(optionStrings) {
|
|
|
402
435
|
const [key] = str.split("=", 1);
|
|
403
436
|
const value = str.slice(key.length + 1);
|
|
404
437
|
if (!key || str[key.length] !== "=") {
|
|
405
|
-
throw new Error(
|
|
438
|
+
throw new Error(
|
|
439
|
+
`Invalid option '${str}', must be of the format <key>=<value>`
|
|
440
|
+
);
|
|
406
441
|
}
|
|
407
442
|
options[key] = value;
|
|
408
443
|
}
|
|
@@ -412,10 +447,15 @@ var create = async (opts) => {
|
|
|
412
447
|
var _a;
|
|
413
448
|
const factory = await FactoryRegistry.interactiveSelect(opts.select);
|
|
414
449
|
const providedOptions = parseOptions(opts.option);
|
|
415
|
-
const options = await FactoryRegistry.populateOptions(
|
|
450
|
+
const options = await FactoryRegistry.populateOptions(
|
|
451
|
+
factory,
|
|
452
|
+
providedOptions
|
|
453
|
+
);
|
|
416
454
|
let isMonoRepo = false;
|
|
417
455
|
try {
|
|
418
|
-
const rootPackageJson = await fs__default["default"].readJson(
|
|
456
|
+
const rootPackageJson = await fs__default["default"].readJson(
|
|
457
|
+
index.paths.resolveTargetRoot("package.json")
|
|
458
|
+
);
|
|
419
459
|
if (rootPackageJson.workspaces) {
|
|
420
460
|
isMonoRepo = true;
|
|
421
461
|
}
|
|
@@ -427,7 +467,9 @@ var create = async (opts) => {
|
|
|
427
467
|
}
|
|
428
468
|
let defaultVersion = "0.1.0";
|
|
429
469
|
try {
|
|
430
|
-
const rootLernaJson = await fs__default["default"].readJson(
|
|
470
|
+
const rootLernaJson = await fs__default["default"].readJson(
|
|
471
|
+
index.paths.resolveTargetRoot("lerna.json")
|
|
472
|
+
);
|
|
431
473
|
if (rootLernaJson.version) {
|
|
432
474
|
defaultVersion = rootLernaJson.version;
|
|
433
475
|
}
|
|
@@ -465,8 +507,12 @@ var create = async (opts) => {
|
|
|
465
507
|
if (modified) {
|
|
466
508
|
tasks.Task.log("It seems that something went wrong in the creation process \u{1F914}");
|
|
467
509
|
tasks.Task.log();
|
|
468
|
-
tasks.Task.log(
|
|
469
|
-
|
|
510
|
+
tasks.Task.log(
|
|
511
|
+
"We have left the changes that were made intact in case you want to"
|
|
512
|
+
);
|
|
513
|
+
tasks.Task.log(
|
|
514
|
+
"continue manually, but you can also revert the changes and try again."
|
|
515
|
+
);
|
|
470
516
|
tasks.Task.error(`\u{1F525} Failed to create ${factory.name}!`);
|
|
471
517
|
}
|
|
472
518
|
} finally {
|
|
@@ -474,11 +520,13 @@ var create = async (opts) => {
|
|
|
474
520
|
try {
|
|
475
521
|
await fs__default["default"].remove(dir);
|
|
476
522
|
} catch (error) {
|
|
477
|
-
console.error(
|
|
523
|
+
console.error(
|
|
524
|
+
`Failed to remove temporary directory '${dir}', ${error}`
|
|
525
|
+
);
|
|
478
526
|
}
|
|
479
527
|
}
|
|
480
528
|
}
|
|
481
529
|
};
|
|
482
530
|
|
|
483
531
|
exports["default"] = create;
|
|
484
|
-
//# sourceMappingURL=create-
|
|
532
|
+
//# sourceMappingURL=create-a7269bb5.cjs.js.map
|