isaacscript 3.5.0 → 3.5.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/file-templates/dynamic/.github/workflows/ci.yml +1 -3
  2. package/file-templates/dynamic/gitignore +2 -4
  3. package/file-templates/dynamic/package.json +1 -0
  4. package/file-templates/static/check-orphaned-words.sh +30 -1
  5. package/file-templates/static/lint.sh +13 -13
  6. package/file-templates/static/nuke.sh +1 -1
  7. package/package.json +3 -4
  8. package/src/checkForWindowsTerminalBugs.js +10 -10
  9. package/src/checkForWindowsTerminalBugs.js.map +1 -1
  10. package/src/classes/Config.js +21 -11
  11. package/src/classes/Config.js.map +1 -1
  12. package/src/commands/check/check.js +179 -0
  13. package/src/commands/check/check.js.map +1 -0
  14. package/src/commands/copy/copy.js +16 -15
  15. package/src/commands/copy/copy.js.map +1 -1
  16. package/src/commands/init/checkIfProjectPathExists.js +5 -5
  17. package/src/commands/init/checkIfProjectPathExists.js.map +1 -1
  18. package/src/commands/init/checkModSubdirectory.js +3 -3
  19. package/src/commands/init/checkModSubdirectory.js.map +1 -1
  20. package/src/commands/init/checkModTargetDirectory.js +7 -7
  21. package/src/commands/init/checkModTargetDirectory.js.map +1 -1
  22. package/src/commands/init/createProject.js +178 -0
  23. package/src/commands/init/createProject.js.map +1 -0
  24. package/src/commands/init/getAuthorName.js +28 -0
  25. package/src/commands/init/getAuthorName.js.map +1 -0
  26. package/src/commands/init/getModsDir.js +8 -8
  27. package/src/commands/init/getModsDir.js.map +1 -1
  28. package/src/commands/init/getProjectPath.js +12 -12
  29. package/src/commands/init/getProjectPath.js.map +1 -1
  30. package/src/commands/init/init.js +33 -30
  31. package/src/commands/init/init.js.map +1 -1
  32. package/src/commands/init/installVSCodeExtensions.js +7 -7
  33. package/src/commands/init/installVSCodeExtensions.js.map +1 -1
  34. package/src/commands/init/promptSaveSlot.js +2 -2
  35. package/src/commands/init/promptSaveSlot.js.map +1 -1
  36. package/src/commands/init/promptVSCode.js +7 -7
  37. package/src/commands/init/promptVSCode.js.map +1 -1
  38. package/src/commands/monitor/copyWatcherMod.js +7 -7
  39. package/src/commands/monitor/copyWatcherMod.js.map +1 -1
  40. package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +2 -2
  41. package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +1 -1
  42. package/src/commands/monitor/monitor.js +56 -55
  43. package/src/commands/monitor/monitor.js.map +1 -1
  44. package/src/commands/monitor/notifyGame.js +9 -9
  45. package/src/commands/monitor/notifyGame.js.map +1 -1
  46. package/src/commands/monitor/saveDatWriter/saveDatWriter.js +6 -7
  47. package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
  48. package/src/commands/monitor/spawnSaveDatWriter.js +8 -8
  49. package/src/commands/monitor/spawnSaveDatWriter.js.map +1 -1
  50. package/src/commands/monitor/touchWatcherSaveDatFiles.js +6 -6
  51. package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
  52. package/src/commands/publish/publish.js +55 -57
  53. package/src/commands/publish/publish.js.map +1 -1
  54. package/src/common.js +4 -4
  55. package/src/common.js.map +1 -1
  56. package/src/configFile.js +15 -15
  57. package/src/configFile.js.map +1 -1
  58. package/src/constants.js +33 -33
  59. package/src/constants.js.map +1 -1
  60. package/src/customStage.js +25 -25
  61. package/src/customStage.js.map +1 -1
  62. package/src/dev.js +4 -4
  63. package/src/dev.js.map +1 -1
  64. package/src/enums/DoorSlotFlag.js +9 -9
  65. package/src/enums/DoorSlotFlag.js.map +1 -1
  66. package/src/exec.js +28 -11
  67. package/src/exec.js.map +1 -1
  68. package/src/file.js +17 -17
  69. package/src/file.js.map +1 -1
  70. package/src/{commands/init/git.js → git.js} +38 -35
  71. package/src/git.js.map +1 -0
  72. package/src/index.js +2 -2
  73. package/src/index.js.map +1 -1
  74. package/src/json.js +1 -1
  75. package/src/json.js.map +1 -1
  76. package/src/main.js +63 -60
  77. package/src/main.js.map +1 -1
  78. package/src/objects/doorSlotToDoorSlotFlag.js +11 -11
  79. package/src/objects/doorSlotToDoorSlotFlag.js.map +1 -1
  80. package/src/objects/roomShapeDoorToSlotCoordinates.js +78 -78
  81. package/src/objects/roomShapeDoorToSlotCoordinates.js.map +1 -1
  82. package/src/packageManager.js +46 -32
  83. package/src/packageManager.js.map +1 -1
  84. package/src/parseArgs.js +23 -13
  85. package/src/parseArgs.js.map +1 -1
  86. package/src/plugins/addCrashDebugStatements.js +1 -1
  87. package/src/plugins/addCrashDebugStatements.js.map +1 -1
  88. package/src/plugins/addIsaacScriptCommentHeaderCommon.js +2 -2
  89. package/src/plugins/addIsaacScriptCommentHeaderCommon.js.map +1 -1
  90. package/src/tsconfig.js +10 -10
  91. package/src/tsconfig.js.map +1 -1
  92. package/src/utils.js +2 -2
  93. package/src/utils.js.map +1 -1
  94. package/src/validateInIsaacScriptProject.js +9 -9
  95. package/src/validateInIsaacScriptProject.js.map +1 -1
  96. package/src/validateNodeVersion.js +4 -4
  97. package/src/validateNodeVersion.js.map +1 -1
  98. package/src/validateOS.js +8 -4
  99. package/src/validateOS.js.map +1 -1
  100. package/src/version.js +20 -0
  101. package/src/version.js.map +1 -0
  102. package/file-templates/static-alt/check-file-updates.sh +0 -69
  103. package/src/commands/init/createMod.js +0 -170
  104. package/src/commands/init/createMod.js.map +0 -1
  105. package/src/commands/init/git.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/tsconfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/tsconfig.ts"],"names":[],"mappings":"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"}
