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.
Files changed (2) hide show
  1. package/dist/index.js +59 -218
  2. 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 (e) {
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 (e) {
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.1"}`)} ${headline}`
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 flags = (0, import_arg.default)(
492
- {
493
- "--template": String,
494
- "--ref": String,
495
- "--yes": Boolean,
496
- "--no": Boolean,
497
- "--install": Boolean,
498
- "--no-install": Boolean,
499
- "--git": Boolean,
500
- "--no-git": Boolean,
501
- "--typescript": String,
502
- "--skip-houston": Boolean,
503
- "--dry-run": Boolean,
504
- "--help": Boolean,
505
- "--fancy": Boolean,
506
- "-y": "--yes",
507
- "-n": "--no",
508
- "-h": "--help"
509
- },
510
- { argv, permissive: true }
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
- let cwd = flags["_"][0];
342
+ const projectName2 = args.positionals[0];
514
343
  let {
515
- "--help": help2 = false,
516
- "--template": template2,
517
- "--no": no,
518
- "--yes": yes,
519
- "--install": install2,
520
- "--no-install": noInstall,
521
- "--git": git2,
522
- "--no-git": noGit,
523
- "--typescript": typescript2,
524
- "--fancy": fancy,
525
- "--skip-houston": skipHouston,
526
- "--dry-run": dryRun,
527
- "--ref": ref
528
- } = flags;
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.12.3"),
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 (e) {
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.8.2"),
1144
- getVersion(options.ctx.packageManager, "typescript", "5.5.3")
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 = input.match(GIT_RE)?.groups;
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((arg2) => arg2 !== "--");
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();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-astro",
3
- "version": "4.8.1",
3
+ "version": "4.8.2",
4
4
  "type": "module",
5
5
  "author": "withastro",
6
6
  "license": "MIT",