isaacscript 2.0.11 → 2.0.14-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 (137) hide show
  1. package/README.md +8 -4
  2. package/package.json +2 -53
  3. package/src/checkForWindowsTerminalBugs.d.ts +5 -0
  4. package/src/checkForWindowsTerminalBugs.js +80 -0
  5. package/src/checkForWindowsTerminalBugs.js.map +1 -0
  6. package/src/commands/copy/copy.d.ts +3 -0
  7. package/src/commands/copy/copy.js +33 -0
  8. package/src/commands/copy/copy.js.map +1 -0
  9. package/src/commands/init/checkIfProjectPathExists.d.ts +1 -0
  10. package/src/commands/init/checkIfProjectPathExists.js +30 -0
  11. package/src/commands/init/checkIfProjectPathExists.js.map +1 -0
  12. package/src/commands/init/checkModSubdirectory.d.ts +1 -0
  13. package/src/commands/init/checkModSubdirectory.js +16 -0
  14. package/src/commands/init/checkModSubdirectory.js.map +1 -0
  15. package/src/commands/init/checkModTargetDirectory.d.ts +1 -0
  16. package/src/commands/init/checkModTargetDirectory.js +33 -0
  17. package/src/commands/init/checkModTargetDirectory.js.map +1 -0
  18. package/src/commands/init/createMod.d.ts +1 -0
  19. package/{dist/src → src}/commands/init/createMod.js +137 -162
  20. package/src/commands/init/createMod.js.map +1 -0
  21. package/src/commands/init/getModsDir.d.ts +1 -0
  22. package/src/commands/init/getModsDir.js +58 -0
  23. package/src/commands/init/getModsDir.js.map +1 -0
  24. package/src/commands/init/getProjectPath.d.ts +1 -0
  25. package/src/commands/init/getProjectPath.js +93 -0
  26. package/src/commands/init/getProjectPath.js.map +1 -0
  27. package/src/commands/init/git.d.ts +4 -0
  28. package/{dist/src → src}/commands/init/git.js +152 -175
  29. package/src/commands/init/git.js.map +1 -0
  30. package/src/commands/init/init.d.ts +1 -0
  31. package/src/commands/init/init.js +70 -0
  32. package/src/commands/init/init.js.map +1 -0
  33. package/src/commands/init/installVSCodeExtensions.d.ts +1 -0
  34. package/src/commands/init/installVSCodeExtensions.js +33 -0
  35. package/src/commands/init/installVSCodeExtensions.js.map +1 -0
  36. package/src/commands/init/promptSaveSlot.d.ts +1 -0
  37. package/src/commands/init/promptSaveSlot.js +25 -0
  38. package/src/commands/init/promptSaveSlot.js.map +1 -0
  39. package/src/commands/init/promptVSCode.d.ts +1 -0
  40. package/src/commands/init/promptVSCode.js +27 -0
  41. package/src/commands/init/promptVSCode.js.map +1 -0
  42. package/src/commands/monitor/constants.d.ts +1 -0
  43. package/{dist/src → src}/commands/monitor/constants.js +4 -4
  44. package/src/commands/monitor/constants.js.map +1 -0
  45. package/src/commands/monitor/copyWatcherMod.d.ts +2 -0
  46. package/{dist/src → src}/commands/monitor/copyWatcherMod.js +38 -63
  47. package/src/commands/monitor/copyWatcherMod.js.map +1 -0
  48. package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.d.ts +1 -0
  49. package/{dist/src → src}/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +49 -51
  50. package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +1 -0
  51. package/src/commands/monitor/monitor.d.ts +2 -0
  52. package/{dist/src → src}/commands/monitor/monitor.js +146 -171
  53. package/src/commands/monitor/monitor.js.map +1 -0
  54. package/src/commands/monitor/notifyGame.d.ts +3 -0
  55. package/{dist/src → src}/commands/monitor/notifyGame.js +57 -59
  56. package/src/commands/monitor/notifyGame.js.map +1 -0
  57. package/src/commands/monitor/saveDatWriter/saveDatWriter.d.ts +1 -0
  58. package/{dist/src → src}/commands/monitor/saveDatWriter/saveDatWriter.js +116 -141
  59. package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -0
  60. package/src/commands/monitor/saveDatWriter/types.d.ts +5 -0
  61. package/{dist/src → src}/commands/monitor/saveDatWriter/types.js +2 -2
  62. package/src/commands/monitor/saveDatWriter/types.js.map +1 -0
  63. package/src/commands/monitor/spawnSaveDatWriter.d.ts +4 -0
  64. package/{dist/src → src}/commands/monitor/spawnSaveDatWriter.js +34 -36
  65. package/src/commands/monitor/spawnSaveDatWriter.js.map +1 -0
  66. package/src/commands/monitor/touchWatcherSaveDatFiles.d.ts +2 -0
  67. package/src/commands/monitor/touchWatcherSaveDatFiles.js +21 -0
  68. package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -0
  69. package/src/commands/publish/publish.d.ts +2 -0
  70. package/{dist/src → src}/commands/publish/publish.js +220 -260
  71. package/src/commands/publish/publish.js.map +1 -0
  72. package/src/configFile.d.ts +4 -0
  73. package/src/configFile.js +66 -0
  74. package/src/configFile.js.map +1 -0
  75. package/src/constants.d.ts +34 -0
  76. package/{dist/src → src}/constants.js +59 -61
  77. package/src/constants.js.map +1 -0
  78. package/src/exec.d.ts +4 -0
  79. package/{dist/src → src}/exec.js +95 -97
  80. package/src/exec.js.map +1 -0
  81. package/src/file.d.ts +12 -0
  82. package/{dist/src → src}/file.js +193 -195
  83. package/src/file.js.map +1 -0
  84. package/src/main.d.ts +2 -0
  85. package/src/main.js +122 -0
  86. package/src/main.js.map +1 -0
  87. package/src/parseArgs.d.ts +1 -0
  88. package/{dist/src → src}/parseArgs.js +106 -108
  89. package/src/parseArgs.js.map +1 -0
  90. package/src/prompt.d.ts +5 -0
  91. package/src/prompt.js +93 -0
  92. package/src/prompt.js.map +1 -0
  93. package/src/types/Command.d.ts +2 -0
  94. package/{dist/src → src}/types/Command.js +4 -4
  95. package/src/types/Command.js.map +1 -0
  96. package/src/types/Config.d.ts +18 -0
  97. package/{dist/src → src}/types/Config.js +12 -12
  98. package/src/types/Config.js.map +1 -0
  99. package/src/types/GitHubCLIHostsYAML.d.ts +7 -0
  100. package/{dist/src → src}/types/GitHubCLIHostsYAML.js +2 -2
  101. package/src/types/GitHubCLIHostsYAML.js.map +1 -0
  102. package/src/utils.d.ts +13 -0
  103. package/{dist/src → src}/utils.js +81 -83
  104. package/src/utils.js.map +1 -0
  105. package/src/validateInIsaacScriptProject.d.ts +1 -0
  106. package/src/validateInIsaacScriptProject.js +27 -0
  107. package/src/validateInIsaacScriptProject.js.map +1 -0
  108. package/src/validateNodeVersion.d.ts +5 -0
  109. package/{dist/src → src}/validateNodeVersion.js +24 -26
  110. package/src/validateNodeVersion.js.map +1 -0
  111. package/src/validateOS.d.ts +1 -0
  112. package/{dist/src → src}/validateOS.js +16 -18
  113. package/src/validateOS.js.map +1 -0
  114. package/LICENSE +0 -674
  115. package/dist/package.json +0 -57
  116. package/dist/src/checkForWindowsTerminalBugs.js +0 -101
  117. package/dist/src/commands/copy/copy.js +0 -58
  118. package/dist/src/commands/init/checkIfProjectPathExists.js +0 -53
  119. package/dist/src/commands/init/checkModSubdirectory.js +0 -41
  120. package/dist/src/commands/init/checkModTargetDirectory.js +0 -56
  121. package/dist/src/commands/init/getModsDir.js +0 -81
  122. package/dist/src/commands/init/getProjectPath.js +0 -91
  123. package/dist/src/commands/init/init.js +0 -68
  124. package/dist/src/commands/init/installVSCodeExtensions.js +0 -58
  125. package/dist/src/commands/init/promptSaveSlot.js +0 -22
  126. package/dist/src/commands/init/promptVSCode.js +0 -27
  127. package/dist/src/commands/monitor/touchWatcherSaveDatFiles.js +0 -46
  128. package/dist/src/configFile.js +0 -89
  129. package/dist/src/main.js +0 -136
  130. package/dist/src/prompt.js +0 -89
  131. package/dist/src/validateInIsaacScriptProject.js +0 -52
  132. package/isaacscript-watcher/.luacheckrc +0 -96
  133. package/isaacscript-watcher/README.md +0 -8
  134. package/isaacscript-watcher/main.lua +0 -270
  135. package/isaacscript-watcher/metadata.xml +0 -7
  136. package/isaacscript-watcher/resources/gfx/logo.anm2 +0 -27
  137. package/isaacscript-watcher/resources/gfx/logo.png +0 -0