package/src/utils.js CHANGED
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTime = exports.getModTargetDirectoryName = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const moment_1 = tslib_1.__importDefault(require("moment"));
6
- const constants_1 = require("./constants");
6
+ const constants_js_1 = require("./constants.js");
7
7
  function getModTargetDirectoryName(config) {
8
8
  return config.customTargetModDirectoryName === undefined
9
- ? constants_1.CURRENT_DIRECTORY_NAME
9
+ ? constants_js_1.CURRENT_DIRECTORY_NAME
10
10
  : config.customTargetModDirectoryName;
11
11
  }
12
12
  exports.getModTargetDirectoryName = getModTargetDirectoryName;
package/src/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/utils.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;AAE5B,2CAAqD;AAErD,SAAgB,yBAAyB,CAAC,MAAc;IACtD,OAAO,MAAM,CAAC,4BAA4B,KAAK,SAAS;QACtD,CAAC,CAAC,kCAAsB;QACxB,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC;AAC1C,CAAC;AAJD,8DAIC;AAED,SAAgB,OAAO;IACrB,OAAO,IAAA,gBAAM,GAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB;AAC3D,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/utils.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;AAE5B,iDAAwD;AAExD,SAAgB,yBAAyB,CAAC,MAAc;IACtD,OAAO,MAAM,CAAC,4BAA4B,KAAK,SAAS;QACtD,CAAC,CAAC,qCAAsB;QACxB,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC;AAC1C,CAAC;AAJD,8DAIC;AAED,SAAgB,OAAO;IACrB,OAAO,IAAA,gBAAM,GAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB;AAC3D,CAAC;AAFD,0BAEC"}
@@ -3,22 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateInIsaacScriptProject = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
- const path_1 = tslib_1.__importDefault(require("path"));
7
- const constants_1 = require("./constants");
8
- const file = tslib_1.__importStar(require("./file"));
6
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
7
+ const constants_js_1 = require("./constants.js");
8
+ const file = tslib_1.__importStar(require("./file.js"));
9
9
  /** We don't check "node_modules" because we might be cloning a fresh IsaacScript project. */
10
10
  const SUBDIRECTORIES_TO_CHECK = ["src", "mod"];
11
11
  // Validate that we are in a directory that looks like an IsaacScript project.
