isaacscript 5.2.15 → 6.0.1

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 (52) hide show
  1. package/dist/banner.js +2 -2
  2. package/dist/banner.js.map +1 -1
  3. package/dist/commands/check/check.js +32 -22
  4. package/dist/commands/check/check.js.map +1 -1
  5. package/dist/commands/copy/copy.js +4 -4
  6. package/dist/commands/copy/copy.js.map +1 -1
  7. package/dist/commands/init/checkIfProjectPathExists.js +15 -5
  8. package/dist/commands/init/checkIfProjectPathExists.js.map +1 -1
  9. package/dist/commands/init/checkModTargetDirectory.js +11 -5
  10. package/dist/commands/init/checkModTargetDirectory.js.map +1 -1
  11. package/dist/commands/init/createProject.js +38 -82
  12. package/dist/commands/init/createProject.js.map +1 -1
  13. package/dist/commands/init/getModsDirectory.js +4 -2
  14. package/dist/commands/init/getModsDirectory.js.map +1 -1
  15. package/dist/commands/init/init.js +1 -1
  16. package/dist/commands/init/init.js.map +1 -1
  17. package/dist/commands/init/vsCode.js +4 -1
  18. package/dist/commands/init/vsCode.js.map +1 -1
  19. package/dist/commands/monitor/copyWatcherMod.js +9 -9
  20. package/dist/commands/monitor/copyWatcherMod.js.map +1 -1
  21. package/dist/commands/monitor/monitor.js +18 -18
  22. package/dist/commands/monitor/monitor.js.map +1 -1
  23. package/dist/commands/monitor/saveDatWriter/saveDatWriter.js +13 -9
  24. package/dist/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
  25. package/dist/commands/monitor/spawnTSTLWatcher.js +39 -34
  26. package/dist/commands/monitor/spawnTSTLWatcher.js.map +1 -1
  27. package/dist/commands/monitor/touchWatcherSaveDatFiles.js +7 -5
  28. package/dist/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
  29. package/dist/commands/publish/isaacscriptMod.js +23 -17
  30. package/dist/commands/publish/isaacscriptMod.js.map +1 -1
  31. package/dist/commands/publish/publish.js +20 -18
  32. package/dist/commands/publish/publish.js.map +1 -1
  33. package/dist/commands/publish/validate.js +2 -2
  34. package/dist/commands/publish/validate.js.map +1 -1
  35. package/dist/configFile.js +7 -4
  36. package/dist/configFile.js.map +1 -1
  37. package/dist/constants.js +2 -2
  38. package/dist/constants.js.map +1 -1
  39. package/dist/customStage.js +55 -36
  40. package/dist/customStage.js.map +1 -1
  41. package/dist/dev.js +3 -2
  42. package/dist/dev.js.map +1 -1
  43. package/dist/git.js +3 -2
  44. package/dist/git.js.map +1 -1
  45. package/dist/tsconfig.js +5 -2
  46. package/dist/tsconfig.js.map +1 -1
  47. package/dist/validateMod.js +14 -9
  48. package/dist/validateMod.js.map +1 -1
  49. package/file-templates/dynamic/Node.gitignore +3 -1
  50. package/file-templates/static/eslint.config.mjs +3 -3
  51. package/file-templates/static/scripts/lint.ts +1 -1
  52. package/package.json +8 -11
package/dist/banner.js CHANGED
@@ -2,8 +2,8 @@ import chalk from "chalk";
2
2
  import { fatalError } from "complete-node";
3
3
  import figlet from "figlet"; // Cannot be "import * as figlet" or else run-time errors occur.
4
4
  import { PROJECT_NAME, PROJECT_VERSION } from "./constants.js";