@@ -1,109 +1,107 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseArgs = void 0;
7
- const yargs_1 = __importDefault(require("yargs"));
8
- const constants_1 = require("./constants");
9
- function parseArgs() {
10
- const yargsObject = (0, yargs_1.default)(process.argv.slice(2))
11
- .strict()
12
- .usage("usage: isaacscript <command> [options]")
13
- .scriptName("isaacscript")
14
- .command("monitor", "Monitor a project for changes. (default)", (builder) => builder
15
- .option("mods-directory", {
16
- alias: "m",
17
- type: "string",
18
- description: "The directory where Isaac mods live on your system",
19
- })
20
- .option("save-slot", {
21
- alias: "s",
22
- type: "number",
23
- choices: [1, 2, 3],
24
- description: "The save slot in-game that you use",
25
- })
26
- .option("verbose", {
27
- alias: "v",
28
- type: "boolean",
29
- description: "Enable verbose output",
30
- }))
31
- .command("init [name]", `Initialize a new ${constants_1.PROJECT_NAME} mod.`, (builder) => builder
32
- .option("yes", {
33
- alias: "y",
34
- type: "boolean",
35
- description: 'Answer yes to every dialog option, similar to how "npm init --yes" works.',
36
- })
37
- .option("use-current-dir", {
38
- alias: "u",
39
- type: "boolean",
40
- description: "Use the current directory as the root for the project",
41
- })
42
- .option("mods-directory", {
43
- alias: "m",
44
- type: "string",
45
- description: "The directory where Isaac mods live on your system",
46
- })
47
- .option("save-slot", {
48
- alias: "s",
49
- type: "number",
50
- choices: [1, 2, 3],
51
- description: "The in-game save slot that you use",
52
- })
53
- .option("vscode", {
54
- alias: "c",
55
- type: "boolean",
56
- description: "Open the project in VSCode after initialization",
57
- })
58
- .option("skip-npm-install", {
59
- alias: "i",
60
- type: "boolean",
61
- description: 'Don\'t automatically run "npm install" after initializing the project',
62
- })
63
- .option("force-name", {
64
- alias: "f",
65
- type: "boolean",
66
- description: "Allow project names that are normally illegal",
67
- })
68
- .option("verbose", {
69
- alias: "v",
70
- type: "boolean",
71
- description: "Enable verbose output",
72
- }))
73
- .command("copy", "Only compile & copy the mod.", (builder) => builder.option("verbose", {
74
- alias: "v",
75
- type: "boolean",
76
- description: "Enable verbose output",
77
- }))
78
- .command("publish", "Bump the version & automatically publish the new files using the steamcmd tool.", (builder) => builder
79
- .option("skip", {
80
- alias: "s",
81
- type: "boolean",
82
- description: "skip incrementing the version number",
83
- })
84
- .option("set-version", {
85
- alias: "t",
86
- type: "string",
87
- description: "specify the version number instead of incrementing it",
88
- })
89
- .option("dry-run", {
90
- alias: "d",
91
- type: "boolean",
92
- description: "skip invoking steamcmd",
93
- })
94
- .option("only-upload", {
95
- alias: "u",
96
- type: "boolean",
97
- description: "only upload the mod to the Steam Workshop (without doing anything else)",
98
- })
99
- .option("verbose", {
100
- alias: "v",
101
- type: "boolean",
102
- description: "Enable verbose output",
103
- }))
104
- .alias("h", "help") // By default, only "--help" is enabled
105
- .alias("v", "version"); // By default, only "--version" is enabled
106
- return yargsObject.argv;
107
- }
108
- exports.parseArgs = parseArgs;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseArgs = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const yargs_1 = tslib_1.__importDefault(require("yargs"));
6
+ const constants_1 = require("./constants");
7
+ function parseArgs() {
8
+ const yargsObject = (0, yargs_1.default)(process.argv.slice(2))
9
+ .strict()
10
+ .usage("usage: isaacscript <command> [options]")
11
+ .scriptName("isaacscript")
12
+ .command("monitor", "Monitor a project for changes. (default)", (builder) => builder
13
+ .option("mods-directory", {
14
+ alias: "m",
15
+ type: "string",
16
+ description: "The directory where Isaac mods live on your system",
17
+ })
18
+ .option("save-slot", {
19
+ alias: "s",
20
+ type: "number",
21
+ choices: [1, 2, 3],
22
+ description: "The save slot in-game that you use",
23
+ })
24
+ .option("verbose", {
25
+ alias: "v",
26
+ type: "boolean",
27
+ description: "Enable verbose output",
28
+ }))
29
+ .command("init [name]", `Initialize a new ${constants_1.PROJECT_NAME} mod.`, (builder) => builder
30
+ .option("yes", {
31
+ alias: "y",
32
+ type: "boolean",
33
+ description: 'Answer yes to every dialog option, similar to how "npm init --yes" works.',
34
+ })
35
+ .option("use-current-dir", {
36
+ alias: "u",
37
+ type: "boolean",
38
+ description: "Use the current directory as the root for the project",
39
+ })
40
+ .option("mods-directory", {
41
+ alias: "m",
42
+ type: "string",
43
+ description: "The directory where Isaac mods live on your system",
44
+ })
45
+ .option("save-slot", {
46
+ alias: "s",
47
+ type: "number",
48
+ choices: [1, 2, 3],
49
+ description: "The in-game save slot that you use",
50
+ })
51
+ .option("vscode", {
52
+ alias: "c",
53
+ type: "boolean",
54
+ description: "Open the project in VSCode after initialization",
55
+ })
56
+ .option("skip-npm-install", {
57
+ alias: "i",
58
+ type: "boolean",
59
+ description: 'Don\'t automatically run "npm install" after initializing the project',
60
+ })
61
+ .option("force-name", {
62
+ alias: "f",
63
+ type: "boolean",
64
+ description: "Allow project names that are normally illegal",
65
+ })
66
+ .option("verbose", {
67
+ alias: "v",
68
+ type: "boolean",
69
+ description: "Enable verbose output",
70
+ }))
71
+ .command("copy", "Only compile & copy the mod.", (builder) => builder.option("verbose", {
72
+ alias: "v",
73
+ type: "boolean",
74
+ description: "Enable verbose output",
75
+ }))
76
+ .command("publish", "Bump the version & automatically publish the new files using the steamcmd tool.", (builder) => builder
77
+ .option("skip", {
78
+ alias: "s",
79
+ type: "boolean",
80
+ description: "skip incrementing the version number",
81
+ })
82
+ .option("set-version", {
83
+ alias: "t",
84
+ type: "string",
85
+ description: "specify the version number instead of incrementing it",
86
+ })
87
+ .option("dry-run", {
88
+ alias: "d",
89
+ type: "boolean",
90
+ description: "skip invoking steamcmd",
91
+ })
92
+ .option("only-upload", {
93
+ alias: "u",
94
+ type: "boolean",
95
+ description: "only upload the mod to the Steam Workshop (without doing anything else)",
96
+ })
97
+ .option("verbose", {
98
+ alias: "v",
99
+ type: "boolean",
100
+ description: "Enable verbose output",
101
+ }))
102
+ .alias("h", "help") // By default, only "--help" is enabled
103
+ .alias("v", "version"); // By default, only "--version" is enabled
104
+ return yargsObject.argv;
105
+ }
106
+ exports.parseArgs = parseArgs;
109
107
  //# sourceMappingURL=parseArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/parseArgs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function promptInit(): void;