12
12
  function validateInIsaacScriptProject(verbose) {
13
- const filesToCheck = [constants_1.PACKAGE_JSON];
13
+ const filesToCheck = [constants_js_1.PACKAGE_JSON];
14
14
  for (const fileName of filesToCheck) {
15
- const filePath = path_1.default.join(constants_1.CWD, fileName);
15
+ const filePath = node_path_1.default.join(constants_js_1.CWD, fileName);
16
16
  if (!file.exists(filePath, verbose) || !file.isFile(filePath, verbose)) {
17
17
  errorNotExists(fileName, true);
18
18
  }
19
19
  }
20
20
  for (const subdirectoryName of SUBDIRECTORIES_TO_CHECK) {
21
- const subdirectoryPath = path_1.default.join(constants_1.CWD, subdirectoryName);
21
+ const subdirectoryPath = node_path_1.default.join(constants_js_1.CWD, subdirectoryName);
22
22
  if (!file.exists(subdirectoryPath, verbose) ||
23
23
  !file.isDir(subdirectoryPath, verbose)) {
24
24
  errorNotExists(subdirectoryName, false);
@@ -28,9 +28,9 @@ function validateInIsaacScriptProject(verbose) {
28
28
  exports.validateInIsaacScriptProject = validateInIsaacScriptProject;
29
29
  function errorNotExists(dirName, isFile) {
30
30
  const noun = isFile ? "file" : "subdirectory";
31
- console.error(chalk_1.default.red(`It looks like the current working directory is not an ${constants_1.PROJECT_NAME} project. (There is no "${dirName}" ${noun} here.)`));
32
- console.error(`Did you mean to create a new ${constants_1.PROJECT_NAME} project with "${chalk_1.default.green("npx isaacscript init")}"?`);
33
- console.error(`If not, then change the current working directory to an ${constants_1.PROJECT_NAME} project.`);
31
+ console.error(chalk_1.default.red(`It looks like the current working directory is not an ${constants_js_1.PROJECT_NAME} project. (There is no "${dirName}" ${noun} here.)`));
32
+ console.error(`Did you mean to create a new ${constants_js_1.PROJECT_NAME} project with "${chalk_1.default.green("npx isaacscript init")}"?`);
33
+ console.error(`If not, then change the current working directory to an ${constants_js_1.PROJECT_NAME} project.`);
34
34
  process.exit(1);
35
35
  }
36
36
  //# sourceMappingURL=validateInIsaacScriptProject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateInIsaacScriptProject.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/validateInIsaacScriptProject.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,wDAAwB;AACxB,2CAA8D;AAC9D,qDAA+B;AAE/B,6FAA6F;AAC7F,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AAExD,8EAA8E;AAC9E,SAAgB,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,YAAY,GAAG,CAAC,wBAAY,CAAC,CAAC;IACpC,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;QACnC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,eAAG,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YACtE,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAChC;KACF;IAED,KAAK,MAAM,gBAAgB,IAAI,uBAAuB,EAAE;QACtD,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,eAAG,EAAE,gBAAgB,CAAC,CAAC;QAC1D,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;YACvC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,EACtC;YACA,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SACzC;KACF;AACH,CAAC;AAlBD,oEAkBC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAe;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9C,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,yDAAyD,wBAAY,2BAA2B,OAAO,KAAK,IAAI,SAAS,CAC1H,CACF,CAAC;IACF,OAAO,CAAC,KAAK,CACX,gCAAgC,wBAAY,kBAAkB,eAAK,CAAC,KAAK,CACvE,sBAAsB,CACvB,IAAI,CACN,CAAC;IACF,OAAO,CAAC,KAAK,CACX,2DAA2D,wBAAY,WAAW,CACnF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"validateInIsaacScriptProject.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/validateInIsaacScriptProject.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,kEAA6B;AAC7B,iDAAiE;AACjE,wDAAkC;AAElC,6FAA6F;AAC7F,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AAExD,8EAA8E;AAC9E,SAAgB,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,YAAY,GAAG,CAAC,2BAAY,CAAC,CAAC;IACpC,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;QACnC,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,kBAAG,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YACtE,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAChC;KACF;IAED,KAAK,MAAM,gBAAgB,IAAI,uBAAuB,EAAE;QACtD,MAAM,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,kBAAG,EAAE,gBAAgB,CAAC,CAAC;QAC1D,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;YACvC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,EACtC;YACA,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SACzC;KACF;AACH,CAAC;AAlBD,oEAkBC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAe;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9C,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,yDAAyD,2BAAY,2BAA2B,OAAO,KAAK,IAAI,SAAS,CAC1H,CACF,CAAC;IACF,OAAO,CAAC,KAAK,CACX,gCAAgC,2BAAY,kBAAkB,eAAK,CAAC,KAAK,CACvE,sBAAsB,CACvB,IAAI,CACN,CAAC;IACF,OAAO,CAAC,KAAK,CACX,2DAA2D,2BAAY,WAAW,CACnF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -4,7 +4,7 @@ exports.validateNodeVersion = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
6
  const isaacscript_common_ts_1 = require("isaacscript-common-ts");
7
- const constants_1 = require("./constants");
7
+ const constants_js_1 = require("./constants.js");
8
8
  const REQUIRED_NODE_JS_MAJOR_VERSION = 16;
9
9
  /**
10
10
  * This program requires Node to be at least v16.0.0, since that is the version that added the
@@ -14,15 +14,15 @@ function validateNodeVersion() {
14
14
  const { version } = process;
15
15
  const semanticVersion = (0, isaacscript_common_ts_1.parseSemanticVersion)(version);
16
16
  if (semanticVersion === undefined) {
17
- (0, isaacscript_common_ts_1.error)(`Failed to parse the node version: ${version}`);
17
+ (0, isaacscript_common_ts_1.error)(`Failed to parse the Node version: ${version}`);
18
18
  }
19
19
  const { majorVersion } = semanticVersion;
20
20
  if (majorVersion >= REQUIRED_NODE_JS_MAJOR_VERSION) {
21
21
  return;
22
22
  }
23
23
  console.error(`Your Node.js version is: ${chalk_1.default.red(version)}`);
24
- console.error(`${constants_1.PROJECT_NAME} requires a Node.js version of ${chalk_1.default.red(`${REQUIRED_NODE_JS_MAJOR_VERSION}.0.0`)} or greater.`);
25
- console.error(`Please upgrade your version of Node.js before using ${constants_1.PROJECT_NAME}.`);
24
+ console.error(`${constants_js_1.PROJECT_NAME} requires a Node.js version of ${chalk_1.default.red(`${REQUIRED_NODE_JS_MAJOR_VERSION}.0.0`)} or greater.`);
25
+ console.error(`Please upgrade your version of Node.js before using ${constants_js_1.PROJECT_NAME}.`);
26
26
  process.exit(1);
27
27
  }
28
28
  exports.validateNodeVersion = validateNodeVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"validateNodeVersion.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/validateNodeVersion.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAAoE;AACpE,2CAA2C;AAE3C,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,eAAe,GAAG,IAAA,4CAAoB,EAAC,OAAO,CAAC,CAAC;IACtD,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,IAAA,6BAAK,EAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;KACvD;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;IACzC,IAAI,YAAY,IAAI,8BAA8B,EAAE;QAClD,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CAAC,4BAA4B,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,CACX,GAAG,wBAAY,kCAAkC,eAAK,CAAC,GAAG,CACxD,GAAG,8BAA8B,MAAM,CACxC,cAAc,CAChB,CAAC;IACF,OAAO,CAAC,KAAK,CACX,uDAAuD,wBAAY,GAAG,CACvE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAvBD,kDAuBC"}
1
+ {"version":3,"file":"validateNodeVersion.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/validateNodeVersion.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAAoE;AACpE,iDAA8C;AAE9C,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,eAAe,GAAG,IAAA,4CAAoB,EAAC,OAAO,CAAC,CAAC;IACtD,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,IAAA,6BAAK,EAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;KACvD;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;IACzC,IAAI,YAAY,IAAI,8BAA8B,EAAE;QAClD,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CAAC,4BAA4B,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,CACX,GAAG,2BAAY,kCAAkC,eAAK,CAAC,GAAG,CACxD,GAAG,8BAA8B,MAAM,CACxC,cAAc,CAChB,CAAC;IACF,OAAO,CAAC,KAAK,CACX,uDAAuD,2BAAY,GAAG,CACvE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAvBD,kDAuBC"}
package/src/validateOS.js CHANGED
@@ -4,14 +4,18 @@ exports.validateOS = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
6
  const isaacscript_common_ts_1 = require("isaacscript-common-ts");
7
- const constants_1 = require("./constants");
7
+ const constants_js_1 = require("./constants.js");
8
8
  const VALID_PLATFORMS = new isaacscript_common_ts_1.ReadonlySet(["win32", "linux"]);
9
- function validateOS() {
9
+ function validateOS(args) {
10
+ const ts = args.ts === true;
11
+ if (ts) {
12
+ return;
13
+ }
10
14
  if (VALID_PLATFORMS.has(process.platform)) {
11
15
  return;
12
16
  }
13
- console.error(`${constants_1.PROJECT_NAME} is only supported on ${chalk_1.default.green("Windows")} and ${chalk_1.default.green("Linux")}.`);
14
- console.error(`If you use another operating system and you want to use ${constants_1.PROJECT_NAME}, make a request in the community Discord server.`);
17
+ console.error(`${constants_js_1.PROJECT_NAME} is only supported on ${chalk_1.default.green("Windows")} and ${chalk_1.default.green("Linux")}.`);
18
+ console.error(`If you use another operating system and you want to use ${constants_js_1.PROJECT_NAME}, make a request in the community Discord server.`);
15
19
  process.exit(1);
16
20
  }
17
21
  exports.validateOS = validateOS;
@@ -1 +1 @@
1
- {"version":3,"file":"validateOS.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/validateOS.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAAoD;AACpD,2CAA2C;AAE3C,MAAM,eAAe,GAAG,IAAI,mCAAW,CAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpE,SAAgB,UAAU;IACxB,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACzC,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,GAAG,wBAAY,yBAAyB,eAAK,CAAC,KAAK,CACjD,SAAS,CACV,QAAQ,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACjC,CAAC;IACF,OAAO,CAAC,KAAK,CACX,2DAA2D,wBAAY,mDAAmD,CAC3H,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAdD,gCAcC"}
1
+ {"version":3,"file":"validateOS.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/validateOS.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAAoD;AACpD,iDAA8C;AAG9C,MAAM,eAAe,GAAG,IAAI,mCAAW,CAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpE,SAAgB,UAAU,CAAC,IAAU;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,EAAE;QACN,OAAO;KACR;IAED,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACzC,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,GAAG,2BAAY,yBAAyB,eAAK,CAAC,KAAK,CACjD,SAAS,CACV,QAAQ,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACjC,CAAC;IACF,OAAO,CAAC,KAAK,CACX,2DAA2D,2BAAY,mDAAmD,CAC3H,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAnBD,gCAmBC"}
package/src/version.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVersionOfThisPackage = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const isaacscript_common_ts_1 = require("isaacscript-common-ts");
6
+ const path = tslib_1.__importStar(require("node:path"));
7
+ const constants_js_1 = require("./constants.js");
8
+ const json_js_1 = require("./json.js");
9
+ /** Returns the version from the "package.json" file. (There is no "v" prefix.) */
10
+ function getVersionOfThisPackage(verbose) {
11
+ const packageJSONPath = path.join(constants_js_1.REPO_ROOT, constants_js_1.PACKAGE_JSON);
12
+ const packageJSON = (0, json_js_1.getJSONC)(packageJSONPath, verbose);
13
+ const { version } = packageJSON;
14
+ if (typeof version !== "string") {
15
+ (0, isaacscript_common_ts_1.error)('Failed to parse the version from this package\'s "package.json" file.');
16
+ }
17
+ return version;
18
+ }
19
+ exports.getVersionOfThisPackage = getVersionOfThisPackage;
20
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/version.ts"],"names":[],"mappings":";;;;AAAA,iEAA8C;AAC9C,wDAAkC;AAClC,iDAAyD;AACzD,uCAAqC;AAErC,kFAAkF;AAClF,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,wBAAS,EAAE,2BAAY,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,kBAAQ,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEvD,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,IAAA,6BAAK,EACH,uEAAuE,CACxE,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAZD,0DAYC"}
@@ -1,69 +0,0 @@
1
- #!/bin/bash
2
-
3
- REMOTE_FILE_TEMPLATES_URL="https://raw.githubusercontent.com/IsaacScript/isaacscript/main/packages/isaacscript-cli/file-templates"
4
-
5
- set -e # Exit on any errors
6
-
7
- # Get the directory of this script:
8
- # https://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within
9
- DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
10
-
11
- TEMPLATE_FILES_FILE_NAME="check-file-updates.txt"
12
- TEMPLATE_FILES_PATH="$DIR/$TEMPLATE_FILES_FILE_NAME"
13
-
14
- # Do nothing if the metadata file does not exist.
15
- if ! test -f "$TEMPLATE_FILES_PATH"; then
16
- echo "The \"$TEMPLATE_FILES_FILE_NAME\" file does not exist. Skipping checks."
17
- exit 0
18
- fi
19
-
20
- ONE_OR_MORE_FAILURES=0
21
- for FILE_SPECIFICATION in $(cat "$TEMPLATE_FILES_PATH"); do
22
- if [[ "$FILE_SPECIFICATION" =~ (.+):(.+) ]]; then
23
- LOCAL_FILE=${BASH_REMATCH[1]}
24
- REMOTE_FILE=${BASH_REMATCH[2]}
25
- STATIC_DIRECTORY="static-alt"
26
- else
27
- LOCAL_FILE=$FILE_SPECIFICATION
28
- REMOTE_FILE=$FILE_SPECIFICATION
29
- STATIC_DIRECTORY="static"
30
- fi
31
-
32
- echo "Checking for an updated version of: $LOCAL_FILE"
33
- TMP_FILE_PATH="/tmp/base-file"
34
- URL="$REMOTE_FILE_TEMPLATES_URL/$STATIC_DIRECTORY/$REMOTE_FILE"
35
- curl "$URL" --output "$TMP_FILE_PATH" --silent --show-error
36
- if grep "^404: Not Found" "$TMP_FILE_PATH" --silent; then
37
- echo
38
- echo "Failed to find the following remote file:"
39
- echo "$URL"
40
- exit 1
41
- fi
42
-
43
- FILE_PATH="$DIR/$LOCAL_FILE"
44
- if test -f "$FILE_PATH"; then
45
- set +e
46
- if ! cmp "$FILE_PATH" "$TMP_FILE_PATH" --silent; then
47
- echo
48
- echo "File \"$LOCAL_FILE\" is out of date. Get the updated version here:"
49
- echo "$URL"
50
- echo
51
- diff "$FILE_PATH" "$TMP_FILE_PATH"
52
- echo
53
- ONE_OR_MORE_FAILURES=1
54
- fi
55
- set -e
56
- else
57
- echo "File \"$FILE_PATH\" does not exist! Change the \"$TEMPLATE_FILES_FILE_NAME\" file."
58
- ONE_OR_MORE_FAILURES=1
59
- fi
60
-
61
- rm -f "$TMP_FILE_PATH"
62
- done
63
-
64
- if [ $ONE_OR_MORE_FAILURES -ne "0" ]; then
65
- echo "One or more files was not valid."
66
- exit 1
67
- fi
68
-
69
- echo "All core files up to date!"
@@ -1,170 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMod = void 0;
4
- const tslib_1 = require("tslib");
5
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
- const isaacscript_common_ts_1 = require("isaacscript-common-ts");
7
- const path_1 = tslib_1.__importDefault(require("path"));
8
- const Config_1 = require("../../classes/Config");
9
- const configFile_1 = require("../../configFile");
10
- const constants_1 = require("../../constants");
11
- const exec_1 = require("../../exec");
12
- const file = tslib_1.__importStar(require("../../file"));
13
- const packageManager_1 = require("../../packageManager");
14
- const git_1 = require("./git");
15
- function createMod(projectName, projectPath, createNewDir, modsDirectory, saveSlot, gitRemoteURL, skipInstall, packageManager, dev, verbose) {
16
- if (createNewDir) {
17
- file.makeDir(projectPath, verbose);
18
- }
19
- const config = new Config_1.Config(modsDirectory, saveSlot, dev);
20
- (0, configFile_1.createConfigFile)(projectPath, config, verbose);
21
- copyStaticFiles(projectPath, verbose);
22
- copyDynamicFiles(projectName, projectPath, packageManager, dev, verbose);
23
- updateNodeModules(projectPath, verbose);
24
- installNodeModules(projectPath, skipInstall, packageManager, verbose);
25
- formatFiles(projectPath, verbose);
26
- // Only make the initial commit once all of the files have been copied and formatted.
27
- (0, git_1.initGitRepository)(projectPath, gitRemoteURL, verbose);
28
- console.log(`Successfully created mod: ${chalk_1.default.green(projectName)}`);
29
- }
30
- exports.createMod = createMod;
31
- /** Copy static files, like ".eslintrc.cjs", "tsconfig.json", etc. */
32
- function copyStaticFiles(projectPath, verbose) {
33
- const staticFileList = file.getDirList(constants_1.TEMPLATES_STATIC_DIR, verbose);
34
- for (const fileName of staticFileList) {
35
- const templateFilePath = path_1.default.join(constants_1.TEMPLATES_STATIC_DIR, fileName);
36
- const destinationFilePath = path_1.default.join(projectPath, fileName);
37
- if (!file.exists(destinationFilePath, verbose)) {
38
- file.copy(templateFilePath, destinationFilePath, verbose);
39
- }
40
- }
41
- // Rename ".eslintrc.template.js" to ".eslintrc.cjs". (If it is kept as ".eslintrc.cjs", then
42
- // local linting will fail.)
43
- const ESLintConfigPath = path_1.default.join(projectPath, ".eslintrc.template.cjs");
44
- const correctESLintConfigPath = path_1.default.join(projectPath, ".eslintrc.cjs");
45
- file.rename(ESLintConfigPath, correctESLintConfigPath, verbose);
46
- // Rename "gitattributes" to ".gitattributes". (If it is kept as ".gitattributes", then it won't
47
- // be committed to git.)
48
- const gitAttributesPath = path_1.default.join(projectPath, "gitattributes");
49
- const correctGitAttributesPath = path_1.default.join(projectPath, ".gitattributes");
50
- file.rename(gitAttributesPath, correctGitAttributesPath, verbose);
51
- // Rename "cspell.template.json" to "cspell.json". (If it is kept as "cspell.json", then local
52
- // spell checking will fail.)
53
- const cSpellConfigPath = path_1.default.join(projectPath, "cspell.template.json");
54
- const correctCSpellConfigPath = path_1.default.join(projectPath, "cspell.json");
55
- file.rename(cSpellConfigPath, correctCSpellConfigPath, verbose);
56
- }
57
- /** Copy files that need to have text replaced inside of them. */
58
- function copyDynamicFiles(projectName, projectPath, packageManager, dev, verbose) {
59
- const workflowsPath = path_1.default.join(projectPath, ".github", "workflows");
60
- file.makeDir(workflowsPath, verbose);
61
- // `.github/workflows/ci.yml`
62
- {
63
- const fileName = constants_1.CI_YML;
64
- const templatePath = constants_1.CI_YML_TEMPLATE_PATH;
65
- const template = file.read(templatePath, verbose);
66
- const lockFileName = (0, packageManager_1.getPackageManagerLockFileName)(packageManager);
67
- const installCommand = (0, packageManager_1.getPackageManagerInstallCICommand)(packageManager);
68
- const ciYML = template
69
- .replace(/PACKAGE-MANAGER-NAME/g, packageManager)
70
- .replace(/PACKAGE-MANAGER-LOCK-FILE-NAME/, lockFileName)
71
- .replace(/PACKAGE-MANAGER-INSTALL/, installCommand)
72
- .replace(/PROJECT-NAME/, projectName);
73
- const destinationPath = path_1.default.join(workflowsPath, fileName);
74
- file.write(destinationPath, ciYML, verbose);
75
- }
76
- // `.gitignore`
77
- {
78
- const fileName = constants_1.GITIGNORE;
79
- const templatePath = constants_1.GITIGNORE_TEMPLATE_PATH;
80
- const template = file.read(templatePath, verbose);
81
- // Prepend a header with the project name.
82
- let separatorLine = "# ";
83
- (0, isaacscript_common_ts_1.repeat)(projectName.length, () => {
84
- separatorLine += "-";
85
- });
86
- separatorLine += "\n";
87
- const gitignoreHeader = `${separatorLine}# ${projectName}\n${separatorLine}\n`;
88
- const gitignore = gitignoreHeader + template;
89
- const destinationPath = path_1.default.join(projectPath, `.${fileName}`); // We need to prepend a period
90
- file.write(destinationPath, gitignore, verbose);
91
- }
92
- // `package.json`
93
- {
94
- // Modify and copy the file.
95
- const fileName = constants_1.PACKAGE_JSON;
96
- const templatePath = constants_1.PACKAGE_JSON_TEMPLATE_PATH;
97
- const template = file.read(templatePath, verbose);
98
- const packageJSON = template.replace(/MOD-NAME-TO-REPLACE/g, projectName);
99
- const destinationPath = path_1.default.join(projectPath, fileName);
100
- file.write(destinationPath, packageJSON, verbose);
101
- }
102
- // `README.md`
103
- {
104
- const fileName = constants_1.README_MD;
105
- const templatePath = constants_1.README_MD_TEMPLATES_PATH;
106
- const template = file.read(templatePath, verbose);
107
- const readmeMD = template.replace(/MOD-NAME-TO-REPLACE/g, projectName);
108
- const destinationPath = path_1.default.join(projectPath, fileName);
109
- file.write(destinationPath, readmeMD, verbose);
110
- }
111
- const modPath = path_1.default.join(projectPath, "mod");
112
- file.makeDir(modPath, verbose);
113
- // `mod/metadata.xml`
114
- {
115
- const fileName = constants_1.METADATA_XML;
116
- const templatePath = constants_1.METADATA_XML_TEMPLATE_PATH;
117
- const template = file.read(templatePath, verbose);
118
- const metadataXML = template.replace(/MOD-NAME-TO-REPLACE/g, projectName);
119
- const destinationPath = path_1.default.join(modPath, fileName);
120
- file.write(destinationPath, metadataXML, verbose);
121
- }
122
- const srcPath = path_1.default.join(projectPath, "src");
123
- file.makeDir(srcPath, verbose);
124
- // `src/main.ts`
125
- {
126
- // Convert snake_case and kebab-case to camelCase. (Kebab-case in particular will make the
127
- // example TypeScript file fail to compile.)
128
- const fileName = constants_1.MAIN_TS;
129
- const templatePath = constants_1.MAIN_TS_TEMPLATE_PATH;
130
- const template = file.read(templatePath, verbose);
131
- const mainTS = template.replace(/MOD-NAME-TO-REPLACE/g, projectName);
132
- const destinationPath = path_1.default.join(srcPath, fileName);
133
- file.write(destinationPath, mainTS, verbose);
134
- }
135
- // If we are initializing an IsaacScript project intended to be used for development, we can
136
- // include a better starter file.
137
- if (dev) {
138
- const fileName = constants_1.MAIN_TS;
139
- const templatePath = constants_1.MAIN_DEV_TS_TEMPLATE_PATH;
140
- const template = file.read(templatePath, verbose);
141
- const mainTS = template; // No replacements are necessary for this file.
142
- const destinationPath = path_1.default.join(srcPath, fileName);
143
- file.write(destinationPath, mainTS, verbose);
144
- }
145
- }
146
- /** The "package.json" file has to be copied first before this step. */
147
- function updateNodeModules(projectPath, verbose) {
148
- console.log('Finding out the latest versions of the packages with "npm-check-updates"...');
149
- (0, exec_1.execShell)("npx", [
150
- "npm-check-updates",
151
- "--upgrade",
152
- "--packageFile",
153
- "package.json",
154
- "--filterVersion",
155
- "^*",
156
- ], verbose, false, projectPath);
157
- }
158
- function installNodeModules(projectPath, skipInstall, packageManager, verbose) {
159
- if (skipInstall) {
160
- return;
161
- }
162
- const [command, args] = (0, packageManager_1.getPackageManagerInstallCommand)(packageManager);
163
- const commandString = `${command} ${args.join(" ")}`;
164
- console.log(`Installing node modules with "${commandString}"... (This can take a long time.)`);
165
- (0, exec_1.execShell)(command, args, verbose, false, projectPath);
166
- }
167
- function formatFiles(projectPath, verbose) {
168
- (0, exec_1.execShell)("npx", ["prettier", "--write", projectPath], verbose, false, projectPath);
169
- }
170
- //# sourceMappingURL=createMod.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/createMod.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA+C;AAC/C,wDAAwB;AACxB,iDAA8C;AAC9C,iDAAoD;AACpD,+CAeyB;AAEzB,qCAAuC;AACvC,yDAAmC;AACnC,yDAI8B;AAC9B,+BAA0C;AAE1C,SAAgB,SAAS,CACvB,WAAmB,EACnB,WAAmB,EACnB,YAAqB,EACrB,aAAqB,EACrB,QAAgB,EAChB,YAAgC,EAChC,WAAoB,EACpB,cAA8B,EAC9B,GAAY,EACZ,OAAgB;IAEhB,IAAI,YAAY,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACpC;IAED,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxD,IAAA,6BAAgB,EAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/C,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACzE,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACtE,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAElC,qFAAqF;IACrF,IAAA,uBAAiB,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,6BAA6B,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;AA7BD,8BA6BC;AAED,qEAAqE;AACrE,SAAS,eAAe,CAAC,WAAmB,EAAE,OAAgB;IAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,gCAAoB,EAAE,OAAO,CAAC,CAAC;IACtE,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE;QACrC,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,gCAAoB,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;SAC3D;KACF;IAED,6FAA6F;IAC7F,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAEhE,gGAAgG;IAChG,wBAAwB;IACxB,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAClE,MAAM,wBAAwB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAElE,8FAA8F;IAC9F,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACxE,MAAM,uBAAuB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,iEAAiE;AACjE,SAAS,gBAAgB,CACvB,WAAmB,EACnB,WAAmB,EACnB,cAA8B,EAC9B,GAAY,EACZ,OAAgB;IAEhB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAErC,6BAA6B;IAC7B;QACE,MAAM,QAAQ,GAAG,kBAAM,CAAC;QACxB,MAAM,YAAY,GAAG,gCAAoB,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElD,MAAM,YAAY,GAAG,IAAA,8CAA6B,EAAC,cAAc,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,IAAA,kDAAiC,EAAC,cAAc,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,QAAQ;aACnB,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC;aAChD,OAAO,CAAC,gCAAgC,EAAE,YAAY,CAAC;aACvD,OAAO,CAAC,yBAAyB,EAAE,cAAc,CAAC;aAClD,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAExC,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC7C;IAED,eAAe;IACf;QACE,MAAM,QAAQ,GAAG,qBAAS,CAAC;QAC3B,MAAM,YAAY,GAAG,mCAAuB,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElD,0CAA0C;QAC1C,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAA,8BAAM,EAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;YAC9B,aAAa,IAAI,GAAG,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,aAAa,IAAI,IAAI,CAAC;QACtB,MAAM,eAAe,GAAG,GAAG,aAAa,KAAK,WAAW,KAAK,aAAa,IAAI,CAAC;QAC/E,MAAM,SAAS,GAAG,eAAe,GAAG,QAAQ,CAAC;QAE7C,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,8BAA8B;QAC9F,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KACjD;IAED,iBAAiB;IACjB;QACE,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,wBAAY,CAAC;QAC9B,MAAM,YAAY,GAAG,sCAA0B,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;KACnD;IAED,cAAc;IACd;QACE,MAAM,QAAQ,GAAG,qBAAS,CAAC;QAC3B,MAAM,YAAY,GAAG,oCAAwB,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/B,qBAAqB;IACrB;QACE,MAAM,QAAQ,GAAG,wBAAY,CAAC;QAC9B,MAAM,YAAY,GAAG,sCAA0B,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;KACnD;IAED,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/B,gBAAgB;IAChB;QACE,0FAA0F;QAC1F,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,mBAAO,CAAC;QACzB,MAAM,YAAY,GAAG,iCAAqB,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9C;IAED,4FAA4F;IAC5F,iCAAiC;IACjC,IAAI,GAAG,EAAE;QACP,MAAM,QAAQ,GAAG,mBAAO,CAAC;QACzB,MAAM,YAAY,GAAG,qCAAyB,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,+CAA+C;QACxE,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9C;AACH,CAAC;AAED,uEAAuE;AACvE,SAAS,iBAAiB,CAAC,WAAmB,EAAE,OAAgB;IAC9D,OAAO,CAAC,GAAG,CACT,6EAA6E,CAC9E,CAAC;IACF,IAAA,gBAAS,EACP,KAAK,EACL;QACE,mBAAmB;QACnB,WAAW;QACX,eAAe;QACf,cAAc;QACd,iBAAiB;QACjB,IAAI;KACL,EACD,OAAO,EACP,KAAK,EACL,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAmB,EACnB,WAAoB,EACpB,cAA8B,EAC9B,OAAgB;IAEhB,IAAI,WAAW,EAAE;QACf,OAAO;KACR;IAED,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,IAAA,gDAA+B,EAAC,cAAc,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CACT,iCAAiC,aAAa,mCAAmC,CAClF,CAAC;IACF,IAAA,gBAAS,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,WAAmB,EAAE,OAAgB;IACxD,IAAA,gBAAS,EACP,KAAK,EACL,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,EACpC,OAAO,EACP,KAAK,EACL,WAAW,CACZ,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/git.ts"],"names":[],"mappings":"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"}