isaacscript 3.16.0 → 3.16.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 (214) hide show
  1. package/dist/checkForWindowsTerminalBugs.js +57 -0
  2. package/{src → dist}/classes/Config.js +1 -6
  3. package/dist/classes/ValidatedConfig.js +1 -0
  4. package/{src → dist}/commands/check/check.js +60 -68
  5. package/dist/commands/check/check.test.js +86 -0
  6. package/dist/commands/copy/copy.js +29 -0
  7. package/dist/commands/init/checkIfProjectPathExists.js +21 -0
  8. package/dist/commands/init/checkModSubdirectory.js +9 -0
  9. package/dist/commands/init/checkModTargetDirectory.js +24 -0
  10. package/dist/commands/init/createProject.js +199 -0
  11. package/dist/commands/init/getAuthorName.js +22 -0
  12. package/dist/commands/init/getModsDir.js +48 -0
  13. package/dist/commands/init/getProjectPath.js +84 -0
  14. package/dist/commands/init/init.js +73 -0
  15. package/dist/commands/init/installVSCodeExtensions.js +27 -0
  16. package/dist/commands/init/promptSaveSlot.js +17 -0
  17. package/{src → dist}/commands/init/promptVSCode.js +5 -10
  18. package/dist/commands/monitor/copyWatcherMod.js +31 -0
  19. package/dist/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +44 -0
  20. package/dist/commands/monitor/monitor.js +154 -0
  21. package/{src → dist}/commands/monitor/notifyGame.js +14 -22
  22. package/{src → dist}/commands/monitor/saveDatWriter/saveDatWriter.js +24 -27
  23. package/dist/commands/monitor/saveDatWriter/types.js +1 -0
  24. package/dist/commands/monitor/spawnModDirectorySyncer.js +31 -0
  25. package/dist/commands/monitor/spawnSaveDatWriter.js +29 -0
  26. package/dist/commands/monitor/spawnTSTLWatcher.js +74 -0
  27. package/dist/commands/monitor/touchWatcherSaveDatFiles.js +15 -0
  28. package/dist/commands/publish/isaacscriptMod.js +90 -0
  29. package/dist/commands/publish/prePublish.js +105 -0
  30. package/dist/commands/publish/publish.js +39 -0
  31. package/dist/commands/publish/validate.js +46 -0
  32. package/dist/common.js +65 -0
  33. package/dist/configFile.js +54 -0
  34. package/dist/constants.js +61 -0
  35. package/dist/customStage.js +298 -0
  36. package/dist/dev.js +10 -0
  37. package/{src/enums → dist/enums/copied}/DoorSlot.js +5 -6
  38. package/dist/enums/copied/DoorSlotFlag.js +35 -0
  39. package/{src/enums → dist/enums/copied}/RoomShape.js +5 -6
  40. package/{src → dist}/exec.js +19 -28
  41. package/dist/git.js +133 -0
  42. package/dist/interfaces/GitHubCLIHostsYAML.js +1 -0
  43. package/dist/interfaces/IsaacScriptTSConfig.js +1 -0
  44. package/dist/interfaces/ShadersXML.js +1 -0
  45. package/dist/interfaces/copied/CustomStageTSConfig.js +4 -0
  46. package/dist/interfaces/copied/JSONRoomsFile.js +4 -0
  47. package/dist/main.js +132 -0
  48. package/dist/objects/copied/doorSlotToDoorSlotFlag.js +16 -0
  49. package/dist/objects/copied/roomShapeToDoorSlotCoordinates.js +112 -0
  50. package/dist/packageManager.js +68 -0
  51. package/{src → dist}/parseArgs.js +36 -15
  52. package/dist/prompt.js +79 -0
  53. package/dist/tsconfig.js +98 -0
  54. package/dist/types/Command.js +4 -0
  55. package/dist/utils.js +8 -0
  56. package/dist/validateInIsaacScriptProject.js +29 -0
  57. package/dist/validateNodeVersion.js +20 -0
  58. package/file-templates/dynamic/.github/workflows/setup/action.yml +21 -0
  59. package/file-templates/dynamic/README.mod.md +4 -3
  60. package/file-templates/dynamic/_gitignore +0 -2
  61. package/file-templates/dynamic/package.mod.json +8 -0
  62. package/file-templates/dynamic/package.ts.json +5 -1
  63. package/file-templates/{dynamic → static}/.github/workflows/ci.yml +10 -38
  64. package/file-templates/static/scripts/tsconfig.json +28 -0
  65. package/file-templates/static-mod/.vscode/settings.json +1 -1
  66. package/file-templates/static-mod/{_cspell.json → _cspell.jsonc} +2 -2
  67. package/file-templates/static-mod/_eslintrc.cjs +1 -1
  68. package/file-templates/static-mod/prettier.config.mjs +6 -1
  69. package/file-templates/static-mod/scripts/lint.ts +36 -0
  70. package/file-templates/static-mod/tsconfig.json +5 -5
  71. package/file-templates/static-ts/.vscode/settings.json +1 -1
  72. package/file-templates/static-ts/{_cspell.json → _cspell.jsonc} +5 -5
  73. package/file-templates/static-ts/_eslintrc.cjs +1 -1
  74. package/file-templates/static-ts/knip.jsonc +6 -0
  75. package/file-templates/static-ts/prettier.config.mjs +6 -1
  76. package/file-templates/static-ts/scripts/lint.ts +30 -0
  77. package/file-templates/static-ts/tsconfig.json +3 -3
  78. package/package.json +27 -9
  79. package/plugins/addCrashDebugStatements.cjs +56 -0
  80. package/plugins/addCrashDebugStatements.ts +39 -0
  81. package/{src/plugins/addIsaacScriptCommentHeader.js → plugins/addIsaacScriptCommentHeader.cjs} +1 -1
  82. package/plugins/addIsaacScriptCommentHeader.ts +42 -0
  83. package/{src/plugins/addIsaacScriptCommentHeaderCommon.js → plugins/addIsaacScriptCommentHeaderCommon.cjs} +6 -4
  84. package/plugins/addIsaacScriptCommentHeaderCommon.ts +59 -0
  85. package/{src/plugins/noExtendedEnums.js → plugins/noExtendedEnums.cjs} +25 -4
  86. package/plugins/noExtendedEnums.ts +83 -0
  87. package/plugins/tsconfig.json +28 -0
  88. package/schemas/tsconfig-isaacscript-section-schema.json +1 -0
  89. package/file-templates/static/nuke.sh +0 -53
  90. package/file-templates/static/update.sh +0 -26
  91. package/file-templates/static-mod/build.sh +0 -22
  92. package/file-templates/static-mod/lint.sh +0 -43
  93. package/file-templates/static-mod/publish.sh +0 -10
  94. package/file-templates/static-mod/run.sh +0 -10
  95. package/file-templates/static-ts/build.sh +0 -53
  96. package/file-templates/static-ts/lint.sh +0 -35
  97. package/file-templates/static-ts/publish.sh +0 -10
  98. package/file-templates/static-ts/run.sh +0 -42
  99. package/src/checkForWindowsTerminalBugs.js +0 -71
  100. package/src/checkForWindowsTerminalBugs.js.map +0 -1
  101. package/src/classes/Config.js.map +0 -1
  102. package/src/classes/ValidatedConfig.js +0 -3
  103. package/src/classes/ValidatedConfig.js.map +0 -1
  104. package/src/commands/check/check.js.map +0 -1
  105. package/src/commands/check/check.test.js +0 -87
  106. package/src/commands/check/check.test.js.map +0 -1
  107. package/src/commands/copy/copy.js +0 -38
  108. package/src/commands/copy/copy.js.map +0 -1
  109. package/src/commands/init/checkIfProjectPathExists.js +0 -28
  110. package/src/commands/init/checkIfProjectPathExists.js.map +0 -1
  111. package/src/commands/init/checkModSubdirectory.js +0 -16
  112. package/src/commands/init/checkModSubdirectory.js.map +0 -1
  113. package/src/commands/init/checkModTargetDirectory.js +0 -31
  114. package/src/commands/init/checkModTargetDirectory.js.map +0 -1
  115. package/src/commands/init/createProject.js +0 -220
  116. package/src/commands/init/createProject.js.map +0 -1
  117. package/src/commands/init/getAuthorName.js +0 -27
  118. package/src/commands/init/getAuthorName.js.map +0 -1
  119. package/src/commands/init/getModsDir.js +0 -58
  120. package/src/commands/init/getModsDir.js.map +0 -1
  121. package/src/commands/init/getProjectPath.js +0 -89
  122. package/src/commands/init/getProjectPath.js.map +0 -1
  123. package/src/commands/init/init.js +0 -78
  124. package/src/commands/init/init.js.map +0 -1
  125. package/src/commands/init/installVSCodeExtensions.js +0 -35
  126. package/src/commands/init/installVSCodeExtensions.js.map +0 -1
  127. package/src/commands/init/promptSaveSlot.js +0 -22
  128. package/src/commands/init/promptSaveSlot.js.map +0 -1
  129. package/src/commands/init/promptVSCode.js.map +0 -1
  130. package/src/commands/monitor/copyWatcherMod.js +0 -39
  131. package/src/commands/monitor/copyWatcherMod.js.map +0 -1
  132. package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +0 -47
  133. package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +0 -1
  134. package/src/commands/monitor/monitor.js +0 -263
  135. package/src/commands/monitor/monitor.js.map +0 -1
  136. package/src/commands/monitor/notifyGame.js.map +0 -1
  137. package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +0 -1
  138. package/src/commands/monitor/saveDatWriter/types.js +0 -3
  139. package/src/commands/monitor/saveDatWriter/types.js.map +0 -1
  140. package/src/commands/monitor/spawnSaveDatWriter.js +0 -35
  141. package/src/commands/monitor/spawnSaveDatWriter.js.map +0 -1
  142. package/src/commands/monitor/touchWatcherSaveDatFiles.js +0 -21
  143. package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +0 -1
  144. package/src/commands/publish/isaacscriptMod.js +0 -97
  145. package/src/commands/publish/isaacscriptMod.js.map +0 -1
  146. package/src/commands/publish/prePublish.js +0 -120
  147. package/src/commands/publish/prePublish.js.map +0 -1
  148. package/src/commands/publish/publish.js +0 -42
  149. package/src/commands/publish/publish.js.map +0 -1
  150. package/src/commands/publish/validate.js +0 -58
  151. package/src/commands/publish/validate.js.map +0 -1
  152. package/src/common.js +0 -69
  153. package/src/common.js.map +0 -1
  154. package/src/configFile.js +0 -64
  155. package/src/configFile.js.map +0 -1
  156. package/src/constants.js +0 -67
  157. package/src/constants.js.map +0 -1
  158. package/src/customStage.js +0 -304
  159. package/src/customStage.js.map +0 -1
  160. package/src/dev.js +0 -19
  161. package/src/dev.js.map +0 -1
  162. package/src/enums/DoorSlot.js.map +0 -1
  163. package/src/enums/DoorSlotFlag.js +0 -37
  164. package/src/enums/DoorSlotFlag.js.map +0 -1
  165. package/src/enums/PackageManager.js +0 -10
  166. package/src/enums/PackageManager.js.map +0 -1
  167. package/src/enums/RoomShape.js.map +0 -1
  168. package/src/exec.js.map +0 -1
  169. package/src/file.js +0 -247
  170. package/src/file.js.map +0 -1
  171. package/src/git.js +0 -154
  172. package/src/git.js.map +0 -1
  173. package/src/interfaces/GitHubCLIHostsYAML.js +0 -3
  174. package/src/interfaces/GitHubCLIHostsYAML.js.map +0 -1
  175. package/src/interfaces/IsaacScriptTSConfig.js +0 -3
  176. package/src/interfaces/IsaacScriptTSConfig.js.map +0 -1
  177. package/src/interfaces/ShadersXML.js +0 -3
  178. package/src/interfaces/ShadersXML.js.map +0 -1
  179. package/src/interfaces/copied/CustomStageTSConfig.js +0 -4
  180. package/src/interfaces/copied/CustomStageTSConfig.js.map +0 -1
  181. package/src/interfaces/copied/JSONRoomsFile.js +0 -4
  182. package/src/interfaces/copied/JSONRoomsFile.js.map +0 -1
  183. package/src/isaacScriptCommonTS.js +0 -233
  184. package/src/isaacScriptCommonTS.js.map +0 -1
  185. package/src/json.js +0 -42
  186. package/src/json.js.map +0 -1
  187. package/src/main.js +0 -127
  188. package/src/main.js.map +0 -1
  189. package/src/objects/doorSlotToDoorSlotFlag.js +0 -17
  190. package/src/objects/doorSlotToDoorSlotFlag.js.map +0 -1
  191. package/src/objects/roomShapeDoorToSlotCoordinates.js +0 -115
  192. package/src/objects/roomShapeDoorToSlotCoordinates.js.map +0 -1
  193. package/src/packageManager.js +0 -153
  194. package/src/packageManager.js.map +0 -1
  195. package/src/parseArgs.js.map +0 -1
  196. package/src/plugins/addCrashDebugStatements.js +0 -32
  197. package/src/plugins/addCrashDebugStatements.js.map +0 -1
  198. package/src/plugins/addIsaacScriptCommentHeader.js.map +0 -1
  199. package/src/plugins/addIsaacScriptCommentHeaderCommon.js.map +0 -1
  200. package/src/plugins/noExtendedEnums.js.map +0 -1
  201. package/src/prompt.js +0 -87
  202. package/src/prompt.js.map +0 -1
  203. package/src/tsconfig.js +0 -103
  204. package/src/tsconfig.js.map +0 -1
  205. package/src/types/Command.js +0 -9
  206. package/src/types/Command.js.map +0 -1
  207. package/src/utils.js +0 -15
  208. package/src/utils.js.map +0 -1
  209. package/src/validateInIsaacScriptProject.js +0 -36
  210. package/src/validateInIsaacScriptProject.js.map +0 -1
  211. package/src/validateNodeVersion.js +0 -29
  212. package/src/validateNodeVersion.js.map +0 -1
  213. package/src/version.js +0 -20
  214. package/src/version.js.map +0 -1
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prePublish = void 0;
4
- const constants_js_1 = require("../../constants.js");
5
- const exec_js_1 = require("../../exec.js");
6
- const file_js_1 = require("../../file.js");
7
- const git_js_1 = require("../../git.js");
8
- const isaacScriptCommonTS_js_1 = require("../../isaacScriptCommonTS.js");
9
- const json_js_1 = require("../../json.js");
10
- const packageManager_js_1 = require("../../packageManager.js");
11
- /**
12
- * Before uploading the project, we want to update dependencies, increment the version, and perform
13
- * some other steps.
14
- */
15
- function prePublish(args, typeScript) {
16
- const skipUpdate = args.skipUpdate === true;
17
- const skipLint = args.skipLint === true;
18
- const dryRun = args.dryRun === true;
19
- const verbose = args.verbose === true;
20
- const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
21
- (0, exec_js_1.execShellString)("git pull --rebase");
22
- (0, exec_js_1.execShellString)("git push");
23
- updateDependencies(skipUpdate, dryRun, packageManager, verbose);
24
- incrementVersion(args, typeScript);
25
- tryRunBashScript(constants_js_1.BUILD_SCRIPT, verbose);
26
- if (!skipLint) {
27
- tryRunBashScript(constants_js_1.LINT_SCRIPT, verbose);
28
- }
29
- }
30
- exports.prePublish = prePublish;
31
- function updateDependencies(skipUpdate, dryRun, packageManager, verbose) {
32
- if (skipUpdate) {
33
- return;
34
- }
35
- if (!(0, file_js_1.fileExists)(constants_js_1.UPDATE_SCRIPT, verbose)) {
36
- return;
37
- }
38
- console.log(`Updating dependencies in the "${constants_js_1.PACKAGE_JSON}" file...`);
39
- const beforeHash = (0, file_js_1.getHashOfFile)(constants_js_1.PACKAGE_JSON);
40
- (0, exec_js_1.execShell)("bash", [constants_js_1.UPDATE_SCRIPT], verbose);
41
- const afterHash = (0, file_js_1.getHashOfFile)(constants_js_1.PACKAGE_JSON);
42
- if (beforeHash !== afterHash) {
43
- const packageManagerInstallCommand = (0, packageManager_js_1.getPackageManagerInstallCommand)(packageManager);
44
- (0, exec_js_1.execShellString)(packageManagerInstallCommand, verbose);
45
- if (!dryRun) {
46
- (0, git_js_1.gitCommitAllAndPush)("chore: update dependencies", verbose);
47
- }
48
- }
49
- }
50
- function incrementVersion(args, typeScript) {
51
- const skipIncrement = args.skipIncrement === true;
52
- const verbose = args.verbose === true;
53
- if (skipIncrement) {
54
- return;
55
- }
56
- const versionCommandArgument = getVersionCommandArgument(args);
57
- // We always use `npm` here to avoid differences with the version command between package
58
- // managers. The "--no-git-tag-version" flag will prevent npm from both making a commit and adding
59
- // a tag.
60
- (0, exec_js_1.execShellString)(`npm version ${versionCommandArgument} --no-git-tag-version`, verbose);
61
- if (!typeScript) {
62
- const version = (0, json_js_1.getProjectPackageJSONField)("version", verbose);
63
- writeVersionToConstantsTS(version, verbose);
64
- writeVersionToMetadataXML(version, verbose);
65
- writeVersionToVersionTXT(version, verbose);
66
- }
67
- }
68
- function getVersionCommandArgument(args) {
69
- const { setVersion } = args;
70
- if (setVersion !== undefined) {
71
- // They want to use a specific version, which was manually specified.
72
- return setVersion;
73
- }
74
- const major = args.major === true;
75
- if (major) {
76
- return "major";
77
- }
78
- const minor = args.minor === true;
79
- if (minor) {
80
- return "minor";
81
- }
82
- const patch = args.patch === true;
83
- if (patch) {
84
- return "patch";
85
- }
86
- // Default to a patch version.
87
- return "patch";
88
- }
89
- function writeVersionToConstantsTS(version, verbose) {
90
- if (!(0, file_js_1.fileExists)(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
91
- console.log('Skipping writing the version to "constants.ts" since it was not found.');
92
- return;
93
- }
94
- const constantsTS = (0, file_js_1.readFile)(constants_js_1.CONSTANTS_TS_PATH, verbose);
95
- const newConstantsTS = constantsTS.replace(/const VERSION = ".+"/, `const VERSION = "${version}"`);
96
- (0, file_js_1.writeFile)(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
97
- console.log(`The version of ${version} was written to: ${constants_js_1.CONSTANTS_TS_PATH}`);
98
- }
99
- function writeVersionToMetadataXML(version, verbose) {
100
- const metadataXML = (0, file_js_1.readFile)(constants_js_1.METADATA_XML_PATH, verbose);
101
- const newMetadataXML = metadataXML.replace(/<version>.+<\/version>/, `<version>${version}</version>`);
102
- (0, file_js_1.writeFile)(constants_js_1.METADATA_XML_PATH, newMetadataXML, verbose);
103
- console.log(`The version of ${version} was written to: ${constants_js_1.METADATA_XML_PATH}`);
104
- }
105
- function writeVersionToVersionTXT(version, verbose) {
106
- (0, file_js_1.writeFile)(constants_js_1.VERSION_TXT_PATH, version, verbose);
107
- console.log(`The version of ${version} was written to: ${constants_js_1.VERSION_TXT_PATH}`);
108
- }
109
- function tryRunBashScript(scriptName, verbose) {
110
- if (!(0, file_js_1.fileExists)(scriptName, verbose)) {
111
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to find the script "${scriptName}" in the current working directory.`);
112
- }
113
- console.log(`Running: ${scriptName}`);
114
- const { exitStatus, stdout } = (0, exec_js_1.execShell)("bash", [scriptName], verbose, true);
115
- if (exitStatus !== 0) {
116
- (0, exec_js_1.execShellString)("git reset --hard", verbose); // Revert the version changes.
117
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to run "${scriptName}":`, stdout);
118
- }
119
- }
120
- //# sourceMappingURL=prePublish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prePublish.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/prePublish.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publish = void 0;
4
- const exec_js_1 = require("../../exec.js");
5
- const git_js_1 = require("../../git.js");
6
- const json_js_1 = require("../../json.js");
7
- const prompt_js_1 = require("../../prompt.js");
8
- const isaacscriptMod_js_1 = require("./isaacscriptMod.js");
9
- const prePublish_js_1 = require("./prePublish.js");
10
- const validate_js_1 = require("./validate.js");
11
- async function publish(args, config, typeScript) {
12
- const { setVersion } = args;
13
- const verbose = args.verbose === true;
14
- (0, validate_js_1.validate)(typeScript, setVersion, verbose);
15
- (0, prePublish_js_1.prePublish)(args, typeScript);
16
- await (typeScript
17
- ? publishTypeScriptProject(args)
18
- : (0, isaacscriptMod_js_1.publishIsaacScriptMod)(args, config));
19
- }
20
- exports.publish = publish;
21
- async function publishTypeScriptProject(args) {
22
- const dryRun = args.dryRun === true;
23
- const verbose = args.verbose === true;
24
- const projectName = (0, json_js_1.getProjectPackageJSONField)("name", verbose);
25
- const version = (0, json_js_1.getProjectPackageJSONField)("version", verbose);
26
- if (dryRun) {
27
- (0, exec_js_1.execShellString)("git reset --hard", verbose); // Revert the version changes.
28
- }
29
- else {
30
- const releaseGitCommitMessage = (0, git_js_1.getReleaseGitCommitMessage)(version);
31
- (0, git_js_1.gitCommitAllAndPush)(releaseGitCommitMessage, verbose);
32
- const otpCode = await (0, prompt_js_1.getInputString)("Type in the two-factor OTP code tied to the npm account. (Just press enter if you do not have 2FA enabled on your npm account.)");
33
- let command = "npm publish --access=public";
34
- if (otpCode !== "") {
35
- command += ` --otp=${otpCode}`;
36
- }
37
- (0, exec_js_1.execShellString)(command, verbose);
38
- }
39
- const dryRunSuffix = dryRun ? " (dry-run)" : "";
40
- console.log(`Published ${projectName} version ${version} successfully${dryRunSuffix}.`);
41
- }
42
- //# sourceMappingURL=publish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/publish.ts"],"names":[],"mappings":";;;AACA,2CAAgD;AAChD,yCAA+E;AAC/E,2CAA2D;AAE3D,+CAAiD;AACjD,2DAA4D;AAC5D,mDAA6C;AAC7C,+CAAyC;AAElC,KAAK,UAAU,OAAO,CAC3B,IAAU,EACV,MAAuB,EACvB,UAAmB;IAEnB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,IAAA,sBAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAA,0BAAU,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE7B,MAAM,CAAC,UAAU;QACf,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;QAChC,CAAC,CAAC,IAAA,yCAAqB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC;AAdD,0BAcC;AAED,KAAK,UAAU,wBAAwB,CAAC,IAAU;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,WAAW,GAAG,IAAA,oCAA0B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAA,oCAA0B,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE/D,IAAI,MAAM,EAAE;QACV,IAAA,yBAAe,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,8BAA8B;KAC7E;SAAM;QACL,MAAM,uBAAuB,GAAG,IAAA,mCAA0B,EAAC,OAAO,CAAC,CAAC;QACpE,IAAA,4BAAmB,EAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAc,EAClC,iIAAiI,CAClI,CAAC;QACF,IAAI,OAAO,GAAG,6BAA6B,CAAC;QAC5C,IAAI,OAAO,KAAK,EAAE,EAAE;YAClB,OAAO,IAAI,UAAU,OAAO,EAAE,CAAC;SAChC;QACD,IAAA,yBAAe,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACnC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,OAAO,CAAC,GAAG,CACT,aAAa,WAAW,YAAY,OAAO,gBAAgB,YAAY,GAAG,CAC3E,CAAC;AACJ,CAAC"}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validate = void 0;
4
- const tslib_1 = require("tslib");
5
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
- const constants_js_1 = require("../../constants.js");
7
- const exec_js_1 = require("../../exec.js");
8
- const file_js_1 = require("../../file.js");
9
- const git_js_1 = require("../../git.js");
10
- const isaacScriptCommonTS_js_1 = require("../../isaacScriptCommonTS.js");
11
- function validate(typeScript, setVersion, verbose) {
12
- if (!(0, git_js_1.isGitRepository)(verbose)) {
13
- (0, isaacScriptCommonTS_js_1.fatalError)("Failed to publish since the current working directory is not inside of a git repository.");
14
- }
15
- if (!(0, git_js_1.isGitClean)(verbose)) {
16
- (0, isaacScriptCommonTS_js_1.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.)");
17
- }
18
- if (!(0, file_js_1.fileExists)(constants_js_1.PACKAGE_JSON, verbose)) {
19
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to find the "${constants_js_1.PACKAGE_JSON}" file in the current working directory.`);
20
- }
21
- if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
22
- (0, isaacScriptCommonTS_js_1.fatalError)(chalk_1.default.red(`The version of "${setVersion}" does not match the semantic versioning format.`));
23
- }
24
- if (typeScript) {
25
- validateTypeScriptProject(verbose);
26
- }
27
- else {
28
- validateIsaacScriptMod(verbose);
29
- }
30
- }
31
- exports.validate = validate;
32
- function validateTypeScriptProject(verbose) {
33
- if (!isLoggedInToNPM(verbose)) {
34
- (0, isaacScriptCommonTS_js_1.fatalError)('Failed to publish since you are not logged in to npm. Try doing "npm login".');
35
- }
36
- }
37
- function isLoggedInToNPM(verbose) {
38
- const { exitStatus } = (0, exec_js_1.execShellString)("npm whoami", verbose, true);
39
- return exitStatus === 0;
40
- }
41
- function validateIsaacScriptMod(verbose) {
42
- validateIsaacScriptOtherCopiesNotRunning(verbose);
43
- }
44
- function validateIsaacScriptOtherCopiesNotRunning(verbose) {
45
- if (process.platform !== "win32") {
46
- return;
47
- }
48
- // From: https://securityboulevard.com/2020/01/get-process-list-with-command-line-arguments/
49
- const stdout = (0, exec_js_1.execPowershell)("Get-WmiObject Win32_Process -Filter \"name = 'node.exe'\" | Select-Object -ExpandProperty CommandLine", verbose);
50
- const lines = stdout.split("\r\n");
51
- const otherCopiesOfRunningIsaacScript = lines.filter((line) => line.includes("node.exe") &&
52
- line.includes("isaacscript") &&
53
- !line.includes("isaacscript publish"));
54
- if (otherCopiesOfRunningIsaacScript.length > 0) {
55
- (0, isaacScriptCommonTS_js_1.fatalError)(chalk_1.default.red(`Other copies of ${constants_js_1.PROJECT_NAME} appear to be running. You must close those copies before publishing.`));
56
- }
57
- }
58
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/validate.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,qDAAgE;AAChE,2CAAgE;AAChE,2CAA2C;AAC3C,yCAA2D;AAC3D,yEAA0D;AAE1D,SAAgB,QAAQ,CACtB,UAAmB,EACnB,UAA8B,EAC9B,OAAgB;IAEhB,IAAI,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,EAAE;QAC7B,IAAA,mCAAU,EACR,0FAA0F,CAC3F,CAAC;KACH;IAED,IAAI,CAAC,IAAA,mBAAU,EAAC,OAAO,CAAC,EAAE;QACxB,IAAA,mCAAU,EACR,2KAA2K,CAC5K,CAAC;KACH;IAED,IAAI,CAAC,IAAA,oBAAU,EAAC,2BAAY,EAAE,OAAO,CAAC,EAAE;QACtC,IAAA,mCAAU,EACR,uBAAuB,2BAAY,0CAA0C,CAC9E,CAAC;KACH;IAED,IAAI,UAAU,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QAC3E,IAAA,mCAAU,EACR,eAAK,CAAC,GAAG,CACP,mBAAmB,UAAU,kDAAkD,CAChF,CACF,CAAC;KACH;IAED,IAAI,UAAU,EAAE;QACd,yBAAyB,CAAC,OAAO,CAAC,CAAC;KACpC;SAAM;QACL,sBAAsB,CAAC,OAAO,CAAC,CAAC;KACjC;AACH,CAAC;AApCD,4BAoCC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QAC7B,IAAA,mCAAU,EACR,8EAA8E,CAC/E,CAAC;KACH;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpE,OAAO,UAAU,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB;IAC9C,wCAAwC,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,wCAAwC,CAAC,OAAgB;IAChE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO;KACR;IAED,4FAA4F;IAC5F,MAAM,MAAM,GAAG,IAAA,wBAAc,EAC3B,uGAAuG,EACvG,OAAO,CACR,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,+BAA+B,GAAG,KAAK,CAAC,MAAM,CAClD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CACxC,CAAC;IACF,IAAI,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,IAAA,mCAAU,EACR,eAAK,CAAC,GAAG,CACP,mBAAmB,2BAAY,uEAAuE,CACvG,CACF,CAAC;KACH;AACH,CAAC"}
package/src/common.js DELETED
@@ -1,69 +0,0 @@
1
- "use strict";
2
- // These are functions copied from `isaacscript-common`.
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getJSONRoomDoorSlotFlags = void 0;
5
- const isaacScriptCommonTS_js_1 = require("./isaacScriptCommonTS.js");
6
- const doorSlotToDoorSlotFlag_js_1 = require("./objects/doorSlotToDoorSlotFlag.js");
7
- const roomShapeDoorToSlotCoordinates_js_1 = require("./objects/roomShapeDoorToSlotCoordinates.js");
8
- /** This is copied from `isaacscript-common`. */
9
- function getJSONRoomDoorSlotFlags(jsonRoom) {
10
- const roomShapeString = jsonRoom.$.shape;
11
- const roomShapeNumber = (0, isaacScriptCommonTS_js_1.parseIntSafe)(roomShapeString);
12
- if (roomShapeNumber === undefined) {
13
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the "shape" field of a custom stage room: ${roomShapeString}`);
14
- }
15
- const roomShape = roomShapeNumber;
16
- let doorSlotFlags = 0;
17
- for (const door of jsonRoom.door) {
18
- const existsString = door.$.exists;
19
- if (existsString !== "True" && existsString !== "False") {
20
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the "exists" field of a custom stage room door: ${existsString}`);
21
- }
22
- if (existsString === "False") {
23
- continue;
24
- }
25
- const xString = door.$.x;
26
- const x = (0, isaacScriptCommonTS_js_1.parseIntSafe)(xString);
27
- if (x === undefined) {
28
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the "x" field of a custom stage room door: ${xString}`);
29
- }
30
- const yString = door.$.y;
31
- const y = (0, isaacScriptCommonTS_js_1.parseIntSafe)(yString);
32
- if (y === undefined) {
33
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the "y" field of a custom stage room door: ${yString}`);
34
- }
35
- const doorSlot = getRoomShapeDoorSlot(roomShape, x, y);
36
- if (doorSlot === undefined) {
37
- (0, isaacScriptCommonTS_js_1.fatalError)(`Failed to retrieve the door slot for a custom stage room door at coordinates: [${x}, ${y}]`);
38
- }
39
- const doorSlotFlag = doorSlotToDoorSlotFlag(doorSlot);
40
- doorSlotFlags = addFlag(doorSlotFlags, doorSlotFlag);
41
- }
42
- return doorSlotFlags;
43
- }
44
- exports.getJSONRoomDoorSlotFlags = getJSONRoomDoorSlotFlags;
45
- /** This is copied from `isaacscript-common`. */
46
- function getRoomShapeDoorSlot(roomShape, x, y) {
47
- // The type assertion is necessary for some reason.
48
- const doorSlotCoordinates = roomShapeDoorToSlotCoordinates_js_1.ROOM_SHAPE_TO_DOOR_SLOT_COORDINATES[roomShape];
49
- for (const [doorSlotString, coordinates] of Object.entries(doorSlotCoordinates)) {
50
- const doorSlot = (0, isaacScriptCommonTS_js_1.parseIntSafe)(doorSlotString);
51
- const [doorX, doorY] = coordinates;
52
- if (x === doorX && y === doorY) {
53
- return doorSlot;
54
- }
55
- }
56
- return undefined;
57
- }
58
- /** This is copied from `isaacscript-common`. */
59
- function doorSlotToDoorSlotFlag(doorSlot) {
60
- return doorSlotToDoorSlotFlag_js_1.DOOR_SLOT_TO_DOOR_SLOT_FLAG[doorSlot];
61
- }
62
- /** This is copied from `isaacscript-common`. */
63
- function addFlag(flags, ...flagsToAdd) {
64
- for (const flagToAdd of flagsToAdd) {
65
- flags |= flagToAdd; // eslint-disable-line no-bitwise,no-param-reassign
66
- }
67
- return flags;
68
- }
69
- //# sourceMappingURL=common.js.map
package/src/common.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/common.ts"],"names":[],"mappings":";AAAA,wDAAwD;;;AAMxD,qEAAoE;AACpE,mFAAkF;AAClF,mGAAkG;AAElG,gDAAgD;AAChD,SAAgB,wBAAwB,CAAC,QAAkB;IACzD,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,MAAM,eAAe,GAAG,IAAA,qCAAY,EAAC,eAAe,CAAC,CAAC;IACtD,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,IAAA,mCAAU,EACR,6DAA6D,eAAe,EAAE,CAC/E,CAAC;KACH;IACD,MAAM,SAAS,GAAG,eAA4B,CAAC;IAE/C,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,OAAO,EAAE;YACvD,IAAA,mCAAU,EACR,mEAAmE,YAAY,EAAE,CAClF,CAAC;SACH;QAED,IAAI,YAAY,KAAK,OAAO,EAAE;YAC5B,SAAS;SACV;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,IAAA,qCAAY,EAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,IAAA,mCAAU,EACR,8DAA8D,OAAO,EAAE,CACxE,CAAC;SACH;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,IAAA,qCAAY,EAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,IAAA,mCAAU,EACR,8DAA8D,OAAO,EAAE,CACxE,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAA,mCAAU,EACR,kFAAkF,CAAC,KAAK,CAAC,GAAG,CAC7F,CAAC;SACH;QAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACtD,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AApDD,4DAoDC;AAED,gDAAgD;AAChD,SAAS,oBAAoB,CAC3B,SAAoB,EACpB,CAAS,EACT,CAAS;IAET,mDAAmD;IACnD,MAAM,mBAAmB,GAAG,uEAAmC,CAC7D,SAAS,CAC2C,CAAC;IAEvD,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CACxD,mBAAmB,CACpB,EAAE;QACD,MAAM,QAAQ,GAAG,IAAA,qCAAY,EAAC,cAAc,CAAa,CAAC;QAC1D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE;YAC9B,OAAO,QAAQ,CAAC;SACjB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gDAAgD;AAChD,SAAS,sBAAsB,CAAC,QAAkB;IAChD,OAAO,uDAA2B,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,gDAAgD;AAChD,SAAS,OAAO,CAAC,KAAa,EAAE,GAAG,UAAoB;IACrD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,KAAK,IAAI,SAAS,CAAC,CAAC,mDAAmD;KACxE;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
package/src/configFile.js DELETED
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createConfigFile = exports.getConfigFromFile = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_path_1 = tslib_1.__importDefault(require("node:path"));
6
- const Config_js_1 = require("./classes/Config.js");
7
- const getModsDir_js_1 = require("./commands/init/getModsDir.js");
8
- const promptSaveSlot_js_1 = require("./commands/init/promptSaveSlot.js");
9
- const constants_js_1 = require("./constants.js");
10
- const file_js_1 = require("./file.js");
11
- const isaacScriptCommonTS_js_1 = require("./isaacScriptCommonTS.js");
12
- const json_js_1 = require("./json.js");
13
- const NUM_INDENT_SPACES = 2;
14
- async function getConfigFromFile(args, typeScript) {
15
- const verbose = args.verbose === true;
16
- const yes = args.yes === true;
17
- const dev = args.dev === true;
18
- const existingConfig = getExistingConfig(verbose);
19
- if (existingConfig !== undefined) {
20
- return existingConfig;
21
- }
22
- // No config file exists, so prompt the user for some information and create one.
23
- const modsDirectory = await (0, getModsDir_js_1.getModsDir)(args, typeScript, verbose);
24
- const saveSlot = await (0, promptSaveSlot_js_1.promptSaveSlot)(args, yes);
25
- const config = new Config_js_1.Config(modsDirectory, saveSlot, dev);
26
- createConfigFile(constants_js_1.CWD, config, typeScript, verbose);
27
- return config;
28
- }
29
- exports.getConfigFromFile = getConfigFromFile;
30
- function getExistingConfig(verbose) {
31
- if (!(0, file_js_1.fileExists)(constants_js_1.CONFIG_FILE_PATH, verbose)) {
32
- return undefined;
33
- }
34
- const config = (0, json_js_1.getJSONC)(constants_js_1.CONFIG_FILE_PATH, verbose);
35
- validateMandatoryConfigFields(config);
36
- return config;
37
- }
38
- /**
39
- * Even though some fields are always initialized in the class, it may not be necessarily exist in
40
- * the JSON file.
41
- */
42
- function validateMandatoryConfigFields(config) {
43
- if (config["modsDirectory"] === undefined) {
44
- errorMissing("modsDirectory", "This should be equal to the directory where Isaac mods live on your system.");
45
- }
46
- if (config["saveSlot"] === undefined) {
47
- errorMissing("saveSlot", "This should be equal to the save slot that you test your mods on.");
48
- }
49
- }
50
- function errorMissing(field, description) {
51
- (0, isaacScriptCommonTS_js_1.fatalError)(`The "${constants_js_1.CONFIG_FILE_NAME}" file is missing a "${field}" value. ${description} Please add it.`);
52
- }
53
- function createConfigFile(projectPath, config, typeScript, verbose) {
54
- if (typeScript) {
55
- return;
56
- }
57
- const configFilePath = node_path_1.default.join(projectPath, constants_js_1.CONFIG_FILE_NAME);
58
- const configContents = JSON.stringify(config, undefined, NUM_INDENT_SPACES);
59
- // Add a newline at the end to satisfy Prettier.
60
- const configContentsWithNewline = `${configContents}\n`;
61
- (0, file_js_1.writeFile)(configFilePath, configContentsWithNewline, verbose);
62
- }
63
- exports.createConfigFile = createConfigFile;
64
- //# sourceMappingURL=configFile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/configFile.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAC7B,mDAA6C;AAE7C,iEAA2D;AAC3D,yEAAmE;AACnE,iDAAyE;AACzE,uCAAkD;AAClD,qEAAsD;AACtD,uCAAqC;AAGrC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAErB,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,UAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC;IAE9B,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,cAAc,CAAC;KACvB;IAED,iFAAiF;IACjF,MAAM,aAAa,GAAG,MAAM,IAAA,0BAAU,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,IAAA,kCAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,kBAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAoB,CAAC;IAC3E,gBAAgB,CAAC,kBAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC;AApBD,8CAoBC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,CAAC,IAAA,oBAAU,EAAC,+BAAgB,EAAE,OAAO,CAAC,EAAE;QAC1C,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,MAAM,GAAG,IAAA,kBAAQ,EAAC,+BAAgB,EAAE,OAAO,CAAC,CAAC;IACnD,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAEtC,OAAO,MAAoC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAS,6BAA6B,CAAC,MAA+B;IACpE,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE;QACzC,YAAY,CACV,eAAe,EACf,6EAA6E,CAC9E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;QACpC,YAAY,CACV,UAAU,EACV,mEAAmE,CACpE,CAAC;KACH;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,WAAmB;IACtD,IAAA,mCAAU,EACR,QAAQ,+BAAgB,wBAAwB,KAAK,YAAY,WAAW,iBAAiB,CAC9F,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAC9B,WAAmB,EACnB,MAAc,EACd,UAAmB,EACnB,OAAgB;IAEhB,IAAI,UAAU,EAAE;QACd,OAAO;KACR;IAED,MAAM,cAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,+BAAgB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAE5E,gDAAgD;IAChD,MAAM,yBAAyB,GAAG,GAAG,cAAc,IAAI,CAAC;IAExD,IAAA,mBAAS,EAAC,cAAc,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAjBD,4CAiBC"}
package/src/constants.js DELETED
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PUBLISH_POST_COPY_PY_PATH = exports.PUBLISH_PRE_COPY_PY_PATH = exports.VERSION_TXT_PATH = exports.METADATA_XML_PATH = exports.MAIN_LUA = exports.MOD_SOURCE_PATH = exports.CONSTANTS_TS_PATH = exports.PACKAGE_JSON_PATH = exports.PACKAGE_JSON = exports.TSCONFIG_JSON_PATH = exports.TSCONFIG_JSON = exports.CONFIG_FILE_PATH = exports.CONFIG_FILE_NAME = exports.ISAACSCRIPT_SCHEMA_PATH = exports.README_MD = exports.METADATA_XML_TEMPLATE_PATH = exports.METADATA_XML = exports.MAIN_DEV_TS_TEMPLATE_PATH = exports.MAIN_TS_TEMPLATE_PATH = exports.MAIN_TS = exports.GITIGNORE_TEMPLATE_PATH = exports.YARNRC_TEMPLATE_PATH = exports.YARNRC_YML = exports.CI_YML_TEMPLATE_PATH = exports.CI_YML = exports.TEMPLATES_DYNAMIC_DIR = exports.TEMPLATES_STATIC_DIR = exports.TEMPLATES_DIR = exports.WATCHER_MOD_SOURCE_PATH = exports.WATCHER_MOD_NAME = exports.DISABLE_IT_FILE = exports.XML_CONVERTER_PATH = exports.SHADERS_XML_PATH = exports.CUSTOM_STAGE_FILES_DIR = exports.REPO_ROOT = exports.LINT_SCRIPT = exports.BUILD_SCRIPT = exports.UPDATE_SCRIPT = exports.PROJECT_NAME = exports.MOD_UPLOADER_PATH = exports.COMPILATION_SUCCESSFUL_MESSAGE = exports.FILE_SYNCED_MESSAGE = exports.HOME_DIR = exports.CURRENT_DIRECTORY_NAME = exports.CWD = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_os_1 = tslib_1.__importDefault(require("node:os"));
6
- const node_path_1 = tslib_1.__importDefault(require("node:path"));
7
- // Miscellaneous
8
- exports.CWD = process.cwd();
9
- exports.CURRENT_DIRECTORY_NAME = node_path_1.default.basename(exports.CWD);
10
- exports.HOME_DIR = node_os_1.default.homedir();
11
- exports.FILE_SYNCED_MESSAGE = "File synced:";
12
- exports.COMPILATION_SUCCESSFUL_MESSAGE = "Compilation successful.";
13
- exports.MOD_UPLOADER_PATH = "C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\tools\\ModUploader\\ModUploader.exe";
14
- exports.PROJECT_NAME = "IsaacScript";
15
- exports.UPDATE_SCRIPT = "update.sh";
16
- exports.BUILD_SCRIPT = "build.sh";
17
- exports.LINT_SCRIPT = "lint.sh";
18
- // `isaacscript`
19
- exports.REPO_ROOT = node_path_1.default.join(__dirname, "..");
20
- // `isaacscript/custom-stage`
21
- const CUSTOM_STAGE_PATH = node_path_1.default.join(exports.REPO_ROOT, "custom-stage");
22
- exports.CUSTOM_STAGE_FILES_DIR = node_path_1.default.join(CUSTOM_STAGE_PATH, "isaacscript-custom-stage");
23
- exports.SHADERS_XML_PATH = node_path_1.default.join(CUSTOM_STAGE_PATH, "shaders.xml");
24
- exports.XML_CONVERTER_PATH = node_path_1.default.join(CUSTOM_STAGE_PATH, "xml-converter.exe");
25
- // `isaacscript/isaacscript-watcher`
26
- exports.DISABLE_IT_FILE = "disable.it";
27
- exports.WATCHER_MOD_NAME = "isaacscript-watcher";
28
- exports.WATCHER_MOD_SOURCE_PATH = node_path_1.default.join(exports.REPO_ROOT, exports.WATCHER_MOD_NAME);
29
- // `isaacscript/file-templates`
30
- exports.TEMPLATES_DIR = node_path_1.default.join(exports.REPO_ROOT, "file-templates");
31
- // `isaacscript/file-templates/static`
32
- exports.TEMPLATES_STATIC_DIR = node_path_1.default.join(exports.TEMPLATES_DIR, "static");
33
- // `isaacscript/file-templates/dynamic`
34
- exports.TEMPLATES_DYNAMIC_DIR = node_path_1.default.join(exports.TEMPLATES_DIR, "dynamic");
35
- exports.CI_YML = "ci.yml";
36
- exports.CI_YML_TEMPLATE_PATH = node_path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, ".github", "workflows", exports.CI_YML);
37
- exports.YARNRC_YML = ".yarnrc.yml";
38
- exports.YARNRC_TEMPLATE_PATH = node_path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, exports.YARNRC_YML);
39
- const GITIGNORE = "_gitignore"; // Not named ".gitignore" to prevent npm from deleting it.
40
- exports.GITIGNORE_TEMPLATE_PATH = node_path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, GITIGNORE);
41
- exports.MAIN_TS = "main.ts";
42
- exports.MAIN_TS_TEMPLATE_PATH = node_path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, "src", exports.MAIN_TS);
43
- exports.MAIN_DEV_TS_TEMPLATE_PATH = node_path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, "src", "main-dev.ts");
44
- exports.METADATA_XML = "metadata.xml";
45
- exports.METADATA_XML_TEMPLATE_PATH = node_path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, "mod", exports.METADATA_XML);
46
- exports.README_MD = "README.md";
47
- // `isaacscript/schemas`
48
- const SCHEMAS_DIR = node_path_1.default.join(exports.REPO_ROOT, "schemas");
49
- exports.ISAACSCRIPT_SCHEMA_PATH = node_path_1.default.join(SCHEMAS_DIR, "tsconfig-isaacscript-section-schema.json");
50
- // `project`
51
- exports.CONFIG_FILE_NAME = "isaacscript.json";
52
- exports.CONFIG_FILE_PATH = node_path_1.default.join(exports.CWD, exports.CONFIG_FILE_NAME);
53
- exports.TSCONFIG_JSON = "tsconfig.json";
54
- exports.TSCONFIG_JSON_PATH = node_path_1.default.join(exports.CWD, exports.TSCONFIG_JSON);
55
- exports.PACKAGE_JSON = "package.json";
56
- exports.PACKAGE_JSON_PATH = node_path_1.default.join(exports.CWD, exports.PACKAGE_JSON);
57
- exports.CONSTANTS_TS_PATH = node_path_1.default.join(exports.CWD, "src", "constants.ts");
58
- // `project/mod`
59
- exports.MOD_SOURCE_PATH = node_path_1.default.join(exports.CWD, "mod");
60
- exports.MAIN_LUA = "main.lua";
61
- exports.METADATA_XML_PATH = node_path_1.default.join(exports.MOD_SOURCE_PATH, "metadata.xml");
62
- exports.VERSION_TXT_PATH = node_path_1.default.join(exports.MOD_SOURCE_PATH, "version.txt");
63
- // `project/scripts`
64
- const SCRIPTS_PATH = node_path_1.default.join(exports.CWD, "scripts");
65
- exports.PUBLISH_PRE_COPY_PY_PATH = node_path_1.default.join(SCRIPTS_PATH, "publish_pre_copy.py");
66
- exports.PUBLISH_POST_COPY_PY_PATH = node_path_1.default.join(SCRIPTS_PATH, "publish_post_copy.py");
67
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/constants.ts"],"names":[],"mappings":"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"}