complete-cli 1.3.2 → 1.3.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.
Files changed (55) hide show
  1. package/dist/commands/CheckCommand.js +16 -11
  2. package/dist/commands/CheckCommand.js.map +1 -0
  3. package/dist/commands/InitCommand.js +1 -0
  4. package/dist/commands/InitCommand.js.map +1 -0
  5. package/dist/commands/MetadataCommand.js +5 -4
  6. package/dist/commands/MetadataCommand.js.map +1 -0
  7. package/dist/commands/NukeCommand.js +1 -0
  8. package/dist/commands/NukeCommand.js.map +1 -0
  9. package/dist/commands/PublishCommand.js +6 -5
  10. package/dist/commands/PublishCommand.js.map +1 -0
  11. package/dist/commands/UpdateCommand.js +1 -0
  12. package/dist/commands/UpdateCommand.js.map +1 -0
  13. package/dist/commands/check/check.test.js +1 -0
  14. package/dist/commands/check/check.test.js.map +1 -0
  15. package/dist/commands/check/getTruncatedText.js +1 -0
  16. package/dist/commands/check/getTruncatedText.js.map +1 -0
  17. package/dist/commands/init/checkIfProjectPathExists.js +12 -5
  18. package/dist/commands/init/checkIfProjectPathExists.js.map +1 -0
  19. package/dist/commands/init/createProject.js +53 -32
  20. package/dist/commands/init/createProject.js.map +1 -0
  21. package/dist/commands/init/getAuthorName.js +1 -0
  22. package/dist/commands/init/getAuthorName.js.map +1 -0
  23. package/dist/commands/init/getProjectPath.js +1 -0
  24. package/dist/commands/init/getProjectPath.js.map +1 -0
  25. package/dist/commands/init/lockedDependencies.js +1 -0
  26. package/dist/commands/init/lockedDependencies.js.map +1 -0
  27. package/dist/commands/init/packageManager.js +16 -3
  28. package/dist/commands/init/packageManager.js.map +1 -0
  29. package/dist/commands/init/vsCodeInit.js +7 -1
  30. package/dist/commands/init/vsCodeInit.js.map +1 -0
  31. package/dist/constants.js +1 -0
  32. package/dist/constants.js.map +1 -0
  33. package/dist/git.js +4 -3
  34. package/dist/git.js.map +1 -0
  35. package/dist/interfaces/GitHubCLIHostsYAML.js +1 -0
  36. package/dist/interfaces/GitHubCLIHostsYAML.js.map +1 -0
  37. package/dist/main.js +1 -0
  38. package/dist/main.js.map +1 -0
  39. package/dist/prompt.js +2 -1
  40. package/dist/prompt.js.map +1 -0
  41. package/file-templates/dynamic/.github/workflows/setup/action.yml +1 -1
  42. package/file-templates/dynamic/Node.gitignore +3 -1
  43. package/file-templates/dynamic/package.json +2 -6
  44. package/file-templates/static/eslint.config.mjs +2 -2
  45. package/file-templates/static/scripts/lint.ts +1 -1
  46. package/package.json +9 -12
  47. package/src/commands/CheckCommand.ts +18 -14
  48. package/src/commands/MetadataCommand.ts +4 -9
  49. package/src/commands/PublishCommand.ts +6 -6
  50. package/src/commands/init/checkIfProjectPathExists.ts +13 -9
  51. package/src/commands/init/createProject.ts +69 -36
  52. package/src/commands/init/packageManager.ts +22 -3
  53. package/src/commands/init/vsCodeInit.ts +9 -1
  54. package/src/git.ts +3 -3
  55. package/src/prompt.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import { Command, Option } from "clipanion";
3
3
  import { ReadonlySet } from "complete-common";
4
- import { $, deleteFileOrDirectoryAsync, fatalError, isDirectory, isFileAsync, readFileAsync, writeFileAsync, } from "complete-node";
4
+ import { $, deleteFileOrDirectory, fatalError, isDirectory, isFile, readFile, writeFile, } from "complete-node";
5
5
  import klawSync from "klaw-sync";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