2
+ export declare function getInputYesNo(msg: string, defaultValue?: boolean): Promise<boolean>;
3
+ /** Returns trimmed input. */
4
+ export declare function getInputString(msg: string, defaultValue?: string): Promise<string>;
5
+ export declare function getInputInt(msg: string, defaultValue?: number): Promise<number>;
package/src/prompt.js ADDED
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ // Both the Inquirer.js library and the Prompts library have a bug where text is duplicated in a Git
3
+ // Bash terminal. Thus, we revert to using the simpler Prompt library.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getInputInt = exports.getInputString = exports.getInputYesNo = exports.promptInit = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ const prompt_1 = tslib_1.__importDefault(require("prompt"));
9
+ const utils_1 = require("./utils");
10
+ const VALID_YES_RESPONSES = new Set(["yes", "ye", "y"]);
11
+ const VALID_NO_RESPONSES = new Set(["no", "n"]);
12
+ function promptInit() {
13
+ // Override some of the prompt library's default values:
14
+ // https://github.com/flatiron/prompt#customizing-your-prompt
15
+ prompt_1.default.message = chalk_1.default.green("?");
16
+ prompt_1.default.delimiter = " ";
17
+ prompt_1.default.colors = false;
18
+ }
19
+ exports.promptInit = promptInit;
20
+ function getInputYesNo(msg, defaultValue = true) {
21
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ prompt_1.default.start();
23
+ // Capitalize the letter that represents the default option.
24
+ const y = defaultValue ? "Y" : "y";
25
+ const n = defaultValue ? "n" : "N";
26
+ const questionSuffix = `(${y}\\${n})`;
27
+ const description = `${chalk_1.default.bold(msg)} ${chalk_1.default.gray(questionSuffix)}`;
28
+ const { response } = yield prompt_1.default.get({
29
+ properties: {
30
+ response: {
31
+ type: "string",
32
+ description,
33
+ },
34
+ },
35
+ });
36
+ if (typeof response !== "string") {
37
+ console.log(typeof response);
38
+ (0, utils_1.error)("Failed to get a proper response from the prompt library.");
39
+ }
40
+ const cleanedResponse = response.toLowerCase().trim();
41
+ // Default to true.
42
+ if (cleanedResponse === "") {
43
+ return defaultValue;
44
+ }
45
+ if (VALID_YES_RESPONSES.has(cleanedResponse)) {
46
+ return true;
47
+ }
48
+ if (VALID_NO_RESPONSES.has(cleanedResponse)) {
49
+ return false;
50
+ }
51
+ return (0, utils_1.error)('Invalid response; must answer "yes" or "no".');
52
+ });
53
+ }
54
+ exports.getInputYesNo = getInputYesNo;
55
+ /** Returns trimmed input. */
56
+ function getInputString(msg, defaultValue) {
57
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
58
+ prompt_1.default.start();
59
+ let description = `${chalk_1.default.bold(msg)}`;
60
+ if (defaultValue !== undefined) {
61
+ description += ` ${chalk_1.default.gray(`(${defaultValue})`)}`;
62
+ }
63
+ const { response } = yield prompt_1.default.get({
64
+ properties: {
65
+ response: {
66
+ type: "string",
67
+ description,
68
+ },
69
+ },
70
+ });
71
+ if (typeof response !== "string") {
72
+ (0, utils_1.error)("Failed to get a proper response from the prompt library.");
73
+ }
74
+ if (response === "" && defaultValue !== undefined) {
75
+ return defaultValue;
76
+ }
77
+ return response.trim();
78
+ });
79
+ }
80
+ exports.getInputString = getInputString;
81
+ function getInputInt(msg, defaultValue = 1) {
82
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
83
+ const defaultValueString = defaultValue.toString();
84
+ const string = yield getInputString(msg, defaultValueString);
85
+ const int = (0, utils_1.parseIntSafe)(string);
86
+ if (Number.isNaN(int)) {
87
+ (0, utils_1.error)("Error: You must enter an integer.");
88
+ }
89
+ return int;
90
+ });
91
+ }
92
+ exports.getInputInt = getInputInt;
93
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare type Command = "monitor" | "init" | "copy" | "publish";
2
+ export declare const DEFAULT_COMMAND = "monitor";
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_COMMAND = void 0;
4
- exports.DEFAULT_COMMAND = "monitor";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_COMMAND = void 0;
4
+ exports.DEFAULT_COMMAND = "monitor";
5
5
  //# sourceMappingURL=Command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Command.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/types/Command.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAG,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare class Config {