5
- export function printBanner() {
6
- const banner = figlet.textSync(PROJECT_NAME);
5
+ export async function printBanner() {
6
+ const banner = await figlet.text(PROJECT_NAME);
7
7
  console.log(chalk.green(banner));
8
8
  const versionString = `v${PROJECT_VERSION}`;
9
9
  const bannerLines = banner.split("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,MAAM,MAAM,QAAQ,CAAC,CAAC,gEAAgE;AAC7F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,UAAU,CACR,eAAe,EACf,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,MAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,CAAC;IACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAClC,CAAC,sBAAsB,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CACpD,CAAC;IACF,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,MAAM,MAAM,QAAQ,CAAC,CAAC,gEAAgE;AAC7F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,UAAU,CACR,eAAe,EACf,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,MAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,CAAC;IACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAClC,CAAC,sBAAsB,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CACpD,CAAC;IACF,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC;AAClC,CAAC"}
@@ -26,34 +26,39 @@ export const checkCommand = new Command()
26
26
  .helpOption("-h, --help", "Display the list of options for this command.")
27
27
  .option("--ignore <ignoreList>", "Comma separated list of file names to ignore.")
28
28
  .option("-v, --verbose", "Enable verbose output.", false)
29
- .action((options) => {
30
- check(options);
29
+ .action(async (options) => {
30
+ await check(options);
31
31
  });
32
32
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
33
  const checkOptions = checkCommand.opts();
34
- function check(options) {
34
+ async function check(options) {
35
35
  const { verbose } = options;
36
36
  let oneOrMoreErrors = false;
37
37
  const ignore = options.ignore ?? "";
38
38
  const ignoreFileNames = ignore.split(",");
39
39
  const ignoreFileNamesSet = new ReadonlySet(ignoreFileNames);
40
40
  // First, check the static files that are shared between TypeScript projects and IsaacScript mods.
41
- if (checkTemplateDirectory(TEMPLATES_STATIC_DIR, ignoreFileNamesSet, verbose)) {
41
+ const templateDirectoryErrors = await checkTemplateDirectory(TEMPLATES_STATIC_DIR, ignoreFileNamesSet, verbose);
42
+ if (templateDirectoryErrors) {
42
43
  oneOrMoreErrors = true;
43
44
  }
44
45
  // Second, check dynamic files that require specific logic.
45
- if (checkIndividualFiles(ignoreFileNamesSet, verbose)) {
46
+ const filesError = await checkIndividualFiles(ignoreFileNamesSet, verbose);
47
+ if (filesError) {
46
48
  oneOrMoreErrors = true;
47
49
  }
48
50
  if (oneOrMoreErrors) {
49
51
  fatalError("The check command failed.");
50
52
  }
51
53
  }
52
- function checkTemplateDirectory(templateDirectory, ignoreFileNamesSet, verbose) {
54
+ /** @returns oneOrMoreErrors */
55
+ async function checkTemplateDirectory(templateDirectory, ignoreFileNamesSet, verbose) {
53
56
  let oneOrMoreErrors = false;
54
57
  for (const klawItem of klawSync(templateDirectory)) {
55
58
  const templateFilePath = klawItem.path;
56
- if (isDirectory(templateFilePath)) {
59
+ // eslint-disable-next-line no-await-in-loop
60
+ const directory = await isDirectory(templateFilePath);
61
+ if (directory) {
57
62
  continue;
58
63
  }
59
64
  const originalFileName = path.basename(templateFilePath);
@@ -80,41 +85,46 @@ function checkTemplateDirectory(templateDirectory, ignoreFileNamesSet, verbose)
80
85
  if (ignoreFileNamesSet.has(projectFileName)) {
81
86
  continue;
82
87
  }
83
- if (!compareTextFiles(projectFilePath, templateFilePath, verbose)) {
88
+ // eslint-disable-next-line no-await-in-loop
89
+ const valid = await compareTextFiles(projectFilePath, templateFilePath, verbose);
90
+ if (!valid) {
84
91
  oneOrMoreErrors = true;
85
92
  }
86
93
  }
87
94
  return oneOrMoreErrors;
88
95
  }
89
- function checkIndividualFiles(ignoreFileNamesSet, verbose) {
96
+ /** @returns oneOrMoreErrors */
97
+ async function checkIndividualFiles(ignoreFileNamesSet, verbose) {
90
98
  let oneOrMoreErrors = false;
91
99
  if (!ignoreFileNamesSet.has(ACTION_YML)) {
92
100
  const templateFilePath = ACTION_YML_TEMPLATE_PATH;
93
101
  const relativeTemplateFilePath = path.relative(TEMPLATES_DYNAMIC_DIR, templateFilePath);
94
102
  const projectFilePath = path.join(CWD, relativeTemplateFilePath);
95
- if (!compareTextFiles(projectFilePath, templateFilePath, verbose)) {
103
+ const valid = await compareTextFiles(projectFilePath, templateFilePath, verbose);
104
+ if (!valid) {
96
105
  oneOrMoreErrors = true;
97
106
  }
98
107
  }
99
108
  return oneOrMoreErrors;
100
109
  }
101
110
  /** @returns Whether the project file is valid in reference to the template file. */
102
- function compareTextFiles(projectFilePath, templateFilePath, verbose) {
103
- if (!isFile(projectFilePath)) {
111
+ async function compareTextFiles(projectFilePath, templateFilePath, verbose) {
112
+ const file = await isFile(projectFilePath);
113
+ if (!file) {
104
114
  console.log(`Failed to find the following file: ${projectFilePath}`);
105
115
  printTemplateLocation(templateFilePath);
106
116
  return false;
107
117
  }
108
- const projectFileObject = getTruncatedFileText(projectFilePath, new Set(), new Set());
109
- const templateFileObject = getTruncatedFileText(templateFilePath, projectFileObject.ignoreLines, projectFileObject.linesBeforeIgnore);
118
+ const projectFileObject = await getTruncatedFileText(projectFilePath, new Set(), new Set());
119
+ const templateFileObject = await getTruncatedFileText(templateFilePath, projectFileObject.ignoreLines, projectFileObject.linesBeforeIgnore);
110
120
  if (projectFileObject.text === templateFileObject.text) {
111
121
  return true;
112
122
  }
113
123
  console.log(`The contents of the following file do not match: ${chalk.red(projectFilePath)}`);
114
124
  printTemplateLocation(templateFilePath);
115
125
  if (verbose) {
116
- const originalTemplateFile = readFile(templateFilePath);
117
- const originalProjectFile = readFile(projectFilePath);
126
+ const originalTemplateFile = await readFile(templateFilePath);
127
+ const originalProjectFile = await readFile(projectFilePath);
118
128
  console.log("--- Original template file: ---\n");
119
129
  console.log(originalTemplateFile);
120
130
  console.log();
@@ -130,17 +140,17 @@ function compareTextFiles(projectFilePath, templateFilePath, verbose) {
130
140
  }
131
141
  const tempProjectFilePath = path.join(CWD, "tempProjectFile.txt");
132
142
  const tempTemplateFilePath = path.join(CWD, "tempTemplateFile.txt");
133
- writeFile(tempProjectFilePath, projectFileObject.text);
134
- writeFile(tempTemplateFilePath, templateFileObject.text);
143
+ await writeFile(tempProjectFilePath, projectFileObject.text);
144
+ await writeFile(tempTemplateFilePath, templateFileObject.text);
135
145
  const { stdout } = execShell("diff", [tempProjectFilePath, tempTemplateFilePath, "--ignore-blank-lines"], verbose, true);
136
146
  console.log(`${stdout}\n`);
137
- deleteFileOrDirectory(tempProjectFilePath);
138
- deleteFileOrDirectory(tempTemplateFilePath);
147
+ await deleteFileOrDirectory(tempProjectFilePath);
148
+ await deleteFileOrDirectory(tempTemplateFilePath);
139
149
  return false;
140
150
  }
141
- function getTruncatedFileText(filePath, ignoreLines, linesBeforeIgnore) {
151
+ async function getTruncatedFileText(filePath, ignoreLines, linesBeforeIgnore) {
142
152
  const fileName = path.basename(filePath);
143
- const fileContents = readFile(filePath);
153
+ const fileContents = await readFile(filePath);
144
154
  return getTruncatedText(fileName, fileContents, ignoreLines, linesBeforeIgnore);
145
155
  }
146
156
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/check/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/check/check.ts"],"names":[],"mappings":"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"}
@@ -29,16 +29,16 @@ async function copy(options) {
29
29
  export async function compileAndCopy(modSourcePath, modTargetPath, packageManager, isaacScriptCommonDev, verbose) {
30
30
  await prepareCustomStages(packageManager, isaacScriptCommonDev, verbose);
31
31
  compile(packageManager, verbose);
32
- copyMod(modSourcePath, modTargetPath);
32
+ await copyMod(modSourcePath, modTargetPath);
33
33
  }
34
34
  function compile(packageManager, verbose) {
35
35
  const command = getPackageManagerExecCommand(packageManager);
36
36
  execShellString(`${command} tstl`, verbose);
37
37
  console.log("Mod compiled successfully.");
38
38
  }
39
- function copyMod(modSourcePath, modTargetPath) {
40
- deleteFileOrDirectory(modTargetPath);
41
- copyFileOrDirectory(modSourcePath, modTargetPath);
39
+ async function copyMod(modSourcePath, modTargetPath) {
40
+ await deleteFileOrDirectory(modTargetPath);
41
+ await copyFileOrDirectory(modSourcePath, modTargetPath);
42
42
  console.log("Mod copied successfully.");
43
43
  }
44
44
  //# sourceMappingURL=copy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/commands/copy/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,uCAAuC,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAE;KACrC,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8BAA8B,CAAC;KAC3C,oBAAoB,CAAC,KAAK,CAAC,CAAC,kEAAkE;KAC9F,UAAU,CAAC,YAAY,EAAE,+CAA+C,CAAC;KACzE,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,6DAA6D;AAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;AAGvC,KAAK,UAAU,IAAI,CAAC,OAAoB;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,cAAc,GAAG,MAAM,uCAAuC,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACzC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,MAAM,cAAc,CAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,MAAM,CAAC,oBAAoB,EAC3B,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,aAAqB,EACrB,cAA8B,EAC9B,oBAAyC,EACzC,OAAgB;IAEhB,MAAM,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,OAAO,CAAC,cAA8B,EAAE,OAAgB;IAC/D,MAAM,OAAO,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC7D,eAAe,CAAC,GAAG,OAAO,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,OAAO,CAAC,aAAqB,EAAE,aAAqB;IAC3D,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACrC,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/commands/copy/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,uCAAuC,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAE;KACrC,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8BAA8B,CAAC;KAC3C,oBAAoB,CAAC,KAAK,CAAC,CAAC,kEAAkE;KAC9F,UAAU,CAAC,YAAY,EAAE,+CAA+C,CAAC;KACzE,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,6DAA6D;AAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;AAGvC,KAAK,UAAU,IAAI,CAAC,OAAoB;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,cAAc,GAAG,MAAM,uCAAuC,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACzC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,MAAM,cAAc,CAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,MAAM,CAAC,oBAAoB,EAC3B,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,aAAqB,EACrB,cAA8B,EAC9B,oBAAyC,EACzC,OAAgB;IAEhB,MAAM,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CAAC,cAA8B,EAAE,OAAgB;IAC/D,MAAM,OAAO,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAC;IAC7D,eAAe,CAAC,GAAG,OAAO,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,aAAqB,EAAE,aAAqB;IACjE,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,14 +1,24 @@
1
1
  import chalk from "chalk";
2
- import { deleteFileOrDirectory, fatalError, fileOrDirectoryExists, isDirectory, } from "complete-node";
2
+ import { deleteFileOrDirectory, exists, fatalError, isDirectory, isFile, } from "complete-node";
3
3
  import { CWD } from "../../constants.js";
4
4
  import { getInputYesNo } from "../../prompt.js";
5
+ /** @throws If the project path exists and 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 projectPathExists = await exists(projectPath);
11
+ if (!projectPathExists) {
12
+ return;
13
+ }
14
+ const file = await isFile(projectPath);
15
+ const directory = await isDirectory(projectPath);
16
+ if (!file && !directory) {
17
+ throw new Error(`Failed to detect if the path was a file or a directory: ${projectPath}`);
18
+ }
19
+ const fileType = directory ? "directory" : "file";
10
20
  if (yes) {
11
- deleteFileOrDirectory(projectPath);
21
+ await deleteFileOrDirectory(projectPath);
12
22
  console.log(`Deleted ${fileType}: ${chalk.green(projectPath)}`);
13
23
  return;
14
24
  }
@@ -17,6 +27,6 @@ export async function checkIfProjectPathExists(projectPath, yes) {
17
27
  if (!shouldDelete) {
18
28
  fatalError("Ok then. Goodbye.");
19
29
  }
20
- deleteFileOrDirectory(projectPath);
30
+ await deleteFileOrDirectory(projectPath);
21
31
  }
22
32
  //# sourceMappingURL=checkIfProjectPathExists.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,GAAY;IAEZ,IAAI,WAAW,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAEjE,IAAI,GAAG,EAAE,CAAC;QACR,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,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,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,GAAY;IAEZ,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,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,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAElD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,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,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,16 +1,22 @@
1
1
  import chalk from "chalk";
2
- import { deleteFileOrDirectory, fatalError, fileOrDirectoryExists, isDirectory, } from "complete-node";
2
+ import { deleteFileOrDirectory, exists, fatalError, isDirectory, isFile, } from "complete-node";
3
3
  import path from "node:path";
4
4
  import { PROJECT_NAME } from "../../constants.js";
5
5
  import { getInputYesNo } from "../../prompt.js";
6
6
  export async function checkModTargetDirectory(modsDirectory, projectName, yes) {
7
7
  const modTargetPath = path.join(modsDirectory, projectName);
8
- if (!fileOrDirectoryExists(modTargetPath)) {
8
+ const modTargetPathExists = await exists(modTargetPath);
9
+ if (!modTargetPathExists) {
9
10
  return;
10
11
  }
11
- const fileType = isDirectory(modTargetPath) ? "directory" : "file";
12
+ const file = await isFile(modTargetPath);
13
+ const directory = await isDirectory(modTargetPath);
14
+ if (!file && !directory) {
15
+ throw new Error(`Failed to detect if the path was a file or a directory: ${modTargetPath}`);
16
+ }
17
+ const fileType = directory ? "directory" : "file";
12
18
  if (yes) {
13
- deleteFileOrDirectory(modTargetPath);
19
+ await deleteFileOrDirectory(modTargetPath);
14
20
  console.log(`Deleted ${fileType}: ${chalk.green(modTargetPath)}`);
15
21
  return;
16
22
  }
@@ -20,6 +26,6 @@ export async function checkModTargetDirectory(modsDirectory, projectName, yes) {
20
26
  if (!shouldDelete) {
21
27
  fatalError("Ok then. Goodbye.");
22
28
  }
23
- deleteFileOrDirectory(modTargetPath);
29
+ await deleteFileOrDirectory(modTargetPath);
24
30
  }
25
31
  //# sourceMappingURL=checkModTargetDirectory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAAqB,EACrB,WAAmB,EACnB,GAAY;IAEZ,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnE,IAAI,GAAG,EAAE,CAAC;QACR,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,KAAK,QAAQ,0CAA0C,KAAK,CAAC,KAAK,CAChE,aAAa,CACd,EAAE,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CACT,GAAG,YAAY,6DAA6D,CAC7E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,aAAa,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAAqB,EACrB,WAAmB,EACnB,GAAY;IAEZ,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,aAAa,EAAE,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAElD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,KAAK,QAAQ,0CAA0C,KAAK,CAAC,KAAK,CAChE,aAAa,CACd,EAAE,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CACT,GAAG,YAAY,6DAA6D,CAC7E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import chalk from "chalk";
2
- import { isObject, parseSemanticVersion, removeLinesBetweenMarkers, removeLinesMatching, repeat, } from "complete-common";
3
- import { PackageManager, copyFileOrDirectory, deleteFileOrDirectory, fatalError, getFileNamesInDirectory, getPackageManagerExecCommand, getPackageManagerInstallCICommand, getPackageManagerInstallCommand, getPackageManagerLockFileName, isFile, makeDirectory, readFile, readFileAsync, renameFile, updatePackageJSONDependencies, writeFile, writeFileAsync, } from "complete-node";
2
+ import { isObject, removeLinesBetweenMarkers, removeLinesMatching, repeat, } from "complete-common";
3
+ import { copyFileOrDirectory, fatalError, getFileNamesInDirectory, getPackageManagerExecCommand, getPackageManagerInstallCICommand, getPackageManagerInstallCommand, getPackageManagerLockFileName, isFile, makeDirectory, readFile, renameFileOrDirectory, updatePackageJSONDependencies, writeFile, } from "complete-node";
4
4
  import path from "node:path";
5
5
  import { Config } from "../../classes/Config.js";
6
6
  import { createConfigFile } from "../../configFile.js";
@@ -9,13 +9,12 @@ import { execShell, execShellString } from "../../exec.js";
9
9
  import { initGitRepository } from "../../git.js";
10
10
  export async function createProject(projectName, projectPath, createNewDir, modsDirectory, saveSlot, gitRemoteURL, skipInstall, packageManager, dev, verbose) {
11
11
  if (createNewDir) {
12
- makeDirectory(projectPath);
12
+ await makeDirectory(projectPath);
13
13
  }
14
14
  const config = new Config(modsDirectory, saveSlot, dev);
15
- createConfigFile(projectPath, config);
16
- copyStaticFiles(projectPath);
17
- copyDynamicFiles(projectName, projectPath, packageManager, dev);
18
- upgradeYarn(projectPath, packageManager, verbose);
15
+ await createConfigFile(projectPath, config);
16
+ await copyStaticFiles(projectPath);
17
+ await copyDynamicFiles(projectName, projectPath, packageManager, dev);
19
18
  // There is no package manager lock files yet, so we have to pass "false" to this function.
20
19
  const updated = await updatePackageJSONDependencies(projectPath, false, true);
21
20
  if (!updated) {
@@ -29,37 +28,40 @@ export async function createProject(projectName, projectPath, createNewDir, mods
29
28
  console.log(`Successfully created mod: ${chalk.green(projectName)}`);
30
29
  }
31
30
  /** Copy static files, like "eslint.config.mjs", "tsconfig.json", etc. */
32
- function copyStaticFiles(projectPath) {
31
+ async function copyStaticFiles(projectPath) {
33
32
  // First, copy the static files that are shared between TypeScript projects and IsaacScript mods.
34
- copyTemplateDirectoryWithoutOverwriting(TEMPLATES_STATIC_DIR, projectPath);
33
+ await copyTemplateDirectoryWithoutOverwriting(TEMPLATES_STATIC_DIR, projectPath);
35
34
  // Rename "_gitattributes" to ".gitattributes". (If it is kept as ".gitattributes", then it won't
36
35
  // be committed to git.)
37
36
  const gitAttributesPath = path.join(projectPath, "_gitattributes");
38
37
  const correctGitAttributesPath = path.join(projectPath, ".gitattributes");
39
- renameFile(gitAttributesPath, correctGitAttributesPath);
38
+ await renameFileOrDirectory(gitAttributesPath, correctGitAttributesPath);
40
39
  // Rename "_cspell.config.jsonc" to "cspell.config.jsonc". (If it is kept as
41
40
  // "cspell.config.jsonc", then local spell checking will fail.)
42
41
  const cSpellConfigPath = path.join(projectPath, "_cspell.config.jsonc");
43
42
  const correctCSpellConfigPath = path.join(projectPath, "cspell.config.jsonc");
44
- renameFile(cSpellConfigPath, correctCSpellConfigPath);
43
+ await renameFileOrDirectory(cSpellConfigPath, correctCSpellConfigPath);
45
44
  }
46
- function copyTemplateDirectoryWithoutOverwriting(templateDirPath, projectPath) {
47
- const fileNames = getFileNamesInDirectory(templateDirPath);
45
+ async function copyTemplateDirectoryWithoutOverwriting(templateDirPath, projectPath) {
46
+ const fileNames = await getFileNamesInDirectory(templateDirPath);
48
47
  for (const fileName of fileNames) {
49
48
  const templateFilePath = path.join(templateDirPath, fileName);
50
49
  const destinationFilePath = path.join(projectPath, fileName);
51
- if (!isFile(destinationFilePath)) {
52
- copyFileOrDirectory(templateFilePath, destinationFilePath);
50
+ // eslint-disable-next-line no-await-in-loop
51
+ const file = await isFile(destinationFilePath);
52
+ if (!file) {
53
+ // eslint-disable-next-line no-await-in-loop
54
+ await copyFileOrDirectory(templateFilePath, destinationFilePath);
53
55
  }
54
56
  }
55
57
  }
56
58
  /** Copy files that need to have text replaced inside of them. */
57
- function copyDynamicFiles(projectName, projectPath, packageManager, dev) {
59
+ async function copyDynamicFiles(projectName, projectPath, packageManager, dev) {
58
60
  // `.github/workflows/setup/action.yml`
59
61
  {
60
62
  const fileName = ACTION_YML;
61
63
  const templatePath = ACTION_YML_TEMPLATE_PATH;
62
- const templateRaw = readFile(templatePath);
64
+ const templateRaw = await readFile(templatePath);
63
65
  const template = parseTemplate(templateRaw);
64
66
  const lockFileName = getPackageManagerLockFileName(packageManager);
65
67
  const installCommand = getPackageManagerInstallCICommand(packageManager);
@@ -68,14 +70,14 @@ function copyDynamicFiles(projectName, projectPath, packageManager, dev) {
68
70
  .replaceAll("PACKAGE_MANAGER_LOCK_FILE_NAME", lockFileName)
69
71
  .replaceAll("PACKAGE_MANAGER_INSTALL_COMMAND", installCommand);
70
72
  const setupPath = path.join(projectPath, ".github", "workflows", "setup");
71
- makeDirectory(setupPath);
73
+ await makeDirectory(setupPath);
72
74
  const destinationPath = path.join(setupPath, fileName);
73
- writeFile(destinationPath, actionYML);
75
+ await writeFile(destinationPath, actionYML);
74
76
  }
75
77
  // `.gitignore`
76
78
  {
77
79
  const templatePath = GITIGNORE_TEMPLATE_PATH;
78
- const templateRaw = readFile(templatePath);
80
+ const templateRaw = await readFile(templatePath);
79
81
  const template = parseTemplate(templateRaw);
80
82
  // Prepend a header with the project name.
81
83
  let separatorLine = "# ";
@@ -85,27 +87,27 @@ function copyDynamicFiles(projectName, projectPath, packageManager, dev) {
85
87
  separatorLine += "\n";
86
88
  const gitIgnoreHeader = `${separatorLine}# ${projectName}\n${separatorLine}\n`;
87
89
  const nodeGitIgnorePath = path.join(TEMPLATES_DYNAMIC_DIR, "Node.gitignore");
88
- const nodeGitIgnore = readFile(nodeGitIgnorePath);
90
+ const nodeGitIgnore = await readFile(nodeGitIgnorePath);
89
91
  // eslint-disable-next-line prefer-template
90
92
  const gitignore = gitIgnoreHeader + template + "\n" + nodeGitIgnore;
91
93
  // We need to replace the underscore with a period.
92
94
  const destinationPath = path.join(projectPath, ".gitignore");
93
- writeFile(destinationPath, gitignore);
95
+ await writeFile(destinationPath, gitignore);
94
96
  }
95
97
  // `package.json`
96
98
  {
97
99
  const packageJSONTemplateFileName = "package.json";
98
100
  const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, packageJSONTemplateFileName);
99
- const template = readFile(templatePath);
101
+ const template = await readFile(templatePath);
100
102
  const packageJSON = template.replaceAll("project-name", projectName);
101
103
  const destinationPath = path.join(projectPath, "package.json");
102
- writeFile(destinationPath, packageJSON);
104
+ await writeFile(destinationPath, packageJSON);
103
105
  }
104
106
  // `README.md`
105
107
  {
106
108
  const readmeMDTemplateFileName = "README.md";
107
109
  const templatePath = path.join(TEMPLATES_DYNAMIC_DIR, readmeMDTemplateFileName);
108
- const template = readFile(templatePath);
110
+ const template = await readFile(templatePath);
109
111
  // "PROJECT-NAME" must be hyphenated, as using an underscore will break Prettier for some
110
112
  // reason.
111
113
  const installCommand = getPackageManagerInstallCICommand(packageManager);
@@ -115,41 +117,41 @@ function copyDynamicFiles(projectName, projectPath, packageManager, dev) {
115
117
  .replaceAll("PACKAGE-MANAGER-INSTALL-COMMAND", installCommand)
116
118
  .replaceAll("PACKAGE-MANAGER-EXEC-COMMAND", execCommand);
117
119
  const destinationPath = path.join(projectPath, README_MD);
118
- writeFile(destinationPath, readmeMD);
120
+ await writeFile(destinationPath, readmeMD);
119
121
  }
120
122
  // `mod/metadata.xml`
121
123
  {
122
124
  const modPath = path.join(projectPath, "mod");
123
- makeDirectory(modPath);
125
+ await makeDirectory(modPath);
124
126
  const fileName = METADATA_XML;
125
127
  const templatePath = METADATA_XML_TEMPLATE_PATH;
126
- const template = readFile(templatePath);
128
+ const template = await readFile(templatePath);
127
129
  const metadataXML = template.replaceAll("PROJECT_NAME", projectName);
128
130
  const destinationPath = path.join(modPath, fileName);
129
- writeFile(destinationPath, metadataXML);
131
+ await writeFile(destinationPath, metadataXML);
130
132
  }
131
133
  const srcPath = path.join(projectPath, "src");
132
- makeDirectory(srcPath);
134
+ await makeDirectory(srcPath);
133
135
  // `src/main.ts` (TypeScript projects use the simple version from the "static-ts" directory.)
134
136
  {
135
137
  // Convert snake_case and kebab-case to camelCase. (Kebab-case in particular will make the
136
138
  // example TypeScript file fail to compile.)
137
139
  const fileName = MAIN_TS;
138
140
  const templatePath = MAIN_TS_TEMPLATE_PATH;
139
- const template = readFile(templatePath);
141
+ const template = await readFile(templatePath);
140
142
  const mainTS = template.replaceAll("PROJECT_NAME", projectName);
141
143
  const destinationPath = path.join(srcPath, fileName);
142
- writeFile(destinationPath, mainTS);
144
+ await writeFile(destinationPath, mainTS);
143
145
  }
144
146
  // If we are initializing an IsaacScript project intended to be used for development, we can
145
147
  // include a better starter file.
146
148
  if (dev) {
147
149
  const fileName = MAIN_TS;
148
150
  const templatePath = MAIN_DEV_TS_TEMPLATE_PATH;
149
- const template = readFile(templatePath);
151
+ const template = await readFile(templatePath);
150
152
  const mainTS = template; // No replacements are necessary for this file.
151
153
  const destinationPath = path.join(srcPath, fileName);
152
- writeFile(destinationPath, mainTS);
154
+ await writeFile(destinationPath, mainTS);
153
155
  }
154
156
  }
155
157
  function parseTemplate(template) {
@@ -160,52 +162,6 @@ function parseTemplate(template) {
160
162
  const templateWithoutMultipleLineBreaks = templateWithoutTemplateComments.replaceAll(/\n\s*\n\s*\n/g, "\n\n");
161
163
  return templateWithoutMultipleLineBreaks;
162
164
  }
163
- /**
164
- * If we are using yarn, assume that we want to use the latest version, which requires some
165
- * additional commands to be performed.
166
- */
167
- function upgradeYarn(projectPath, packageManager, verbose) {
168
- if (packageManager !== PackageManager.yarn) {
169
- return;
170
- }
171
- // First, check to see if they have already done "corepack enable". If they have not, then yarn
172
- // might still be on version 1. Otherwise it will be version 3.
173
- const { stdout } = execShellString("yarn --version", verbose);
174
- const yarnVersion = parseSemanticVersion(stdout);
175
- if (yarnVersion === undefined) {
176
- fatalError(`Failed to parse the Yarn version when running the "yarn --version" command: ${stdout}`);
177
- }
178
- if (yarnVersion.majorVersion === 1) {
179
- // They have not done a "corepack enable", so let them use Yarn 1 to reduce the complexity.
180
- if (verbose) {
181
- console.log('Yarn 1 detected; skipping ".yarnrc.yml" configuration.');
182
- }
183
- return;
184
- }
185
- // Yarn v3.5.1 is the default in Node.js v20 (once corepack has been enabled). On this version of
186
- // node, the command will do two things:
187
- // - It creates `./.yarn/releases/yarn-#.#.#.cjs`.
188
- // - It creates the following string in the "package.json" file: `"packageManager": "yarn@#.#.#"`
189
- execShellString("yarn set version latest", verbose, false, projectPath);
190
- // Having the "yarn-#.#.#.cjs" file inside of the repository is now discouraged in Yarn 4+, so we
191
- // can safely delete this directory.
192
- const yarnDirectoryPath = path.join(projectPath, ".yarn");
193
- deleteFileOrDirectory(yarnDirectoryPath);
194
- // - The ".yarnrc.yml" file will now look like this: `yarnPath: .yarn/releases/yarn-4.0.1.cjs`
195
- // - As mentioned above, we do not need the "yarnPath" setting if the "yarn-#.#.#.cjs" file is not
196
- // inside of the repository, so we need to delete it.
197
- // - Additionally, since there is not a setting specified for "nodeLinker", it will use `pnp`,
198
- // which is not desired:
199
- // https://yarnpkg.com/features/linkers
200
- // - `pnp` is the default, but it requires a VSCode extension.
201
- // - `pnpm` is fast, but it does not work with a D drive:
202
- // https://github.com/yarnpkg/berry/issues/5326
203
- // - Thus, we use `node-modules`, which can be set with: `yarn config set nodeLinker node-modules`
204
- // - However, in order to fix both of these at the same time, we just overwrite the file, which is
205
- // simpler than running commands or manually editing the file.
206
- const yarnConfigPath = path.join(projectPath, ".yarnrc.yml");
207
- writeFile(yarnConfigPath, "nodeLinker: node-modules\n");
208
- }
209
165
  /**
210
166
  * Since TypeScriptToLua needs a specific version of TypeScript, the latest version of TypeScript at
211
167
  * the time of mod initialization may not work. Thus, we manually retrieve the correct version and
@@ -228,9 +184,9 @@ async function fixTypeScriptVersionInPackageJSON(projectPath) {
228
184
  throw new TypeError('Failed to parse the "typescript" peer dependency in the TSTL package.json file.');
229
185
  }
230
186
  const packageJSONPath = path.join(projectPath, "package.json");
231
- const packageJSON = await readFileAsync(packageJSONPath);
187
+ const packageJSON = await readFile(packageJSONPath);
232
188
  const updatedPackageJSON = packageJSON.replace(/"typescript": "[^"]*"/, `"typescript": "${TSTLTypeScriptVersion}"`);
233
- await writeFileAsync(packageJSONPath, updatedPackageJSON);
189
+ await writeFile(packageJSONPath, updatedPackageJSON);
234
190
  }
235
191
  function installNodeModules(projectPath, skipInstall, packageManager, verbose) {
236
192
  if (skipInstall) {
@@ -1 +1 @@
1
- {"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../src/commands/init/createProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../src/commands/init/createProject.ts"],"names":[],"mappings":"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"}