@@ -42,9 +42,13 @@ export class CheckCommand extends Command {
42
42
  /** @returns Whether the directory was valid. */
43
43
  async function checkTemplateDirectory(templateDirectory, ignoreFileNamesSet, verbose) {
44
44
  let oneOrMoreErrors = false;
45
- for (const klawItem of klawSync(templateDirectory)) {
45
+ // We use `klawSync` instead of `klaw` so that the output will be deterministic.
46
+ const klawItems = klawSync(templateDirectory);
47
+ for (const klawItem of klawItems) {
46
48
  const templateFilePath = klawItem.path;
47
- if (isDirectory(templateFilePath)) {
49
+ // eslint-disable-next-line no-await-in-loop
50
+ const templateExists = await isDirectory(templateFilePath);
51
+ if (templateExists) {
48
52
  continue;
49
53
  }
50
54
  const originalFileName = path.basename(templateFilePath);
@@ -95,7 +99,7 @@ async function checkDynamicFiles(ignoreFileNamesSet, verbose) {
95
99
  }
96
100
  /** @returns Whether the project file is valid in reference to the template file. */
97
101
  async function compareTextFiles(projectFilePath, templateFilePath, verbose) {
98
- const fileExists = await isFileAsync(projectFilePath);
102
+ const fileExists = await isFile(projectFilePath);
99
103
  if (!fileExists) {
100
104
  console.log(`Failed to find the following file: ${projectFilePath}`);
101
105
  printTemplateLocation(templateFilePath);
@@ -109,8 +113,8 @@ async function compareTextFiles(projectFilePath, templateFilePath, verbose) {
109
113
  console.log(`The contents of the following file do not match: ${chalk.red(projectFilePath)}`);
110
114
  printTemplateLocation(templateFilePath);
111
115
  if (verbose) {
112
- const originalTemplateFile = await readFileAsync(templateFilePath);
113
- const originalProjectFile = await readFileAsync(projectFilePath);
116
+ const originalTemplateFile = await readFile(templateFilePath);
117
+ const originalProjectFile = await readFile(projectFilePath);
114
118
  console.log("--- Original template file: ---\n");
115
119
  console.log(originalTemplateFile);
116
120
  console.log();
@@ -127,21 +131,21 @@ async function compareTextFiles(projectFilePath, templateFilePath, verbose) {
127
131
  const tempDir = os.tmpdir();
128
132
  const tempProjectFilePath = path.join(tempDir, "tempProjectFile.txt");
129
133
  const tempTemplateFilePath = path.join(tempDir, "tempTemplateFile.txt");
130
- await writeFileAsync(tempProjectFilePath, projectFileObject.text);
131
- await writeFileAsync(tempTemplateFilePath, templateFileObject.text);
134
+ await writeFile(tempProjectFilePath, projectFileObject.text);
135
+ await writeFile(tempTemplateFilePath, templateFileObject.text);
132
136
  try {
133
137
  await $ `diff ${tempProjectFilePath} ${tempTemplateFilePath} --ignore-blank-lines`;
134
138
  }
135
139
  catch {
136
140
  // `diff` will exit with a non-zero code if the files are different, which is expected.
137
141
  }
138
- await deleteFileOrDirectoryAsync(tempProjectFilePath);
139
- await deleteFileOrDirectoryAsync(tempTemplateFilePath);
142
+ await deleteFileOrDirectory(tempProjectFilePath);
143
+ await deleteFileOrDirectory(tempTemplateFilePath);
140
144
  return false;
141
145
  }
142
146
  async function getTruncatedFileText(filePath, ignoreLines, linesBeforeIgnore) {
143
147
  const fileName = path.basename(filePath);
144
- const fileContents = await readFileAsync(filePath);
148
+ const fileContents = await readFile(filePath);
145
149
  return getTruncatedText(fileName, fileContents, ignoreLines, linesBeforeIgnore);
146
150
  }
147
151
  function printTemplateLocation(templateFilePath) {
@@ -153,3 +157,4 @@ function printTemplateLocation(templateFilePath) {
153
157
  const { urlSuffix } = match.groups;
154
158
  console.log(`You can find the template at: ${chalk.green(`${URL_PREFIX}/${urlSuffix}`)}\n`);
155
159
  }
160
+ //# sourceMappingURL=CheckCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckCommand.js","sourceRoot":"","sources":["../../../../src/commands/CheckCommand.ts"],"names":[],"mappings":"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"}
@@ -65,3 +65,4 @@ export class InitCommand extends Command {
65
65
  promptEnd("Initialization completed.");
66
66
  }
67
67
  }
68
+ //# sourceMappingURL=InitCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../../../src/commands/InitCommand.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Command, Option } from "clipanion";
2
2
  import { assertObject, isObject } from "complete-common";
3
- import { getFilePath, isFileAsync, readFileAsync, writeFileAsync, } from "complete-node";
3
+ import { getFilePath, isFile, readFile, writeFile } from "complete-node";
4
4
  import path from "node:path";
5
5
  export class MetadataCommand extends Command {
6
6
  static paths = [["metadata"], ["m"]];
@@ -18,10 +18,10 @@ export class MetadataCommand extends Command {
18
18
  const packageJSONPath = await getFilePath("package.json", undefined);
19
19
  const packageRoot = path.dirname(packageJSONPath);
20
20
  const packageMetadataPath = path.join(packageRoot, "package-metadata.json");
21
- const packageMetadataExists = await isFileAsync(packageMetadataPath);
21
+ const packageMetadataExists = await isFile(packageMetadataPath);
22
22
  let packageMetadata;
23
23
  if (packageMetadataExists) {
24
- const packageMetadataContents = await readFileAsync(packageMetadataPath);
24
+ const packageMetadataContents = await readFile(packageMetadataPath);
25
25
  const packageMetadataUnknown = JSON.parse(packageMetadataContents);
26
26
  assertObject(packageMetadataUnknown, `Failed to parse the metadata file at: ${packageMetadataPath}`);
27
27
  packageMetadata = packageMetadataUnknown;
@@ -43,8 +43,9 @@ export class MetadataCommand extends Command {
43
43
  "lock-reason": this.reason ?? "",
44
44
  };
45
45
  const packageMetadataJSON = JSON.stringify(packageMetadata, undefined, 2);
46
- await writeFileAsync(packageMetadataPath, packageMetadataJSON);
46
+ await writeFile(packageMetadataPath, packageMetadataJSON);
47
47
  const verb = packageMetadataExists ? "modified" : "created";
48
48
  console.log(`Successfully ${verb}: ${packageMetadataPath}`);
49
49
  }
50
50
  }
51
+ //# sourceMappingURL=MetadataCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataCommand.js","sourceRoot":"","sources":["../../../../src/commands/MetadataCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,OAAO,eAAgB,SAAQ,OAAO;IAC1C,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9C,iCAAiC;IACjC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EACT,wIAAwI;KAC3I,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO;QACX,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAC5E,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEhE,IAAI,eAAwC,CAAC;QAC7C,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACpE,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CACvC,uBAAuB,CACb,CAAC;YACb,YAAY,CACV,sBAAsB,EACtB,yCAAyC,mBAAmB,EAAE,CAC/D,CAAC;YACF,eAAe,GAAG,sBAAsB,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,YAAqC,CAAC;QAC1C,IAAI,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC9C,mEAAmE;YACnE,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,EAAE,CAAC;YAClB,eAAe,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;QACjD,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG;YAClC,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;SACjC,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,mBAAmB,EAAE,CAAC,CAAC;IAC9D,CAAC"}
@@ -10,3 +10,4 @@ export class NukeCommand extends Command {
10
10
  console.log("Successfully reinstalled dependencies from npm.");
11
11
  }
12
12
  }
13
+ //# sourceMappingURL=NukeCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NukeCommand.js","sourceRoot":"","sources":["../../../../src/commands/NukeCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,OAAO,WAAY,SAAQ,OAAO;IACtC,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EACT,mHAAmH;KACtH,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO;QACX,MAAM,gBAAgB,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Command, Option } from "clipanion";
2
2
  import { isSemanticVersion } from "complete-common";
3
- import { $, fatalError, getPackageJSONFieldsMandatory, getPackageManagerInstallCommand, getPackageManagerLockFileName, getPackageManagersForProject, isFileAsync, isGitRepository, isGitRepositoryClean, isLoggedInToNPM, readFile, updatePackageJSONDependencies, writeFileAsync, } from "complete-node";
3
+ import { $, fatalError, getPackageJSONFieldsMandatory, getPackageManagerInstallCommand, getPackageManagerLockFileName, getPackageManagersForProject, isFile, isGitRepository, isGitRepositoryClean, isLoggedInToNPM, readFile, updatePackageJSONDependencies, writeFile, } from "complete-node";
4
4
  import path from "node:path";
5
5
  import { CWD, DEFAULT_PACKAGE_MANAGER } from "../constants.js";
6
6
  export class PublishCommand extends Command {
@@ -36,7 +36,7 @@ async function validate() {
36
36
  if (!isRepositoryClean) {
37
37
  fatalError("Failed to publish since the Git repository was dirty. Before publishing, you must push any current changes to git. (Version commits should not contain any code changes.)");
38
38
  }
39
- const packageJSONExists = await isFileAsync("package.json");
39
+ const packageJSONExists = await isFile("package.json");
40
40
  if (!packageJSONExists) {
41
41
  fatalError('Failed to find the "package.json" file in the current working directory.');
42
42
  }
@@ -118,15 +118,15 @@ async function incrementVersion(versionBumpType) {
118
118
  }
119
119
  async function unsetDevelopmentConstants() {
120
120
  const constantsTSPath = path.join(CWD, "src", "constants.ts");
121
- const constantsTSExists = await isFileAsync(constantsTSPath);
121
+ const constantsTSExists = await isFile(constantsTSPath);
122
122
  if (!constantsTSExists) {
123
123
  return;
124
124
  }
125
- const constantsTS = readFile(constantsTSPath);
125
+ const constantsTS = await readFile(constantsTSPath);
126
126
  const newConstantsTS = constantsTS
127
127
  .replace("const IS_DEV = true", "const IS_DEV = false")
128
128
  .replace("const DEBUG = true", "const DEBUG = false");
129
- await writeFileAsync(constantsTSPath, newConstantsTS);
129
+ await writeFile(constantsTSPath, newConstantsTS);
130
130
  }
131
131
  async function tryRunNPMScript(scriptName) {
132
132
  console.log(`Running: ${scriptName}`);
@@ -159,3 +159,4 @@ async function publish(dryRun) {
159
159
  function getReleaseGitCommitMessage(version) {
160
160
  return `chore: release ${version}`;
161
161
  }
162
+ //# sourceMappingURL=PublishCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishCommand.js","sourceRoot":"","sources":["../../../../src/commands/PublishCommand.ts"],"names":[],"mappings":"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"}
@@ -13,3 +13,4 @@ export class UpdateCommand extends Command {
13
13
  console.log(msg);
14
14
  }
15
15
  }
16
+ //# sourceMappingURL=UpdateCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateCommand.js","sourceRoot":"","sources":["../../../../src/commands/UpdateCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5C,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACpC,WAAW,EACT,kHAAkH;KACrH,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO;QACX,MAAM,kBAAkB,GAAG,MAAM,6BAA6B,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,kBAAkB;YAC5B,CAAC,CAAC,0CAA0C;YAC5C,CAAC,CAAC,uCAAuC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC"}
@@ -84,3 +84,4 @@ line 3
84
84
  const { text } = getTruncatedText("test", templateText, new Set(), new Set(["line 1"]));
85
85
  strictEqual(text, expectedTemplateText);
86
86
  });
87
+ //# sourceMappingURL=check.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.test.js","sourceRoot":"","sources":["../../../../../src/commands/check/check.test.ts"],"names":[],"mappings":"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"}
@@ -137,3 +137,4 @@ export function getTruncatedText(fileName, text, ignoreLines, linesBeforeIgnore)
137
137
  function hasPackageManagerString(line) {
138
138
  return PACKAGE_MANAGER_STRINGS.some((string) => line.includes(string));
139
139
  }
140
+ //# sourceMappingURL=getTruncatedText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTruncatedText.js","sourceRoot":"","sources":["../../../../../src/commands/check/getTruncatedText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,8BAA8B,EAC9B,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,0BAA0B,GAAG,+BAA+B,CAAC;AACnE,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AACjE,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAC7D,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAE7D,MAAM,uBAAuB,GAAG;IAC9B,sBAAsB;IACtB,iCAAiC;IACjC,gCAAgC;IAChC,GAAG,aAAa,CAAC,cAAc,CAAC;IAChC,GAAG,8BAA8B,EAAE;CAC3B,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAY,EACZ,WAAgC,EAChC,iBAAsC;IAMtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,oBAAoB,GAAG,KAAK,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAEhB,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC5C,UAAU,GAAG,KAAK,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC3C,UAAU,GAAG,KAAK,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC3C,oBAAoB,GAAG,IAAI,CAAC;YAE5B,mFAAmF;YACnF,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC/B,UAAU,CACR,sBAAsB,uBAAuB,wCAAwC,QAAQ,SAAS,CACvG,CAAC;YACJ,CAAC;YACD,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEvC,SAAS;QACX,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YAChD,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QAEvB,8DAA8D;QAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,UAAU,GAAG,KAAK,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IACE,QAAQ,KAAK,qBAAqB;eAC/B,QAAQ,KAAK,sBAAsB,EACtC,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC9D,UAAU,GAAG,KAAK,CAAC;gBACnB,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACvD,iDAAiD;YACjD,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,4EAA4E;YAC5E,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;QACH,CAAC;QAED,eAAe;QACf,eAAe;QACf,eAAe;QAEf,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,cAAc;QAC3B,iBAAiB,EAAE,oBAAoB;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC"}
@@ -1,14 +1,20 @@
1
1
  import chalk from "chalk";
2
- import { deleteFileOrDirectory, fileOrDirectoryExists, isDirectory, } from "complete-node";
2
+ import { deleteFileOrDirectory, isDirectory, isFile } from "complete-node";
3
3
  import { CWD } from "../../constants.js";
4
4
  import { getInputYesNo, promptEnd, promptLog } from "../../prompt.js";
5
+ /** @throws If the project path is not a file or a directory. */
5
6
  export async function checkIfProjectPathExists(projectPath, yes) {
6
- if (projectPath === CWD || !fileOrDirectoryExists(projectPath)) {
7
+ if (projectPath === CWD) {
7
8
  return;
8
9
  }
9
- const fileType = isDirectory(projectPath) ? "directory" : "file";
10
+ const file = await isFile(projectPath);
11
+ const directory = await isDirectory(projectPath);
12
+ if (!file && !directory) {
13
+ throw new Error(`Failed to detect if the path was a file or a directory: ${projectPath}`);
14
+ }
15
+ const fileType = file ? "file" : "directory";
10
16
  if (yes) {
11
- deleteFileOrDirectory(projectPath);
17
+ await deleteFileOrDirectory(projectPath);
12
18
  promptLog(`Deleted ${fileType}: ${chalk.green(projectPath)}`);
13
19
  return;
14
20
  }
@@ -17,5 +23,6 @@ export async function checkIfProjectPathExists(projectPath, yes) {
17
23
  if (!shouldDelete) {
18
24
  promptEnd("Ok then. Goodbye.");
19
25
  }
20
- deleteFileOrDirectory(projectPath);
26
+ await deleteFileOrDirectory(projectPath);
21
27
  }
28
+ //# sourceMappingURL=checkIfProjectPathExists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../../../src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtE,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,GAAY;IAEZ,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,WAAW,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7C,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzC,SAAS,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,SAAS,CACP,KAAK,QAAQ,mCAAmC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAC3E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import chalk from "chalk";
2
2
  import { assertObject, repeat } from "complete-common";
3
- import { $q, copyFileOrDirectory, formatWithPrettier, getFileNamesInDirectory, getPackageJSON, getPackageManagerInstallCICommand, getPackageManagerInstallCommand, isFile, makeDirectory, PackageManager, readFile, renameFile, updatePackageJSONDependencies, writeFile, writeFileAsync, } from "complete-node";
3
+ import { $q, copyFileOrDirectory, formatWithPrettier, getFileNamesInDirectory, getPackageJSON, getPackageManagerInstallCICommand, getPackageManagerInstallCommand, isFile, makeDirectory, PackageManager, readFile, renameFileOrDirectory, updatePackageJSONDependencies, writeFile, } from "complete-node";
4
4
  import path from "node:path";
5
5
  import { ACTION_YML, ACTION_YML_TEMPLATE_PATH, TEMPLATES_DYNAMIC_DIR, TEMPLATES_STATIC_DIR, } from "../../constants.js";
6
6
  import { initGitRepository } from "../../git.js";
@@ -8,11 +8,11 @@ import { promptError, promptLog, promptSpinnerStart } from "../../prompt.js";
8
8
  import { LOCKED_DEPENDENCIES } from "./lockedDependencies.js";
9
9
  export async function createProject(projectName, authorName, projectPath, createNewDir, gitRemoteURL, skipInstall, packageManager) {
10
10
  if (createNewDir) {
11
- makeDirectory(projectPath);
11
+ await makeDirectory(projectPath);
12
12
  }
13
- copyStaticFiles(projectPath);
14
- copyDynamicFiles(projectName, authorName, projectPath, packageManager);
15
- copyPackageManagerSpecificFiles(projectPath, packageManager);
13
+ await copyStaticFiles(projectPath);
14
+ await copyDynamicFiles(projectName, authorName, projectPath, packageManager);
15
+ await copyPackageManagerSpecificFiles(projectPath, packageManager);
16
16
  // There is no package manager lock files yet, so we have to pass "false" to this function.
17
17
  const updated = await updatePackageJSONDependencies(projectPath, false, true);
18
18
  if (!updated) {
@@ -30,49 +30,50 @@ export async function createProject(projectName, authorName, projectPath, create
30
30
  promptLog(`Successfully created project: ${chalk.green(projectName)}`);
31
31
  }
32
32
  /** Copy static files, like "eslint.config.mjs", "tsconfig.json", etc. */
33
- function copyStaticFiles(projectPath) {
34
- copyTemplateDirectoryWithoutOverwriting(TEMPLATES_STATIC_DIR, projectPath);
33
+ async function copyStaticFiles(projectPath) {
34
+ await copyTemplateDirectoryWithoutOverwriting(TEMPLATES_STATIC_DIR, projectPath);
35
35
  // Rename "_gitattributes" to ".gitattributes". (If it is kept as ".gitattributes", then it won't
36
36
  // be committed to git.)
37
37
  const gitAttributesPath = path.join(projectPath, "_gitattributes");
38
38
  const correctGitAttributesPath = path.join(projectPath, ".gitattributes");
39
- renameFile(gitAttributesPath, correctGitAttributesPath);
39
+ await renameFileOrDirectory(gitAttributesPath, correctGitAttributesPath);
40
40
  // Rename "_cspell.config.jsonc" to "cspell.config.jsonc". (If it is kept as
41
41
  // "cspell.config.jsonc", then local spell checking will fail.)
42
42
  const cSpellConfigPath = path.join(projectPath, "_cspell.config.jsonc");
43
43
  const correctCSpellConfigPath = path.join(projectPath, "cspell.config.jsonc");
44
- renameFile(cSpellConfigPath, correctCSpellConfigPath);
44
+ await renameFileOrDirectory(cSpellConfigPath, correctCSpellConfigPath);
45
45
  }
46
- function copyTemplateDirectoryWithoutOverwriting(templateDirPath, projectPath) {
47
- const fileNames = getFileNamesInDirectory(templateDirPath);
48
- for (const fileName of fileNames) {
46
+ async function copyTemplateDirectoryWithoutOverwriting(templateDirPath, projectPath) {
47
+ const fileNames = await getFileNamesInDirectory(templateDirPath);
48
+ await Promise.all(fileNames.map(async (fileName) => {
49
49
  const templateFilePath = path.join(templateDirPath, fileName);
50
50
  const destinationFilePath = path.join(projectPath, fileName);
51
- if (!isFile(destinationFilePath)) {
52
- copyFileOrDirectory(templateFilePath, destinationFilePath);
51
+ const file = await isFile(destinationFilePath);
52
+ if (!file) {
53
+ await copyFileOrDirectory(templateFilePath, destinationFilePath);
53
54
  }
54
- }
55
+ }));
55
56
  }
56
57
  /** Copy files that need to have text replaced inside of them. */
57
- function copyDynamicFiles(projectName, authorName, projectPath, packageManager) {
58
+ async function copyDynamicFiles(projectName, authorName, projectPath, packageManager) {
58
59
  // `.github/workflows/setup/action.yml`
59
60
  {
60
61
  const fileName = ACTION_YML;
61
62
  const templatePath = ACTION_YML_TEMPLATE_PATH;
62
- const template = readFile(templatePath);
63
+ const template = await readFile(templatePath);
63
64
  const installCommand = getPackageManagerInstallCICommand(packageManager);
64
65
  const actionYML = template
65
66
  .replaceAll("PACKAGE_MANAGER_NAME", packageManager)
66
67
  .replaceAll("PACKAGE_MANAGER_INSTALL_COMMAND", installCommand);
67
68
  const setupPath = path.join(projectPath, ".github", "workflows", "setup");
68
- makeDirectory(setupPath);
69
+ await makeDirectory(setupPath);
69
70
  const destinationPath = path.join(setupPath, fileName);
70
- writeFile(destinationPath, actionYML);
71
+ await writeFile(destinationPath, actionYML);
71
72
  }
72
73
  // `.gitignore`
73
74
  {
74
75
  const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, "_gitignore");
75
- const template = readFile(templatePath);
76
+ const template = await readFile(templatePath);
76
77
  // Prepend a header with the project name.
77
78
  let separatorLine = "# ";
78
79
  repeat(projectName.length, () => {
@@ -81,27 +82,27 @@ function copyDynamicFiles(projectName, authorName, projectPath, packageManager)
81
82
  separatorLine += "\n";
82
83
  const gitIgnoreHeader = `${separatorLine}# ${projectName}\n${separatorLine}\n`;
83
84
  const nodeGitIgnorePath = path.join(TEMPLATES_DYNAMIC_DIR, "Node.gitignore");
84
- const nodeGitIgnore = readFile(nodeGitIgnorePath);
85
+ const nodeGitIgnore = await readFile(nodeGitIgnorePath);
85
86
  // eslint-disable-next-line prefer-template
86
87
  const gitignore = gitIgnoreHeader + template + "\n" + nodeGitIgnore;
87
88
  // We need to replace the underscore with a period.
88
89
  const destinationPath = path.join(projectPath, ".gitignore");
89
- writeFile(destinationPath, gitignore);
90
+ await writeFile(destinationPath, gitignore);
90
91
  }
91
92
  // `package.json`
92
93
  {
93
94
  const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, "package.json");
94
- const template = readFile(templatePath);
95
+ const template = await readFile(templatePath);
95
96
  const packageJSON = template
96
97
  .replaceAll("project-name", projectName)
97
98
  .replaceAll("author-name", authorName ?? "unknown");
98
99
  const destinationPath = path.join(projectPath, "package.json");
99
- writeFile(destinationPath, packageJSON);
100
+ await writeFile(destinationPath, packageJSON);
100
101
  }
101
102
  // `README.md`
102
103
  {
103
104
  const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, "README.md");
104
- const template = readFile(templatePath);
105
+ const template = await readFile(templatePath);
105
106
  // "PROJECT-NAME" must be hyphenated, as using an underscore will break Prettier for some
106
107
  // reason.
107
108
  const command = getPackageManagerInstallCICommand(packageManager);
@@ -109,15 +110,15 @@ function copyDynamicFiles(projectName, authorName, projectPath, packageManager)
109
110
  .replaceAll("PROJECT-NAME", projectName)
110
111
  .replaceAll("PACKAGE-MANAGER-INSTALL-COMMAND", command);
111
112
  const destinationPath = path.join(projectPath, "README.md");
112
- writeFile(destinationPath, readmeMD);
113
+ await writeFile(destinationPath, readmeMD);
113
114
  }
114
115
  }
115
- function copyPackageManagerSpecificFiles(projectPath, packageManager) {
116
+ async function copyPackageManagerSpecificFiles(projectPath, packageManager) {
116
117
  switch (packageManager) {
117
118
  case PackageManager.npm: {
118
119
  const npmrc = "save-exact=true\n";
119
120
  const npmrcPath = path.join(projectPath, ".npmrc");
120
- writeFile(npmrcPath, npmrc);
121
+ await writeFile(npmrcPath, npmrc);
121
122
  break;
122
123
  }
123
124
  // `pnpm` requires the `shamefully-hoist` option to be enabled for "complete-lint" to work
@@ -125,7 +126,7 @@ function copyPackageManagerSpecificFiles(projectPath, packageManager) {
125
126
  case PackageManager.pnpm: {
126
127
  const npmrc = "save-exact=true\nshamefully-hoist=true\n";
127
128
  const npmrcPath = path.join(projectPath, ".npmrc");
128
- writeFile(npmrcPath, npmrc);
129
+ await writeFile(npmrcPath, npmrc);
129
130
  break;
130
131
  }
131
132
  case PackageManager.yarn: {
@@ -134,7 +135,26 @@ function copyPackageManagerSpecificFiles(projectPath, packageManager) {
134
135
  case PackageManager.bun: {
135
136
  const bunfig = "[install]\nexact = true\n";
136
137
  const bunfigPath = path.join(projectPath, "bunfig.toml");
137
- writeFile(bunfigPath, bunfig);
138
+ await writeFile(bunfigPath, bunfig);
139
+ // Additionally, we assume that if they are using the Bun package manager, they also want to
140
+ // use the Bun runtime. First, replace "complete-tsconfig/tsconfig.node.json" with
141
+ // "complete-tsconfig/tsconfig.bun.json".
142
+ const tsConfigJSONPath = path.join(projectPath, "tsconfig.json");
143
+ const tsConfigJSONScriptsPath = path.join(projectPath, "scripts", "tsconfig.json");
144
+ const filePathsToReplaceNodeWithBun = [
145
+ tsConfigJSONPath,
146
+ tsConfigJSONScriptsPath,
147
+ ];
148
+ await Promise.all(filePathsToReplaceNodeWithBun.map(async (filePath) => {
149
+ const fileContents = await readFile(filePath);
150
+ const newFileContents = fileContents.replaceAll("node", "bun");
151
+ await writeFile(filePath, newFileContents);
152
+ }));
153
+ // Second, replace "tsx" with "bun run".
154
+ const packageJSONPath = path.join(projectPath, "package.json");
155
+ const fileContents = await readFile(packageJSONPath);
156
+ const newFileContents = fileContents.replaceAll("tsx", "bun run");
157
+ await writeFile(packageJSONPath, newFileContents);
138
158
  break;
139
159
  }
140
160
  }
@@ -149,7 +169,7 @@ async function revertVersionsInPackageJSON(projectPath) {
149
169
  }
150
170
  const packageJSONText = JSON.stringify(packageJSON);
151
171
  await formatWithPrettier(packageJSONText, "json", projectPath);
152
- await writeFileAsync(packageJSONPath, packageJSONText);
172
+ await writeFile(packageJSONPath, packageJSONText);
153
173
  }
154
174
  async function createPackageMetadataJSON(projectPath) {
155
175
  const packageMetadata = {
@@ -164,7 +184,7 @@ async function createPackageMetadataJSON(projectPath) {
164
184
  const packageMetadataText = JSON.stringify(packageMetadata);
165
185
  await formatWithPrettier(packageMetadataText, "json", projectPath);
166
186
  const packageMetadataPath = path.join(projectPath, "package-metadata.json");
167
- await writeFileAsync(packageMetadataPath, packageMetadataText);
187
+ await writeFile(packageMetadataPath, packageMetadataText);
168
188
  }
169
189
  async function installNodeModules(projectPath, skipInstall, packageManager) {
170
190
  if (skipInstall) {
@@ -191,3 +211,4 @@ async function formatFiles(projectPath, packageManager) {
191
211
  ? $$q `bunx prettier --write .`
192
212
  : $$q `prettier --write .`);
193
213
  }
214
+ //# sourceMappingURL=createProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../src/commands/init/createProject.ts"],"names":[],"mappings":"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"}
@@ -15,3 +15,4 @@ async function getNewAuthorName() {
15
15
  }
16
16
  return authorName;
17
17
  }
18
+ //# sourceMappingURL=getAuthorName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAuthorName.js","sourceRoot":"","sources":["../../../../../src/commands/init/getAuthorName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACjD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,SAAS,CACP,uEAAuE,CACxE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,kCAAkC,CAAC,CAAC;IAC5E,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -78,3 +78,4 @@ function validateProjectName(projectName, forceName) {
78
78
  promptError('The project name is not in kebab-case. (Kebab-case is the style of using all lowercase letters, with words separated by hyphens.) Project names must use kebab-case to match GitHub repository standards. If necessary, you can override this check with the "--force-name" flag.');
79
79
  }
80
80
  }
81
+ //# sourceMappingURL=getProjectPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProjectPath.js","sourceRoot":"","sources":["../../../../../src/commands/init/getProjectPath.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  // eslint-disable-next-line complete/require-capital-const-assertions
2
2
  export const LOCKED_DEPENDENCIES = [];
3
+ //# sourceMappingURL=lockedDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockedDependencies.js","sourceRoot":"","sources":["../../../../../src/commands/init/lockedDependencies.ts"],"names":[],"mappings":"AAMA,qEAAqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAgC,EAAE,CAAC"}
@@ -1,16 +1,28 @@
1
1
  import chalk from "chalk";
2
- import { getEnumValues } from "complete-common";
3
- import { commandExists, PackageManager } from "complete-node";
2
+ import { assertDefined, getEnumValues } from "complete-common";
3
+ import { commandExists, getJavaScriptRuntime, JavaScriptRuntime, PackageManager, } from "complete-node";
4
4
  import { DEFAULT_PACKAGE_MANAGER } from "../../constants.js";
5
5
  import { promptError } from "../../prompt.js";
6
6
  const PACKAGE_MANAGERS = getEnumValues(PackageManager);
7
7
  export async function getPackageManagerUsedForNewProject(options) {
8
+ // If the package manager was explicitly specified in the options, use that.
8
9
  const packageManagerFromOptions = await getPackageManagerFromOptions(options);
9
- return packageManagerFromOptions ?? DEFAULT_PACKAGE_MANAGER;
10
+ if (packageManagerFromOptions !== undefined) {
11
+ return packageManagerFromOptions;
12
+ }
13
+ // If `bun` or `bunx` was used to launch this program, assume that they also want to use the Bun
14
+ // package manager.
15
+ const javaScriptRuntime = getJavaScriptRuntime();
16
+ assertDefined(javaScriptRuntime, "Failed to get the JavaScript runtime.");
17
+ if (javaScriptRuntime === JavaScriptRuntime.bun) {
18
+ return PackageManager.bun;
19
+ }
20
+ return DEFAULT_PACKAGE_MANAGER;
10
21
  }
11
22
  async function getPackageManagerFromOptions(options) {
12
23
  for (const packageManager of PACKAGE_MANAGERS) {
13
24
  if (options[packageManager]) {
25
+ // Only one package manager flag will be specified at a time.
14
26
  // eslint-disable-next-line no-await-in-loop
15
27
  const exists = await commandExists(packageManager);
16
28
  if (!exists) {
@@ -21,3 +33,4 @@ async function getPackageManagerFromOptions(options) {
21
33
  }
22
34
  return undefined;
23
35
  }
36
+ //# sourceMappingURL=packageManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../../../../src/commands/init/packageManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,gBAAgB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,OAAgD;IAEhD,4EAA4E;IAC5E,MAAM,yBAAyB,GAAG,MAAM,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC9E,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,gGAAgG;IAChG,mBAAmB;IACnB,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,aAAa,CAAC,iBAAiB,EAAE,uCAAuC,CAAC,CAAC;IAC1E,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAChD,OAAO,cAAc,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAgD;IAEhD,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5B,6DAA6D;YAC7D,4CAA4C;YAC5C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CACT,wBAAwB,cAAc,kBAAkB,KAAK,CAAC,KAAK,CACjE,cAAc,CACf,wCAAwC,CAC1C,CAAC;YACJ,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}