2
+ /** The "mods" directory that lives next to the "isaac-ng.exe" program. */
3
+ modsDirectory: string;
4
+ /** The save slot that you test your mod on. */
5
+ saveSlot: number;
6
+ /**
7
+ * By default, the target mod directory name will be the same as the project directory name. This
8
+ * setting allows you to customize it.
9
+ */
10
+ customTargetModDirectoryName?: string;
11
+ /** The path to "steamcmd.exe". This is optional and only needed for automating publishing. */
12
+ steamCmdPath?: string;
13
+ /**
14
+ * When your code is recompiled, IsaacScript watcher can restart the game to ensure that any
15
+ * run-related variables are properly reset. This is set to true by default.
16
+ */
17
+ enableIsaacScriptWatcherAutoRestart?: boolean;
18
+ }
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Config = void 0;
4
- class Config {
5
- constructor() {
6
- /** The "mods" directory that lives next to the "isaac-ng.exe" program. */
7
- this.modsDirectory = "C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\mods";
8
- /** The save slot that you test your mod on. */
9
- this.saveSlot = 1;
10
- }
11
- }
12
- exports.Config = Config;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Config = void 0;
4
+ class Config {
5
+ constructor() {
6
+ /** The "mods" directory that lives next to the "isaac-ng.exe" program. */
7
+ this.modsDirectory = "C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\mods";
8
+ /** The save slot that you test your mod on. */
9
+ this.saveSlot = 1;
10
+ }
11
+ }
12
+ exports.Config = Config;
13
13
  //# sourceMappingURL=Config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/types/Config.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAAnB;QACE,0EAA0E;QAC1E,kBAAa,GACX,uFAAuF,CAAC;QAE1F,+CAA+C;QAC/C,aAAQ,GAAG,CAAC,CAAC;IAgBf,CAAC;CAAA;AAtBD,wBAsBC"}
