isaacscript 2.7.4 → 2.8.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.
- package/file-templates/dynamic/mod/content/rooms/00.special rooms.stb +0 -0
- package/file-templates/static/tsconfig.json +6 -0
- package/isaacscript-watcher/main.lua +3 -1
- package/package.json +5 -4
- package/src/commands/copy/copy.js +2 -0
- package/src/commands/copy/copy.js.map +1 -1
- package/src/commands/init/git.js +6 -2
- package/src/commands/init/git.js.map +1 -1
- package/src/commands/init/installVSCodeExtensions.js +6 -10
- package/src/commands/init/installVSCodeExtensions.js.map +1 -1
- package/src/commands/monitor/monitor.js +9 -37
- package/src/commands/monitor/monitor.js.map +1 -1
- package/src/configFile.js +6 -16
- package/src/configFile.js.map +1 -1
- package/src/constants.js +11 -10
- package/src/constants.js.map +1 -1
- package/src/customStage.js +38 -0
- package/src/customStage.js.map +1 -0
- package/src/file.js +16 -1
- package/src/file.js.map +1 -1
- package/src/json.js +29 -0
- package/src/json.js.map +1 -0
- package/src/main.js +1 -1
- package/src/main.js.map +1 -1
- package/src/tsconfig.js +58 -0
- package/src/tsconfig.js.map +1 -0
- package/src/types/Config.js +1 -0
- package/src/types/Config.js.map +1 -1
- package/src/utils.js +5 -1
- package/src/utils.js.map +1 -1
|
Binary file
|
|
@@ -220,7 +220,9 @@ function mod:LoadSuccessful(saveDatContents)
|
|
|
220
220
|
local starting1 = string.match(entry.data, "TypeScript change detected.")
|
|
221
221
|
local starting2 = string.match(entry.data, "Compiling the mod for the first time...")
|
|
222
222
|
local finished1 = string.match(entry.data, "Compilation successful.")
|
|
223
|
-
|
|
223
|
+
-- Found 1 error. Watching for file changes.
|
|
224
|
+
-- Found 2 errors. Watching for file changes.
|
|
225
|
+
local finished2 = string.match(entry.data, "Watching for file changes.")
|
|
224
226
|
if starting1 ~= nil or starting2 ~= nil then
|
|
225
227
|
sprite:Play("Green")
|
|
226
228
|
elseif finished1 ~= nil or finished2 ~= nil then
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"git-dirty": "^1.0.2",
|
|
35
35
|
"isaacscript-tsconfig": "^2.0.0",
|
|
36
36
|
"jsonc-parser": "^3.0.0",
|
|
37
|
-
"moment": "^2.29.
|
|
38
|
-
"npm-check-updates": "^15.
|
|
37
|
+
"moment": "^2.29.4",
|
|
38
|
+
"npm-check-updates": "^15.2.1",
|
|
39
39
|
"prompt": "^1.3.0",
|
|
40
40
|
"source-map-support": "^0.5.21",
|
|
41
41
|
"sync-directory": "^5.1.7",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"update-notifier": "5.1.0",
|
|
44
44
|
"yaml": "^2.1.1",
|
|
45
45
|
"yargs": "^17.5.1",
|
|
46
|
-
"isaac-typescript-definitions": "^3.0.
|
|
46
|
+
"isaac-typescript-definitions": "^3.0.18",
|
|
47
|
+
"isaacscript-common": "^5.1.2",
|
|
47
48
|
"typescript-to-lua": "^1.6.2"
|
|
48
49
|
},
|
|
49
50
|
"peerDependencies": {
|
|
@@ -4,6 +4,7 @@ exports.compileAndCopy = exports.copy = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
6
|
const constants_1 = require("../../constants");
|
|
7
|
+
const customStage_1 = require("../../customStage");
|
|
7
8
|
const exec_1 = require("../../exec");
|
|
8
9
|
const file = tslib_1.__importStar(require("../../file"));
|
|
9
10
|
const utils_1 = require("../../utils");
|
|
@@ -16,6 +17,7 @@ function copy(args, config) {
|
|
|
16
17
|
exports.copy = copy;
|
|
17
18
|
function compileAndCopy(modSourcePath, modTargetPath, verbose) {
|
|
18
19
|
compile(verbose);
|
|
20
|
+
(0, customStage_1.copyCustomStageRooms)(modSourcePath, modTargetPath, verbose);
|
|
19
21
|
copyMod(modSourcePath, modTargetPath, verbose);
|
|
20
22
|
}
|
|
21
23
|
exports.compileAndCopy = compileAndCopy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/copy/copy.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,+CAAkD;AAClD,qCAAuC;AACvC,yDAAmC;AAGnC,uCAAwD;AAExD,SAAgB,IAAI,CAAC,IAAU,EAAE,MAAc;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,MAAM,sBAAsB,GAAG,IAAA,iCAAyB,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,cAAc,CAAC,2BAAe,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAPD,oBAOC;AAED,SAAgB,cAAc,CAC5B,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,OAAO,CAAC,OAAO,CAAC,CAAC;IACjB,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/copy/copy.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,+CAAkD;AAClD,mDAAyD;AACzD,qCAAuC;AACvC,yDAAmC;AAGnC,uCAAwD;AAExD,SAAgB,IAAI,CAAC,IAAU,EAAE,MAAc;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,MAAM,sBAAsB,GAAG,IAAA,iCAAyB,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,cAAc,CAAC,2BAAe,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAPD,oBAOC;AAED,SAAgB,cAAc,CAC5B,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,OAAO,CAAC,OAAO,CAAC,CAAC;IACjB,IAAA,kCAAoB,EAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AARD,wCAQC;AAED,SAAS,OAAO,CAAC,OAAgB;IAC/B,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,OAAO,CACd,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;QACvC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACpD;IACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC"}
|
package/src/commands/init/git.js
CHANGED
|
@@ -17,6 +17,10 @@ async function promptGitHubRepoOrGitRemoteURL(projectName, noGit, yes, verbose)
|
|
|
17
17
|
if (noGit) {
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
|
+
// Hard-code certain project names as never causing a Git repository to be initialized.
|
|
21
|
+
if (projectName.startsWith("test") || projectName === "foo") {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
20
24
|
// We do not need to prompt the user if they do not have Git installed.
|
|
21
25
|
if (!command_exists_1.default.sync("git")) {
|
|
22
26
|
console.log('Git does not seem to be installed. (The "git" command is not in the path.) Skipping Git-related things.');
|
|
@@ -124,7 +128,7 @@ function initGitRepository(projectPath, gitRemoteURL, verbose) {
|
|
|
124
128
|
(0, exec_1.execShell)("git", ["branch", "-M", "main"], verbose, false, projectPath);
|
|
125
129
|
if (isGitNameAndEmailConfigured(verbose)) {
|
|
126
130
|
(0, exec_1.execShell)("git", ["add", "--all"], verbose, false, projectPath);
|
|
127
|
-
(0, exec_1.execShell)("git", ["commit", "--message",
|
|
131
|
+
(0, exec_1.execShell)("git", ["commit", "--message", `chore: add files from ${constants_1.PROJECT_NAME} template`], verbose, false, projectPath);
|
|
128
132
|
}
|
|
129
133
|
(0, exec_1.execShell)("git", ["remote", "add", "origin", gitRemoteURL], verbose, false, projectPath);
|
|
130
134
|
}
|
|
@@ -147,7 +151,7 @@ function gitCommitIfChanges(version, verbose) {
|
|
|
147
151
|
console.log("There are no changes to commit.");
|
|
148
152
|
return;
|
|
149
153
|
}
|
|
150
|
-
const commitMessage = `v${version}`;
|
|
154
|
+
const commitMessage = `chore: release v${version}`;
|
|
151
155
|
(0, exec_1.execShell)("git", ["add", "-A"], verbose);
|
|
152
156
|
(0, exec_1.execShell)("git", ["commit", "-m", commitMessage], verbose);
|
|
153
157
|
(0, exec_1.execShell)("git", ["push", "origin", "main", "--set-upstream"], verbose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/git.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.installVSCodeExtensions = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const JSONC = tslib_1.__importStar(require("jsonc-parser"));
|
|
7
5
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
8
6
|
const exec_1 = require("../../exec");
|
|
9
7
|
const file = tslib_1.__importStar(require("../../file"));
|
|
8
|
+
const json_1 = require("../../json");
|
|
10
9
|
const utils_1 = require("../../utils");
|
|
11
10
|
function installVSCodeExtensions(projectPath, VSCodeCommand, verbose) {
|
|
12
11
|
const extensions = getExtensionsFromJSON(projectPath, verbose);
|
|
@@ -20,14 +19,11 @@ function getExtensionsFromJSON(projectPath, verbose) {
|
|
|
20
19
|
if (!file.exists(extensionsJSONPath, verbose)) {
|
|
21
20
|
return [];
|
|
22
21
|
}
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const extensionsJSON = (0, json_1.getJSONC)(extensionsJSONPath, verbose);
|
|
23
|
+
const { recommendations } = extensionsJSON;
|
|
24
|
+
if (!Array.isArray(recommendations)) {
|
|
25
|
+
(0, utils_1.error)('The "recommendations" property in the "extensions.json" file is not an array.');
|
|
27
26
|
}
|
|
28
|
-
|
|
29
|
-
(0, utils_1.error)(`Failed to parse the "${chalk_1.default.green(extensionsJSONPath)}" file:`, err);
|
|
30
|
-
}
|
|
31
|
-
return extensionsJSON.recommendations;
|
|
27
|
+
return recommendations;
|
|
32
28
|
}
|
|
33
29
|
//# sourceMappingURL=installVSCodeExtensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installVSCodeExtensions.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/installVSCodeExtensions.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"installVSCodeExtensions.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/installVSCodeExtensions.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,qCAAuC;AACvC,yDAAmC;AACnC,qCAAsC;AACtC,uCAAoC;AAEpC,SAAgB,uBAAuB,CACrC,WAAmB,EACnB,aAAqB,EACrB,OAAgB;IAEhB,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE;QACtC,IAAA,gBAAS,EAAC,aAAa,EAAE,CAAC,qBAAqB,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;KAC3E;AACH,CAAC;AATD,0DASC;AAED,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,OAAgB;IAEhB,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAClC,WAAW,EACX,SAAS,EACT,iBAAiB,CAClB,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAC7C,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAG,IAAA,eAAQ,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAE7D,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QACnC,IAAA,aAAK,EACH,+EAA+E,CAChF,CAAC;KACH;IAED,OAAO,eAA2B,CAAC;AACrC,CAAC"}
|
|
@@ -4,11 +4,13 @@ exports.monitor = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const child_process_1 = require("child_process");
|
|
7
|
-
const JSONC = tslib_1.__importStar(require("jsonc-parser"));
|
|
8
7
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
9
8
|
const constants_1 = require("../../constants");
|
|
9
|
+
const customStage_1 = require("../../customStage");
|
|
10
10
|
const file = tslib_1.__importStar(require("../../file"));
|
|
11
|
+
const json_1 = require("../../json");
|
|
11
12
|
const packageManager_1 = require("../../packageManager");
|
|
13
|
+
const tsconfig_1 = require("../../tsconfig");
|
|
12
14
|
const utils_1 = require("../../utils");
|
|
13
15
|
const constants_2 = require("./constants");
|
|
14
16
|
const copyWatcherMod_1 = require("./copyWatcherMod");
|
|
@@ -36,16 +38,18 @@ function monitor(args, config) {
|
|
|
36
38
|
if (args.saveSlot !== undefined) {
|
|
37
39
|
config.saveSlot = args.saveSlot; // eslint-disable-line no-param-reassign
|
|
38
40
|
}
|
|
39
|
-
// Pre-flight checks
|
|
41
|
+
// Pre-flight checks
|
|
40
42
|
validatePackageJSONDependencies(args, verbose);
|
|
41
43
|
// Read the "tsconfig.json" file.
|
|
42
|
-
const tsConfigInclude = getFirstTSConfigIncludePath(verbose);
|
|
44
|
+
const tsConfigInclude = (0, tsconfig_1.getFirstTSConfigIncludePath)(verbose);
|
|
43
45
|
const resolvedIncludePath = path_1.default.resolve(constants_1.CWD, tsConfigInclude);
|
|
44
46
|
const modTargetDirectoryName = (0, utils_1.getModTargetDirectoryName)(config);
|
|
45
47
|
const modTargetPath = path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
46
48
|
// Prepare the IsaacScript watcher mod.
|
|
47
49
|
(0, copyWatcherMod_1.copyWatcherMod)(config, verbose);
|
|
48
50
|
(0, touchWatcherSaveDatFiles_1.touchWatcherSaveDatFiles)(config, verbose);
|
|
51
|
+
// Prepare the custom stages feature.
|
|
52
|
+
(0, customStage_1.copyCustomStageRooms)(constants_1.MOD_SOURCE_PATH, modTargetPath, verbose);
|
|
49
53
|
// Delete and re-copy the mod every time IsaacScript starts. This ensures that it is always the
|
|
50
54
|
// latest version.
|
|
51
55
|
if (file.exists(modTargetPath, verbose)) {
|
|
@@ -71,19 +75,9 @@ function monitor(args, config) {
|
|
|
71
75
|
}
|
|
72
76
|
exports.monitor = monitor;
|
|
73
77
|
function validatePackageJSONDependencies(args, verbose) {
|
|
74
|
-
const
|
|
75
|
-
let packageJSON;
|
|
76
|
-
try {
|
|
77
|
-
packageJSON = JSONC.parse(packageJSONRaw);
|
|
78
|
-
}
|
|
79
|
-
catch (err) {
|
|
80
|
-
(0, utils_1.error)(`Failed to parse "${chalk_1.default.green(constants_1.PACKAGE_JSON_PATH)}":`, err);
|
|
81
|
-
}
|
|
82
|
-
if (typeof packageJSON !== "object") {
|
|
83
|
-
(0, utils_1.error)(`Failed to parse "${chalk_1.default.green(constants_1.PACKAGE_JSON_PATH)}" since it was of type:`, typeof packageJSON);
|
|
84
|
-
}
|
|
78
|
+
const packageJSON = (0, json_1.getJSONC)(constants_1.PACKAGE_JSON_PATH, verbose);
|
|
85
79
|
const { dependencies } = packageJSON;
|
|
86
|
-
if (
|
|
80
|
+
if (!(0, utils_1.isRecord)(dependencies)) {
|
|
87
81
|
(0, utils_1.error)(`Failed to parse the dependencies of: ${chalk_1.default.green(constants_1.PACKAGE_JSON_PATH)}`);
|
|
88
82
|
}
|
|
89
83
|
const dependenciesArray = Object.keys(dependencies);
|
|
@@ -163,26 +157,4 @@ function spawnTSTLWatcher() {
|
|
|
163
157
|
(0, utils_1.error)(`Error: ${processDescription} subprocess exited with code: ${code}`);
|
|
164
158
|
});
|
|
165
159
|
}
|
|
166
|
-
function getFirstTSConfigIncludePath(verbose) {
|
|
167
|
-
const tsConfigRaw = file.read(constants_1.TSCONFIG_PATH, verbose);
|
|
168
|
-
let tsConfig;
|
|
169
|
-
try {
|
|
170
|
-
tsConfig = JSONC.parse(tsConfigRaw);
|
|
171
|
-
}
|
|
172
|
-
catch (err) {
|
|
173
|
-
(0, utils_1.error)(`Failed to parse "${chalk_1.default.green(constants_1.TSCONFIG_PATH)}":`, err);
|
|
174
|
-
}
|
|
175
|
-
const { include } = tsConfig;
|
|
176
|
-
if (include === undefined) {
|
|
177
|
-
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_PATH)}" file does not have an "include" property, which is surely a mistake. Delete the file and re-run ${constants_1.PROJECT_NAME}.`);
|
|
178
|
-
}
|
|
179
|
-
if (!Array.isArray(include)) {
|
|
180
|
-
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_PATH)}" file has an "include" property that is not an array, which is surely a mistake. Delete the file and re-run ${constants_1.PROJECT_NAME}.`);
|
|
181
|
-
}
|
|
182
|
-
const firstInclude = include[0];
|
|
183
|
-
if (firstInclude === undefined) {
|
|
184
|
-
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_PATH)}" file has an empty "include" property, which is surely a mistake. Delete the file and re-run ${constants_1.PROJECT_NAME}.`);
|
|
185
|
-
}
|
|
186
|
-
return firstInclude;
|
|
187
|
-
}
|
|
188
160
|
//# sourceMappingURL=monitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iDAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":"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"}
|
package/src/configFile.js
CHANGED
|
@@ -2,19 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createFile = exports.createObject = exports.get = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const JSONC = tslib_1.__importStar(require("jsonc-parser"));
|
|
7
5
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
8
6
|
const getModsDir_1 = require("./commands/init/getModsDir");
|
|
9
7
|
const promptSaveSlot_1 = require("./commands/init/promptSaveSlot");
|
|
10
8
|
const constants_1 = require("./constants");
|
|
11
9
|
const file = tslib_1.__importStar(require("./file"));
|
|
10
|
+
const json_1 = require("./json");
|
|
12
11
|
const utils_1 = require("./utils");
|
|
13
12
|
const NUM_SPACES = 2;
|
|
14
13
|
async function get(args) {
|
|
15
14
|
const verbose = args.verbose === true;
|
|
16
15
|
const yes = args.yes === true;
|
|
17
|
-
const existingConfig =
|
|
16
|
+
const existingConfig = getExistingConfig(verbose);
|
|
18
17
|
if (existingConfig !== undefined) {
|
|
19
18
|
return existingConfig;
|
|
20
19
|
}
|
|
@@ -26,28 +25,19 @@ async function get(args) {
|
|
|
26
25
|
return config;
|
|
27
26
|
}
|
|
28
27
|
exports.get = get;
|
|
29
|
-
function
|
|
28
|
+
function getExistingConfig(verbose) {
|
|
30
29
|
if (!file.exists(constants_1.CONFIG_FILE_PATH, verbose)) {
|
|
31
30
|
return undefined;
|
|
32
31
|
}
|
|
33
|
-
const
|
|
34
|
-
let config;
|
|
35
|
-
try {
|
|
36
|
-
config = JSONC.parse(configRaw);
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
(0, utils_1.error)(`Failed to parse the "${chalk_1.default.green(constants_1.CONFIG_FILE_PATH)}" file:`, err);
|
|
40
|
-
}
|
|
32
|
+
const config = (0, json_1.getJSONC)(constants_1.CONFIG_FILE_PATH, verbose);
|
|
41
33
|
// Even though the "modsDirectory" property is always initialized in the class, it may not be
|
|
42
34
|
// necessarily exist in the JSON file.
|
|
43
|
-
|
|
44
|
-
if (config.modsDirectory === undefined) {
|
|
35
|
+
if (config["modsDirectory"] === undefined) {
|
|
45
36
|
errorMissing("modsDirectory", "This should be equal to the directory where Isaac mods live on your system.");
|
|
46
37
|
}
|
|
47
38
|
// Even though the "saveSlot" property is always initialized in the class, it may not be
|
|
48
39
|
// necessarily exist in the JSON file.
|
|
49
|
-
|
|
50
|
-
if (config.saveSlot === undefined) {
|
|
40
|
+
if (config["saveSlot"] === undefined) {
|
|
51
41
|
errorMissing("saveSlot", "This should be equal to the save slot that you test your mods on.");
|
|
52
42
|
}
|
|
53
43
|
return config;
|
package/src/configFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/configFile.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/configFile.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,2DAAwD;AACxD,mEAAgE;AAChE,2CAAsE;AACtE,qDAA+B;AAC/B,iCAAkC;AAGlC,mCAAgC;AAEhC,MAAM,UAAU,GAAG,CAAC,CAAC;AAEd,KAAK,UAAU,GAAG,CAAC,IAAU;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,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,uBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACrD,UAAU,CAAC,eAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,kBAgBC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,4BAAgB,EAAE,OAAO,CAAC,EAAE;QAC3C,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,MAAM,GAAG,IAAA,eAAQ,EAAC,4BAAgB,EAAE,OAAO,CAAC,CAAC;IAEnD,6FAA6F;IAC7F,sCAAsC;IACtC,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE;QACzC,YAAY,CACV,eAAe,EACf,6EAA6E,CAC9E,CAAC;KACH;IAED,wFAAwF;IACxF,sCAAsC;IACtC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;QACpC,YAAY,CACV,UAAU,EACV,mEAAmE,CACpE,CAAC;KACH;IAED,OAAO,MAA2B,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,WAAmB;IACtD,IAAA,aAAK,EACH,QAAQ,4BAAgB,wBAAwB,KAAK,YAAY,WAAW,iBAAiB,CAC9F,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,aAAqB,EAAE,QAAgB;IAClE,OAAO;QACL,aAAa;QACb,QAAQ;KACT,CAAC;AACJ,CAAC;AALD,oCAKC;AAED,SAAgB,UAAU,CACxB,WAAmB,EACnB,MAAc,EACd,OAAgB;IAEhB,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4BAAgB,CAAC,CAAC;IAEhE,gDAAgD;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7E,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAXD,gCAWC"}
|
package/src/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
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.
|
|
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.TSCONFIG_JSON_PATH = exports.TSCONFIG_JSON = exports.CONFIG_FILE_PATH = exports.CONFIG_FILE_NAME = exports.README_MD_TEMPLATES_PATH = exports.README_MD = exports.PACKAGE_JSON_TEMPLATE_PATH = exports.PACKAGE_JSON = exports.METADATA_VDF_TEMPLATE_PATH = exports.METADATA_VDF = exports.METADATA_XML_TEMPLATE_PATH = exports.METADATA_XML = exports.MAIN_TS_TEMPLATE_PATH = exports.MAIN_TS = exports.GITIGNORE_TEMPLATE_PATH = exports.GITIGNORE = exports.CI_YML_TEMPLATE_PATH = exports.CI_YML = exports.TEMPLATES_DYNAMIC_DIR = exports.TEMPLATES_STATIC_DIR = exports.WATCHER_MOD_SOURCE_PATH = exports.WATCHER_MOD_NAME = exports.DISABLE_IT_FILE = exports.PROJECT_NAME = exports.MOD_UPLOADER_PATH = exports.FILE_SYNCED_MESSAGE = exports.HOME_DIR = exports.CWD = exports.CURRENT_DIRECTORY_NAME = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const os_1 = tslib_1.__importDefault(require("os"));
|
|
6
6
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
@@ -28,25 +28,26 @@ const TEMPLATES_DIR = path_1.default.join(REPO_ROOT, "file-templates");
|
|
|
28
28
|
// `isaacscript/file-templates/static`
|
|
29
29
|
exports.TEMPLATES_STATIC_DIR = path_1.default.join(TEMPLATES_DIR, "static");
|
|
30
30
|
// `isaacscript/file-templates/dynamic`
|
|
31
|
-
|
|
31
|
+
exports.TEMPLATES_DYNAMIC_DIR = path_1.default.join(TEMPLATES_DIR, "dynamic");
|
|
32
32
|
exports.CI_YML = "ci.yml";
|
|
33
|
-
exports.CI_YML_TEMPLATE_PATH = path_1.default.join(TEMPLATES_DYNAMIC_DIR, ".github", "workflows", exports.CI_YML);
|
|
33
|
+
exports.CI_YML_TEMPLATE_PATH = path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, ".github", "workflows", exports.CI_YML);
|
|
34
34
|
exports.GITIGNORE = "gitignore"; // Not named ".gitignore" to prevent npm from deleting it.
|
|
35
|
-
exports.GITIGNORE_TEMPLATE_PATH = path_1.default.join(TEMPLATES_DYNAMIC_DIR, exports.GITIGNORE);
|
|
35
|
+
exports.GITIGNORE_TEMPLATE_PATH = path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, exports.GITIGNORE);
|
|
36
36
|
exports.MAIN_TS = "main.ts";
|
|
37
|
-
exports.MAIN_TS_TEMPLATE_PATH = path_1.default.join(TEMPLATES_DYNAMIC_DIR, "src", exports.MAIN_TS);
|
|
37
|
+
exports.MAIN_TS_TEMPLATE_PATH = path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, "src", exports.MAIN_TS);
|
|
38
38
|
exports.METADATA_XML = "metadata.xml";
|
|
39
|
-
exports.METADATA_XML_TEMPLATE_PATH = path_1.default.join(TEMPLATES_DYNAMIC_DIR, "mod", exports.METADATA_XML);
|
|
39
|
+
exports.METADATA_XML_TEMPLATE_PATH = path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, "mod", exports.METADATA_XML);
|
|
40
40
|
exports.METADATA_VDF = "metadata.vdf";
|
|
41
|
-
exports.METADATA_VDF_TEMPLATE_PATH = path_1.default.join(TEMPLATES_DYNAMIC_DIR, "mod", exports.METADATA_VDF);
|
|
41
|
+
exports.METADATA_VDF_TEMPLATE_PATH = path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, "mod", exports.METADATA_VDF);
|
|
42
42
|
exports.PACKAGE_JSON = "package.json";
|
|
43
|
-
exports.PACKAGE_JSON_TEMPLATE_PATH = path_1.default.join(TEMPLATES_DYNAMIC_DIR, exports.PACKAGE_JSON);
|
|
43
|
+
exports.PACKAGE_JSON_TEMPLATE_PATH = path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, exports.PACKAGE_JSON);
|
|
44
44
|
exports.README_MD = "README.md";
|
|
45
|
-
exports.README_MD_TEMPLATES_PATH = path_1.default.join(TEMPLATES_DYNAMIC_DIR, exports.README_MD);
|
|
45
|
+
exports.README_MD_TEMPLATES_PATH = path_1.default.join(exports.TEMPLATES_DYNAMIC_DIR, exports.README_MD);
|
|
46
46
|
// `project`
|
|
47
47
|
exports.CONFIG_FILE_NAME = "isaacscript.json";
|
|
48
48
|
exports.CONFIG_FILE_PATH = path_1.default.join(exports.CWD, exports.CONFIG_FILE_NAME);
|
|
49
|
-
exports.
|
|
49
|
+
exports.TSCONFIG_JSON = "tsconfig.json";
|
|
50
|
+
exports.TSCONFIG_JSON_PATH = path_1.default.join(exports.CWD, exports.TSCONFIG_JSON);
|
|
50
51
|
exports.PACKAGE_JSON_PATH = path_1.default.join(exports.CWD, "package.json");
|
|
51
52
|
exports.CONSTANTS_TS_PATH = path_1.default.join(exports.CWD, "src", "constants.ts");
|
|
52
53
|
// `project/mod`
|
package/src/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/constants.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AACpB,wDAAwB;AAExB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE1B;;;GAGG;AACH,MAAM,OAAO,GAAG,YAAE,CAAC,OAAO,EAAE,CAAC;AAE7B,gBAAgB;AACH,QAAA,sBAAsB,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,GAAG,GAAG,GAAG,CAAC;AACV,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,mBAAmB,GAAG,cAAc,CAAC;AACrC,QAAA,iBAAiB,GAC5B,sHAAsH,CAAC;AAC5G,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,gBAAgB;AAChB,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAE7C,oCAAoC;AACvB,QAAA,eAAe,GAAG,YAAY,CAAC;AAC/B,QAAA,gBAAgB,GAAG,qBAAqB,CAAC;AACzC,QAAA,uBAAuB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAgB,CAAC,CAAC;AAE9E,+BAA+B;AAC/B,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAE7D,sCAAsC;AACzB,QAAA,oBAAoB,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAEvE,uCAAuC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copyCustomStageRooms = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const file = tslib_1.__importStar(require("./file"));
|
|
8
|
+
const tsconfig_1 = require("./tsconfig");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const ROOMS_DIRECTORY_PARTIAL_PATH = path_1.default.join("content", "rooms");
|
|
11
|
+
const SPECIAL_ROOMS_STB_PARTIAL_PATH = path_1.default.join(ROOMS_DIRECTORY_PARTIAL_PATH, "00.special rooms.stb");
|
|
12
|
+
const SPECIAL_ROOMS_STB_TEMPLATE_PATH = path_1.default.join(constants_1.TEMPLATES_DYNAMIC_DIR, "mod", SPECIAL_ROOMS_STB_PARTIAL_PATH);
|
|
13
|
+
function copyCustomStageRooms(modSourcePath, modTargetPath, verbose) {
|
|
14
|
+
const customStageOption = (0, tsconfig_1.getCustomStageOption)(verbose);
|
|
15
|
+
if (!customStageOption) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!file.exists(SPECIAL_ROOMS_STB_TEMPLATE_PATH, verbose)) {
|
|
19
|
+
(0, utils_1.error)("Failed to find the template file for the custom rooms feature.");
|
|
20
|
+
}
|
|
21
|
+
const templateHash = file.hash(SPECIAL_ROOMS_STB_TEMPLATE_PATH);
|
|
22
|
+
// First, validate that the mod itself does not have a "00.special rooms.stb" file.
|
|
23
|
+
const specialRoomsPath = path_1.default.join(modSourcePath, SPECIAL_ROOMS_STB_PARTIAL_PATH);
|
|
24
|
+
if (file.exists(specialRoomsPath, verbose)) {
|
|
25
|
+
const existingHash = file.hash(specialRoomsPath);
|
|
26
|
+
if (existingHash === templateHash) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
(0, utils_1.error)('Currently, custom stages do not work with mods that have an existing "content/rooms/00.special rooms.stb" file. If this is a problem for your mod, you can request this feature in the IsaacScript Discord server.');
|
|
30
|
+
}
|
|
31
|
+
const roomsPath = path_1.default.join(modTargetPath, ROOMS_DIRECTORY_PARTIAL_PATH);
|
|
32
|
+
if (!file.isDir(roomsPath, verbose)) {
|
|
33
|
+
file.makeDir(roomsPath, verbose);
|
|
34
|
+
}
|
|
35
|
+
file.copy(SPECIAL_ROOMS_STB_TEMPLATE_PATH, specialRoomsPath, verbose);
|
|
36
|
+
}
|
|
37
|
+
exports.copyCustomStageRooms = copyCustomStageRooms;
|
|
38
|
+
//# sourceMappingURL=customStage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customStage.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/customStage.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,2CAAoD;AACpD,qDAA+B;AAC/B,yCAAkD;AAClD,mCAAgC;AAEhC,MAAM,4BAA4B,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACnE,MAAM,8BAA8B,GAAG,cAAI,CAAC,IAAI,CAC9C,4BAA4B,EAC5B,sBAAsB,CACvB,CAAC;AACF,MAAM,+BAA+B,GAAG,cAAI,CAAC,IAAI,CAC/C,iCAAqB,EACrB,KAAK,EACL,8BAA8B,CAC/B,CAAC;AAEF,SAAgB,oBAAoB,CAClC,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,MAAM,iBAAiB,GAAG,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO;KACR;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,+BAA+B,EAAE,OAAO,CAAC,EAAE;QAC1D,IAAA,aAAK,EAAC,gEAAgE,CAAC,CAAC;KACzE;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAEhE,mFAAmF;IACnF,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAChC,aAAa,EACb,8BAA8B,CAC/B,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,YAAY,EAAE;YACjC,OAAO;SACR;QAED,IAAA,aAAK,EACH,oNAAoN,CACrN,CAAC;KACH;IAED,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;IACzE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;QACnC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAClC;IAED,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AArCD,oDAqCC"}
|
package/src/file.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.writeTry = exports.write = exports.touch = exports.rename = exports.read = exports.move = exports.makeDir = exports.isSubDirOf = exports.isFile = exports.isDir = exports.getDirList = exports.exists = exports.deleteFileOrDirectory = exports.copy = void 0;
|
|
3
|
+
exports.writeTry = exports.write = exports.touch = exports.rename = exports.read = exports.move = exports.makeDir = exports.isSubDirOf = exports.isFile = exports.isDir = exports.hash = exports.getDirList = exports.exists = exports.deleteFileOrDirectory = exports.copy = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
6
7
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
7
8
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
8
9
|
const utils_1 = require("./utils");
|
|
@@ -91,6 +92,20 @@ function getFileStats(filePath, verbose) {
|
|
|
91
92
|
}
|
|
92
93
|
return fileStats;
|
|
93
94
|
}
|
|
95
|
+
function hash(filePath) {
|
|
96
|
+
// We can't use the "read" function because we want the file as bytes.
|
|
97
|
+
let fileContents;
|
|
98
|
+
try {
|
|
99
|
+
fileContents = fs_extra_1.default.readFileSync(filePath);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
(0, utils_1.error)(`Failed to read the "${chalk_1.default.green(filePath)}" file for hashing:`, err);
|
|
103
|
+
}
|
|
104
|
+
const hashSum = crypto_1.default.createHash("sha256");
|
|
105
|
+
hashSum.update(fileContents);
|
|
106
|
+
return hashSum.digest("hex");
|
|
107
|
+
}
|
|
108
|
+
exports.hash = hash;
|
|
94
109
|
function isDir(filePath, verbose) {
|
|
95
110
|
const fileStats = getFileStats(filePath, verbose);
|
|
96
111
|
return fileStats.isDirectory();
|
package/src/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/file.ts"],"names":[],"mappings":"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"}
|
package/src/json.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getJSONC = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const JSONC = tslib_1.__importStar(require("jsonc-parser"));
|
|
7
|
+
const file = tslib_1.__importStar(require("./file"));
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
/**
|
|
10
|
+
* Helper function to parse a file as JSONC. Will terminate the program if any errors occur.
|
|
11
|
+
*
|
|
12
|
+
* We parse as JSONC instead of JSON to allow for comments and trailing commas.
|
|
13
|
+
*/
|
|
14
|
+
function getJSONC(filePath, verbose) {
|
|
15
|
+
const fileContents = file.read(filePath, verbose);
|
|
16
|
+
let json;
|
|
17
|
+
try {
|
|
18
|
+
json = JSONC.parse(fileContents);
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
(0, utils_1.error)(`Failed to parse "${chalk_1.default.green(filePath)}" as JSONC:`, err);
|
|
22
|
+
}
|
|
23
|
+
if (!(0, utils_1.isRecord)(json)) {
|
|
24
|
+
(0, utils_1.error)(`Failed to parse "${chalk_1.default.green(filePath)}", since the contents were not an object.`);
|
|
25
|
+
}
|
|
26
|
+
return json;
|
|
27
|
+
}
|
|
28
|
+
exports.getJSONC = getJSONC;
|
|
29
|
+
//# sourceMappingURL=json.js.map
|
package/src/json.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/json.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,4DAAsC;AACtC,qDAA+B;AAC/B,mCAA0C;AAE1C;;;;GAIG;AACH,SAAgB,QAAQ,CACtB,QAAgB,EAChB,OAAgB;IAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAElD,IAAI,IAAa,CAAC;IAClB,IAAI;QACF,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KAClC;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,aAAK,EAAC,oBAAoB,eAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;KACpE;IAED,IAAI,CAAC,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAE;QACnB,IAAA,aAAK,EACH,oBAAoB,eAAK,CAAC,KAAK,CAC7B,QAAQ,CACT,2CAA2C,CAC7C,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,4BAsBC"}
|
package/src/main.js
CHANGED
|
@@ -41,7 +41,7 @@ async function main() {
|
|
|
41
41
|
printBanner();
|
|
42
42
|
// Check for a new version.
|
|
43
43
|
(0, update_notifier_1.default)({ pkg: package_json_1.default }).notify();
|
|
44
|
-
// Pre-flight checks
|
|
44
|
+
// Pre-flight checks
|
|
45
45
|
await (0, checkForWindowsTerminalBugs_1.checkForWindowsTerminalBugs)(verbose);
|
|
46
46
|
await handleCommands(args);
|
|
47
47
|
}
|
package/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/main.ts"],"names":[],"mappings":";;;;AAEA,0DAA0B;AAC1B,uDAAiC;AACjC,4DAA4B;AAC5B,wDAAwB;AACxB,oFAAkD;AAClD,8EAA6C;AAC7C,2EAAkC;AAClC,+EAA4E;AAC5E,+CAA4C;AAC5C,+CAA4C;AAC5C,wDAAqD;AACrD,wDAAqD;AACrD,iEAA2C;AAC3C,2CAAgD;AAChD,iCAAmC;AACnC,qDAG0B;AAC1B,2CAA8C;AAC9C,qCAAsC;AACtC,6CAA2D;AAC3D,2CAAwC;AACxC,mCAAgC;AAChC,iFAA8E;AAC9E,+DAA4D;AAC5D,6CAA0C;AAE1C,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAA,aAAK,EAAC,GAAG,wBAAY,UAAU,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,4BAAgB,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,mBAAU,GAAE,CAAC;IACb,IAAA,yCAAmB,GAAE,CAAC;IACtB,IAAA,uBAAU,GAAE,CAAC;IACb,wBAAwB,EAAE,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,IAAI,GAAG,IAAA,qBAAS,GAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,WAAW,EAAE,CAAC;IAEd,2BAA2B;IAC3B,IAAA,yBAAc,EAAC,EAAE,GAAG,EAAH,sBAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAEjC,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/main.ts"],"names":[],"mappings":"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"}
|
package/src/tsconfig.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCustomStageOption = exports.getFirstTSConfigIncludePath = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const json_1 = require("./json");
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
const ADVICE = `Try copying the "${constants_1.TSCONFIG_JSON}" from a brand new ${constants_1.PROJECT_NAME} project.`;
|
|
10
|
+
function getTSConfigJSON(verbose) {
|
|
11
|
+
return (0, json_1.getJSONC)(constants_1.TSCONFIG_JSON_PATH, verbose);
|
|
12
|
+
}
|
|
13
|
+
function getIsaacScriptSection(verbose) {
|
|
14
|
+
const tsConfig = getTSConfigJSON(verbose);
|
|
15
|
+
// We allow different kinds of casing for the property name.
|
|
16
|
+
for (const propertyName of ["isaacscript", "isaacScript", "IsaacScript"]) {
|
|
17
|
+
const property = tsConfig[propertyName];
|
|
18
|
+
if (property !== undefined) {
|
|
19
|
+
if (!(0, utils_1.isRecord)(property)) {
|
|
20
|
+
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_JSON_PATH)}" file has a non-object value for the "${propertyName}" property, which is surely a mistake. ${ADVICE}`);
|
|
21
|
+
}
|
|
22
|
+
return property;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
function getFirstTSConfigIncludePath(verbose) {
|
|
28
|
+
const tsConfig = getTSConfigJSON(verbose);
|
|
29
|
+
const { include } = tsConfig;
|
|
30
|
+
if (include === undefined) {
|
|
31
|
+
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_JSON_PATH)}" file does not have an "include" property, which is surely a mistake. ${ADVICE}`);
|
|
32
|
+
}
|
|
33
|
+
if (!Array.isArray(include)) {
|
|
34
|
+
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_JSON_PATH)}" file has an "include" property that is not an array, which is surely a mistake. ${ADVICE}`);
|
|
35
|
+
}
|
|
36
|
+
const firstInclude = include[0];
|
|
37
|
+
if (firstInclude === undefined) {
|
|
38
|
+
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_JSON_PATH)}" file has an empty "include" property, which is surely a mistake. ${ADVICE}`);
|
|
39
|
+
}
|
|
40
|
+
if (typeof firstInclude !== "string") {
|
|
41
|
+
(0, utils_1.error)(`Your "${chalk_1.default.green(constants_1.TSCONFIG_JSON_PATH)}" file has a non-string "include" value, which is surely a mistake. ${ADVICE}`);
|
|
42
|
+
}
|
|
43
|
+
return firstInclude;
|
|
44
|
+
}
|
|
45
|
+
exports.getFirstTSConfigIncludePath = getFirstTSConfigIncludePath;
|
|
46
|
+
function getCustomStageOption(verbose) {
|
|
47
|
+
const isaacScriptSection = getIsaacScriptSection(verbose);
|
|
48
|
+
if (isaacScriptSection === undefined) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
const { customStage } = isaacScriptSection;
|
|
52
|
+
if (typeof customStage !== "boolean") {
|
|
53
|
+
(0, utils_1.error)(`The "customStage" property in the "${constants_1.TSCONFIG_JSON}" file is not a boolean.`);
|
|
54
|
+
}
|
|
55
|
+
return customStage;
|
|
56
|
+
}
|
|
57
|
+
exports.getCustomStageOption = getCustomStageOption;
|
|
58
|
+
//# sourceMappingURL=tsconfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/tsconfig.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,2CAA8E;AAC9E,iCAAkC;AAClC,mCAA0C;AAE1C,MAAM,MAAM,GAAG,oBAAoB,yBAAa,sBAAsB,wBAAY,WAAW,CAAC;AAE9F,SAAS,eAAe,CAAC,OAAgB;IACvC,OAAO,IAAA,eAAQ,EAAC,8BAAkB,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAgB;IAEhB,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1C,4DAA4D;IAC5D,KAAK,MAAM,YAAY,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,IAAA,gBAAQ,EAAC,QAAQ,CAAC,EAAE;gBACvB,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,0CAA0C,YAAY,0CAA0C,MAAM,EAAE,CAC1G,CAAC;aACH;YAED,OAAO,QAAQ,CAAC;SACjB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,2BAA2B,CAAC,OAAgB;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,0EAA0E,MAAM,EAAE,CACpF,CAAC;KACH;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,qFAAqF,MAAM,EAAE,CAC/F,CAAC;KACH;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAwB,CAAC;IACvD,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,sEAAsE,MAAM,EAAE,CAChF,CAAC;KACH;IAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;QACpC,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,uEAAuE,MAAM,EAAE,CACjF,CAAC;KACH;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAtCD,kEAsCC;AAED,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,kBAAkB,KAAK,SAAS,EAAE;QACpC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC;IAC3C,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE;QACpC,IAAA,aAAK,EACH,sCAAsC,yBAAa,0BAA0B,CAC9E,CAAC;KACH;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAdD,oDAcC"}
|
package/src/types/Config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Config = void 0;
|
|
4
|
+
/** The mandatory properties must be explicitly validated in `configFile.ts`. */
|
|
4
5
|
class Config {
|
|
5
6
|
constructor() {
|
|
6
7
|
/** The "mods" directory that lives next to the "isaac-ng.exe" program. */
|
package/src/types/Config.js.map
CHANGED
|
@@ -1 +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"}
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/types/Config.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,MAAa,MAAM;IAAnB;QACE,0EAA0E;QAC1E,kBAAa,GACX,uFAAuF,CAAC;QAE1F,+CAA+C;QAC/C,aAAQ,GAAG,CAAC,CAAC;IAgBf,CAAC;CAAA;AAtBD,wBAsBC"}
|
package/src/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.repeat = exports.parseSemVer = exports.parseIntSafe = exports.isKebabCase = exports.hasWhiteSpace = exports.getTime = exports.getModTargetDirectoryName = exports.getEnumValues = exports.error = void 0;
|
|
3
|
+
exports.repeat = exports.parseSemVer = exports.parseIntSafe = exports.isRecord = exports.isKebabCase = exports.hasWhiteSpace = exports.getTime = exports.getModTargetDirectoryName = exports.getEnumValues = exports.error = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const moment_1 = tslib_1.__importDefault(require("moment"));
|
|
6
6
|
const constants_1 = require("./constants");
|
|
@@ -46,6 +46,10 @@ function isKebabCase(s) {
|
|
|
46
46
|
return KEBAB_CASE_REGEX.test(s);
|
|
47
47
|
}
|
|
48
48
|
exports.isKebabCase = isKebabCase;
|
|
49
|
+
function isRecord(object) {
|
|
50
|
+
return (typeof object === "object" && object !== null && !Array.isArray(object));
|
|
51
|
+
}
|
|
52
|
+
exports.isRecord = isRecord;
|
|
49
53
|
/**
|
|
50
54
|
* `parseIntSafe` is a more reliable version of `parseInt`. By default, `parseInt('1a')` will return
|
|
51
55
|
* "1", which is unexpected. This returns either an integer or NaN.
|
package/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/utils.ts"],"names":[],"mappings":"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"}
|