create-astro 4.8.1 → 4.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +59 -218
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,176 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
-
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
-
mod
|
|
25
|
-
));
|
|
26
|
-
|
|
27
|
-
// ../../node_modules/.pnpm/arg@5.0.2/node_modules/arg/index.js
|
|
28
|
-
var require_arg = __commonJS({
|
|
29
|
-
"../../node_modules/.pnpm/arg@5.0.2/node_modules/arg/index.js"(exports, module) {
|
|
30
|
-
var flagSymbol = Symbol("arg flag");
|
|
31
|
-
var ArgError = class _ArgError extends Error {
|
|
32
|
-
constructor(msg, code) {
|
|
33
|
-
super(msg);
|
|
34
|
-
this.name = "ArgError";
|
|
35
|
-
this.code = code;
|
|
36
|
-
Object.setPrototypeOf(this, _ArgError.prototype);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
function arg2(opts, {
|
|
40
|
-
argv = process.argv.slice(2),
|
|
41
|
-
permissive = false,
|
|
42
|
-
stopAtPositional = false
|
|
43
|
-
} = {}) {
|
|
44
|
-
if (!opts) {
|
|
45
|
-
throw new ArgError(
|
|
46
|
-
"argument specification object is required",
|
|
47
|
-
"ARG_CONFIG_NO_SPEC"
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
const result = { _: [] };
|
|
51
|
-
const aliases = {};
|
|
52
|
-
const handlers = {};
|
|
53
|
-
for (const key of Object.keys(opts)) {
|
|
54
|
-
if (!key) {
|
|
55
|
-
throw new ArgError(
|
|
56
|
-
"argument key cannot be an empty string",
|
|
57
|
-
"ARG_CONFIG_EMPTY_KEY"
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
if (key[0] !== "-") {
|
|
61
|
-
throw new ArgError(
|
|
62
|
-
`argument key must start with '-' but found: '${key}'`,
|
|
63
|
-
"ARG_CONFIG_NONOPT_KEY"
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
if (key.length === 1) {
|
|
67
|
-
throw new ArgError(
|
|
68
|
-
`argument key must have a name; singular '-' keys are not allowed: ${key}`,
|
|
69
|
-
"ARG_CONFIG_NONAME_KEY"
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
if (typeof opts[key] === "string") {
|
|
73
|
-
aliases[key] = opts[key];
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
let type = opts[key];
|
|
77
|
-
let isFlag = false;
|
|
78
|
-
if (Array.isArray(type) && type.length === 1 && typeof type[0] === "function") {
|
|
79
|
-
const [fn] = type;
|
|
80
|
-
type = (value, name, prev = []) => {
|
|
81
|
-
prev.push(fn(value, name, prev[prev.length - 1]));
|
|
82
|
-
return prev;
|
|
83
|
-
};
|
|
84
|
-
isFlag = fn === Boolean || fn[flagSymbol] === true;
|
|
85
|
-
} else if (typeof type === "function") {
|
|
86
|
-
isFlag = type === Boolean || type[flagSymbol] === true;
|
|
87
|
-
} else {
|
|
88
|
-
throw new ArgError(
|
|
89
|
-
`type missing or not a function or valid array type: ${key}`,
|
|
90
|
-
"ARG_CONFIG_VAD_TYPE"
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
if (key[1] !== "-" && key.length > 2) {
|
|
94
|
-
throw new ArgError(
|
|
95
|
-
`short argument keys (with a single hyphen) must have only one character: ${key}`,
|
|
96
|
-
"ARG_CONFIG_SHORTOPT_TOOLONG"
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
handlers[key] = [type, isFlag];
|
|
100
|
-
}
|
|
101
|
-
for (let i = 0, len = argv.length; i < len; i++) {
|
|
102
|
-
const wholeArg = argv[i];
|
|
103
|
-
if (stopAtPositional && result._.length > 0) {
|
|
104
|
-
result._ = result._.concat(argv.slice(i));
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
if (wholeArg === "--") {
|
|
108
|
-
result._ = result._.concat(argv.slice(i + 1));
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
if (wholeArg.length > 1 && wholeArg[0] === "-") {
|
|
112
|
-
const separatedArguments = wholeArg[1] === "-" || wholeArg.length === 2 ? [wholeArg] : wholeArg.slice(1).split("").map((a) => `-${a}`);
|
|
113
|
-
for (let j = 0; j < separatedArguments.length; j++) {
|
|
114
|
-
const arg3 = separatedArguments[j];
|
|
115
|
-
const [originalArgName, argStr] = arg3[1] === "-" ? arg3.split(/=(.*)/, 2) : [arg3, void 0];
|
|
116
|
-
let argName = originalArgName;
|
|
117
|
-
while (argName in aliases) {
|
|
118
|
-
argName = aliases[argName];
|
|
119
|
-
}
|
|
120
|
-
if (!(argName in handlers)) {
|
|
121
|
-
if (permissive) {
|
|
122
|
-
result._.push(arg3);
|
|
123
|
-
continue;
|
|
124
|
-
} else {
|
|
125
|
-
throw new ArgError(
|
|
126
|
-
`unknown or unexpected option: ${originalArgName}`,
|
|
127
|
-
"ARG_UNKNOWN_OPTION"
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
const [type, isFlag] = handlers[argName];
|
|
132
|
-
if (!isFlag && j + 1 < separatedArguments.length) {
|
|
133
|
-
throw new ArgError(
|
|
134
|
-
`option requires argument (but was followed by another short argument): ${originalArgName}`,
|
|
135
|
-
"ARG_MISSING_REQUIRED_SHORTARG"
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
if (isFlag) {
|
|
139
|
-
result[argName] = type(true, argName, result[argName]);
|
|
140
|
-
} else if (argStr === void 0) {
|
|
141
|
-
if (argv.length < i + 2 || argv[i + 1].length > 1 && argv[i + 1][0] === "-" && !(argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && (type === Number || // eslint-disable-next-line no-undef
|
|
142
|
-
typeof BigInt !== "undefined" && type === BigInt))) {
|
|
143
|
-
const extended = originalArgName === argName ? "" : ` (alias for ${argName})`;
|
|
144
|
-
throw new ArgError(
|
|
145
|
-
`option requires argument: ${originalArgName}${extended}`,
|
|
146
|
-
"ARG_MISSING_REQUIRED_LONGARG"
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
result[argName] = type(argv[i + 1], argName, result[argName]);
|
|
150
|
-
++i;
|
|
151
|
-
} else {
|
|
152
|
-
result[argName] = type(argStr, argName, result[argName]);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
} else {
|
|
156
|
-
result._.push(wholeArg);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return result;
|
|
160
|
-
}
|
|
161
|
-
arg2.flag = (fn) => {
|
|
162
|
-
fn[flagSymbol] = true;
|
|
163
|
-
return fn;
|
|
164
|
-
};
|
|
165
|
-
arg2.COUNT = arg2.flag((v, name, existingCount) => (existingCount || 0) + 1);
|
|
166
|
-
arg2.ArgError = ArgError;
|
|
167
|
-
module.exports = arg2;
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
|
|
171
1
|
// src/actions/context.ts
|
|
172
|
-
var import_arg = __toESM(require_arg(), 1);
|
|
173
2
|
import os from "node:os";
|
|
3
|
+
import { parseArgs } from "node:util";
|
|
174
4
|
import { prompt } from "@astrojs/cli-kit";
|
|
175
5
|
import { random } from "@astrojs/cli-kit/utils";
|
|
176
6
|
|
|
@@ -317,7 +147,7 @@ async function shell(command, flags, opts = {}) {
|
|
|
317
147
|
const done = new Promise((resolve) => child.on("close", resolve));
|
|
318
148
|
[stdout2, stderr] = await Promise.all([text(child.stdout), text(child.stderr)]);
|
|
319
149
|
await done;
|
|
320
|
-
} catch
|
|
150
|
+
} catch {
|
|
321
151
|
throw { stdout: stdout2, stderr, exitCode: 1 };
|
|
322
152
|
}
|
|
323
153
|
const { exitCode } = child;
|
|
@@ -339,7 +169,7 @@ async function getRegistry(packageManager) {
|
|
|
339
169
|
const { stdout: stdout2 } = await shell(packageManager, ["config", "get", "registry"]);
|
|
340
170
|
_registry = stdout2?.trim()?.replace(/\/$/, "") || fallback;
|
|
341
171
|
if (!new URL(_registry).host) _registry = fallback;
|
|
342
|
-
} catch
|
|
172
|
+
} catch {
|
|
343
173
|
_registry = fallback;
|
|
344
174
|
}
|
|
345
175
|
return _registry;
|
|
@@ -463,7 +293,7 @@ function printHelp({
|
|
|
463
293
|
if (headline) {
|
|
464
294
|
message.push(
|
|
465
295
|
linebreak(),
|
|
466
|
-
`${title(commandName)} ${color.green(`v${"4.8.
|
|
296
|
+
`${title(commandName)} ${color.green(`v${"4.8.2"}`)} ${headline}`
|
|
467
297
|
);
|
|
468
298
|
}
|
|
469
299
|
if (usage) {
|
|
@@ -488,59 +318,70 @@ function printHelp({
|
|
|
488
318
|
|
|
489
319
|
// src/actions/context.ts
|
|
490
320
|
async function getContext(argv) {
|
|
491
|
-
const
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
"
|
|
497
|
-
"
|
|
498
|
-
"
|
|
499
|
-
"
|
|
500
|
-
"
|
|
501
|
-
"
|
|
502
|
-
"
|
|
503
|
-
"
|
|
504
|
-
"
|
|
505
|
-
"
|
|
506
|
-
"-
|
|
507
|
-
"
|
|
508
|
-
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
);
|
|
321
|
+
const args = parseArgs({
|
|
322
|
+
args: argv,
|
|
323
|
+
allowPositionals: true,
|
|
324
|
+
strict: false,
|
|
325
|
+
options: {
|
|
326
|
+
template: { type: "string" },
|
|
327
|
+
ref: { type: "string" },
|
|
328
|
+
yes: { type: "boolean", short: "y" },
|
|
329
|
+
no: { type: "boolean", short: "n" },
|
|
330
|
+
install: { type: "boolean" },
|
|
331
|
+
"no-install": { type: "boolean" },
|
|
332
|
+
git: { type: "boolean" },
|
|
333
|
+
"no-git": { type: "boolean" },
|
|
334
|
+
typescript: { type: "string" },
|
|
335
|
+
"skip-houston": { type: "boolean" },
|
|
336
|
+
"dry-run": { type: "boolean" },
|
|
337
|
+
help: { type: "boolean", short: "h" },
|
|
338
|
+
fancy: { type: "boolean" }
|
|
339
|
+
}
|
|
340
|
+
});
|
|
512
341
|
const packageManager = detectPackageManager() ?? "npm";
|
|
513
|
-
|
|
342
|
+
const projectName2 = args.positionals[0];
|
|
514
343
|
let {
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
"
|
|
521
|
-
|
|
522
|
-
"
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
"
|
|
526
|
-
"
|
|
527
|
-
|
|
528
|
-
} =
|
|
529
|
-
let projectName2 = cwd;
|
|
344
|
+
help: help2,
|
|
345
|
+
template: template2,
|
|
346
|
+
no,
|
|
347
|
+
yes,
|
|
348
|
+
install: install2,
|
|
349
|
+
"no-install": noInstall,
|
|
350
|
+
git: git2,
|
|
351
|
+
"no-git": noGit,
|
|
352
|
+
typescript: typescript2,
|
|
353
|
+
fancy,
|
|
354
|
+
"skip-houston": skipHouston,
|
|
355
|
+
"dry-run": dryRun,
|
|
356
|
+
ref
|
|
357
|
+
} = args.values;
|
|
530
358
|
if (no) {
|
|
531
359
|
yes = false;
|
|
532
360
|
if (install2 == void 0) install2 = false;
|
|
533
361
|
if (git2 == void 0) git2 = false;
|
|
534
362
|
if (typescript2 == void 0) typescript2 = "strict";
|
|
535
363
|
}
|
|
364
|
+
skipHouston = typeof skipHouston == "boolean" ? skipHouston : void 0;
|
|
536
365
|
skipHouston = (os.platform() === "win32" && !fancy || skipHouston) ?? [yes, no, install2, git2, typescript2].some((v) => v !== void 0);
|
|
366
|
+
help2 = !!help2;
|
|
367
|
+
template2 = typeof template2 == "string" ? template2 : void 0;
|
|
368
|
+
no = !!no;
|
|
369
|
+
yes = !!yes;
|
|
370
|
+
install2 = !!install2;
|
|
371
|
+
noInstall = !!noInstall;
|
|
372
|
+
git2 = !!git2;
|
|
373
|
+
noGit = !!noGit;
|
|
374
|
+
typescript2 = typeof typescript2 == "string" ? typescript2 : void 0;
|
|
375
|
+
fancy = !!fancy;
|
|
376
|
+
dryRun = !!dryRun;
|
|
377
|
+
ref = typeof ref == "string" ? ref : void 0;
|
|
537
378
|
const { messages, hats, ties } = getSeasonalHouston({ fancy });
|
|
538
379
|
const context = {
|
|
539
380
|
help: help2,
|
|
540
381
|
prompt,
|
|
541
382
|
packageManager,
|
|
542
383
|
username: getName(),
|
|
543
|
-
version: getVersion(packageManager, "astro", "4.
|
|
384
|
+
version: getVersion(packageManager, "astro", "4.14.0"),
|
|
544
385
|
skipHouston,
|
|
545
386
|
fancy,
|
|
546
387
|
dryRun,
|
|
@@ -554,7 +395,7 @@ async function getContext(argv) {
|
|
|
554
395
|
install: install2 ?? (noInstall ? false : void 0),
|
|
555
396
|
git: git2 ?? (noGit ? false : void 0),
|
|
556
397
|
typescript: typescript2,
|
|
557
|
-
cwd,
|
|
398
|
+
cwd: projectName2,
|
|
558
399
|
exit(code) {
|
|
559
400
|
process.exit(code);
|
|
560
401
|
},
|
|
@@ -677,7 +518,7 @@ async function init({ cwd }) {
|
|
|
677
518
|
],
|
|
678
519
|
{ cwd, stdio: "ignore" }
|
|
679
520
|
);
|
|
680
|
-
} catch
|
|
521
|
+
} catch {
|
|
681
522
|
}
|
|
682
523
|
}
|
|
683
524
|
|
|
@@ -1140,8 +981,8 @@ var FILES_TO_UPDATE2 = {
|
|
|
1140
981
|
parsedPackageJson.scripts.build = `astro check && ${buildScript}`;
|
|
1141
982
|
}
|
|
1142
983
|
const [astroCheckVersion, typescriptVersion] = await Promise.all([
|
|
1143
|
-
getVersion(options.ctx.packageManager, "@astrojs/check", "0.
|
|
1144
|
-
getVersion(options.ctx.packageManager, "typescript", "5.5.
|
|
984
|
+
getVersion(options.ctx.packageManager, "@astrojs/check", "0.9.2"),
|
|
985
|
+
getVersion(options.ctx.packageManager, "typescript", "5.5.4")
|
|
1145
986
|
]);
|
|
1146
987
|
parsedPackageJson.dependencies ??= {};
|
|
1147
988
|
parsedPackageJson.dependencies["@astrojs/check"] = `^${astroCheckVersion}`;
|
|
@@ -1231,7 +1072,7 @@ async function verifyTemplate(tmpl, ref) {
|
|
|
1231
1072
|
}
|
|
1232
1073
|
var GIT_RE = /^(?<repo>[\w.-]+\/[\w.-]+)(?<subdir>[^#]+)?(?<ref>#[\w.-]+)?/;
|
|
1233
1074
|
function parseGitURI(input) {
|
|
1234
|
-
const m =
|
|
1075
|
+
const m = GIT_RE.exec(input)?.groups;
|
|
1235
1076
|
if (!m) throw new Error(`Unable to parse "${input}"`);
|
|
1236
1077
|
return {
|
|
1237
1078
|
repo: m.repo,
|
|
@@ -1246,7 +1087,7 @@ process.on("SIGINT", exit);
|
|
|
1246
1087
|
process.on("SIGTERM", exit);
|
|
1247
1088
|
async function main() {
|
|
1248
1089
|
console.log("");
|
|
1249
|
-
const cleanArgv = process.argv.slice(2).filter((
|
|
1090
|
+
const cleanArgv = process.argv.slice(2).filter((arg) => arg !== "--");
|
|
1250
1091
|
const ctx = await getContext(cleanArgv);
|
|
1251
1092
|
if (ctx.help) {
|
|
1252
1093
|
help();
|