@@ -0,0 +1,7 @@
1
+ export interface GitHubCLIHostsYAML {
2
+ "github.com": {
3
+ user: string;
4
+ oauth_token: string;
5
+ git_protocol: string;
6
+ };
7
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=GitHubCLIHostsYAML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubCLIHostsYAML.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/types/GitHubCLIHostsYAML.ts"],"names":[],"mappings":""}
package/src/utils.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { Config } from "./types/Config";
2
+ export declare const ensureAllCases: (obj: never) => never;
3
+ export declare function error(...args: unknown[]): never;
4
+ export declare function getModTargetDirectoryName(config: Config): string;
5
+ export declare function getTime(): string;
6
+ export declare function hasWhiteSpace(s: string): boolean;
7
+ export declare function isKebabCase(s: string): boolean;
8
+ /**
9
+ * `parseIntSafe` is a more reliable version of `parseInt`. By default, `parseInt('1a')` will return
10
+ * "1", which is unexpected. This returns either an integer or NaN.
11
+ */
12
+ export declare function parseIntSafe(input: unknown): number;
13
+ export declare function parseSemVer(versionString: string): [majorVersion: number, minorVersion: number, patchVersion: number];
@@ -1,84 +1,82 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseSemVer = exports.parseIntSafe = exports.isKebabCase = exports.hasWhiteSpace = exports.getTime = exports.getModTargetDirectoryName = exports.error = exports.ensureAllCases = void 0;
7
- const moment_1 = __importDefault(require("moment"));
8
- const constants_1 = require("./constants");
9
- /** From: https://github.com/expandjs/expandjs/blob/master/lib/kebabCaseRegex.js */
10
- const KEBAB_CASE_REGEX = /^([a-z](?![\d])|[\d](?![a-z]))+(-?([a-z](?![\d])|[\d](?![a-z])))*$|^$/;
11
- const ensureAllCases = (obj) => obj;
12
- exports.ensureAllCases = ensureAllCases;
13
- function error(...args) {
14
- console.error(...args);
15
- process.exit(1);
16
- }
17
- exports.error = error;
18
- function getModTargetDirectoryName(config) {
19
- return config.customTargetModDirectoryName === undefined
20
- ? constants_1.CURRENT_DIRECTORY_NAME
21
- : config.customTargetModDirectoryName;
22
- }
23
- exports.getModTargetDirectoryName = getModTargetDirectoryName;
24
- function getTime() {
25
- return (0, moment_1.default)().format("h:mm:ss A"); // e.g. "1:23:45 AM"
26
- }
27
- exports.getTime = getTime;
28
- // From: https://stackoverflow.com/questions/1731190/check-if-a-string-has-white-space
29
- function hasWhiteSpace(s) {
30
- return /\s/g.test(s);
31
- }
32
- exports.hasWhiteSpace = hasWhiteSpace;
33
- function isKebabCase(s) {
34
- return KEBAB_CASE_REGEX.test(s);
35
- }
36
- exports.isKebabCase = isKebabCase;
37
- /**
38
- * `parseIntSafe` is a more reliable version of `parseInt`. By default, `parseInt('1a')` will return
39
- * "1", which is unexpected. This returns either an integer or NaN.
40
- */
41
- function parseIntSafe(input) {
42
- if (typeof input !== "string") {
43
- return NaN;
44
- }
45
- // Remove all leading and trailing whitespace.
46
- let trimmedInput = input.trim();
47
- const isNegativeNumber = trimmedInput.startsWith("-");
48
- if (isNegativeNumber) {
49
- // Remove the leading minus sign before we match the regular expression.
50
- trimmedInput = trimmedInput.substring(1);
51
- }
52
- // "\d" matches any digit (same as "[0-9]").
53
- if (/^\d+$/.exec(trimmedInput) === null) {
54
- return NaN;
55
- }
56
- if (isNegativeNumber) {
57
- // Add the leading minus sign back.
58
- trimmedInput = `-${trimmedInput}`;
59
- }
60
- return parseInt(trimmedInput, 10);
61
- }
62
- exports.parseIntSafe = parseIntSafe;
63
- function parseSemVer(versionString) {
64
- const match = /^v*(\d+)\.(\d+)\.(\d+)/g.exec(versionString);
65
- if (match === null) {
66
- error(`Failed to parse the version string of: ${versionString}`);
67
- }
68
- const [, majorVersionString, minorVersionString, patchVersionString] = match;
69
- const majorVersion = parseIntSafe(majorVersionString);
70
- if (Number.isNaN(majorVersion)) {
71
- error(`Failed to parse the major version number from: ${versionString}`);
72
- }
73
- const minorVersion = parseIntSafe(minorVersionString);
74
- if (Number.isNaN(minorVersion)) {
75
- error(`Failed to parse the minor version number from: ${versionString}`);
76
- }
77
- const patchVersion = parseIntSafe(patchVersionString);
78
- if (Number.isNaN(patchVersion)) {
79
- error(`Failed to parse the patch version number from: ${versionString}`);
80
- }
81
- return [majorVersion, minorVersion, patchVersion];
82
- }
83
- exports.parseSemVer = parseSemVer;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseSemVer = exports.parseIntSafe = exports.isKebabCase = exports.hasWhiteSpace = exports.getTime = exports.getModTargetDirectoryName = exports.error = exports.ensureAllCases = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const moment_1 = tslib_1.__importDefault(require("moment"));
6
+ const constants_1 = require("./constants");
7
+ /** From: https://github.com/expandjs/expandjs/blob/master/lib/kebabCaseRegex.js */
8
+ const KEBAB_CASE_REGEX = /^([a-z](?![\d])|[\d](?![a-z]))+(-?([a-z](?![\d])|[\d](?![a-z])))*$|^$/;
9
+ const ensureAllCases = (obj) => obj;
10
+ exports.ensureAllCases = ensureAllCases;
11
+ function error(...args) {
12
+ console.error(...args);
13
+ process.exit(1);
14
+ }
15
+ exports.error = error;
16
+ function getModTargetDirectoryName(config) {
17
+ return config.customTargetModDirectoryName === undefined
18
+ ? constants_1.CURRENT_DIRECTORY_NAME
19
+ : config.customTargetModDirectoryName;
20
+ }
21
+ exports.getModTargetDirectoryName = getModTargetDirectoryName;
22
+ function getTime() {
23
+ return (0, moment_1.default)().format("h:mm:ss A"); // e.g. "1:23:45 AM"
24
+ }
25
+ exports.getTime = getTime;
26
+ // From: https://stackoverflow.com/questions/1731190/check-if-a-string-has-white-space
27
+ function hasWhiteSpace(s) {
28
+ return /\s/g.test(s);
29
+ }
30
+ exports.hasWhiteSpace = hasWhiteSpace;
31
+ function isKebabCase(s) {
32
+ return KEBAB_CASE_REGEX.test(s);
33
+ }
34
+ exports.isKebabCase = isKebabCase;
35
+ /**
36
+ * `parseIntSafe` is a more reliable version of `parseInt`. By default, `parseInt('1a')` will return
37
+ * "1", which is unexpected. This returns either an integer or NaN.
38
+ */
39
+ function parseIntSafe(input) {
40
+ if (typeof input !== "string") {
41
+ return NaN;
42
+ }
43
+ // Remove all leading and trailing whitespace.
44
+ let trimmedInput = input.trim();
45
+ const isNegativeNumber = trimmedInput.startsWith("-");
46
+ if (isNegativeNumber) {
47
+ // Remove the leading minus sign before we match the regular expression.
48
+ trimmedInput = trimmedInput.substring(1);
49
+ }
50
+ // "\d" matches any digit (same as "[0-9]").
51
+ if (/^\d+$/.exec(trimmedInput) === null) {
52
+ return NaN;
53
+ }
54
+ if (isNegativeNumber) {
55
+ // Add the leading minus sign back.
56
+ trimmedInput = `-${trimmedInput}`;
57
+ }
58
+ return parseInt(trimmedInput, 10);
59
+ }
60
+ exports.parseIntSafe = parseIntSafe;
61
+ function parseSemVer(versionString) {
62
+ const match = versionString.match(/^v*(\d+)\.(\d+)\.(\d+)/);
63
+ if (match === null) {
64
+ error(`Failed to parse the version string of: ${versionString}`);
65
+ }
66
+ const [, majorVersionString, minorVersionString, patchVersionString] = match;
67
+ const majorVersion = parseIntSafe(majorVersionString);
68
+ if (Number.isNaN(majorVersion)) {
69
+ error(`Failed to parse the major version number from: ${versionString}`);
70
+ }
71
+ const minorVersion = parseIntSafe(minorVersionString);
72
+ if (Number.isNaN(minorVersion)) {
73
+ error(`Failed to parse the minor version number from: ${versionString}`);
74
+ }
75
+ const patchVersion = parseIntSafe(patchVersionString);
76
+ if (Number.isNaN(patchVersion)) {
77
+ error(`Failed to parse the patch version number from: ${versionString}`);
78
+ }
79
+ return [majorVersion, minorVersion, patchVersion];
80
+ }
81
+ exports.parseSemVer = parseSemVer;
84
82
  //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function validateInIsaacScriptProject(verbose: boolean): void;