isaacscript 3.5.0 → 3.5.1-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/file-templates/dynamic/.github/workflows/ci.yml +1 -3
- package/file-templates/dynamic/gitignore +2 -4
- package/file-templates/dynamic/package.json +1 -0
- package/file-templates/static/check-orphaned-words.sh +30 -1
- package/file-templates/static/lint.sh +13 -13
- package/file-templates/static/nuke.sh +1 -1
- package/package.json +3 -4
- package/src/checkForWindowsTerminalBugs.js +10 -10
- package/src/checkForWindowsTerminalBugs.js.map +1 -1
- package/src/classes/Config.js +21 -11
- package/src/classes/Config.js.map +1 -1
- package/src/commands/check/check.js +179 -0
- package/src/commands/check/check.js.map +1 -0
- package/src/commands/copy/copy.js +16 -15
- package/src/commands/copy/copy.js.map +1 -1
- package/src/commands/init/checkIfProjectPathExists.js +5 -5
- package/src/commands/init/checkIfProjectPathExists.js.map +1 -1
- package/src/commands/init/checkModSubdirectory.js +3 -3
- package/src/commands/init/checkModSubdirectory.js.map +1 -1
- package/src/commands/init/checkModTargetDirectory.js +7 -7
- package/src/commands/init/checkModTargetDirectory.js.map +1 -1
- package/src/commands/init/createProject.js +178 -0
- package/src/commands/init/createProject.js.map +1 -0
- package/src/commands/init/getAuthorName.js +28 -0
- package/src/commands/init/getAuthorName.js.map +1 -0
- package/src/commands/init/getModsDir.js +8 -8
- package/src/commands/init/getModsDir.js.map +1 -1
- package/src/commands/init/getProjectPath.js +12 -12
- package/src/commands/init/getProjectPath.js.map +1 -1
- package/src/commands/init/init.js +33 -30
- package/src/commands/init/init.js.map +1 -1
- package/src/commands/init/installVSCodeExtensions.js +7 -7
- package/src/commands/init/installVSCodeExtensions.js.map +1 -1
- package/src/commands/init/promptSaveSlot.js +2 -2
- package/src/commands/init/promptSaveSlot.js.map +1 -1
- package/src/commands/init/promptVSCode.js +7 -7
- package/src/commands/init/promptVSCode.js.map +1 -1
- package/src/commands/monitor/copyWatcherMod.js +7 -7
- package/src/commands/monitor/copyWatcherMod.js.map +1 -1
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +2 -2
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +1 -1
- package/src/commands/monitor/monitor.js +56 -55
- package/src/commands/monitor/monitor.js.map +1 -1
- package/src/commands/monitor/notifyGame.js +9 -9
- package/src/commands/monitor/notifyGame.js.map +1 -1
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js +6 -7
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
- package/src/commands/monitor/spawnSaveDatWriter.js +8 -8
- package/src/commands/monitor/spawnSaveDatWriter.js.map +1 -1
- package/src/commands/monitor/touchWatcherSaveDatFiles.js +6 -6
- package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
- package/src/commands/publish/publish.js +55 -57
- package/src/commands/publish/publish.js.map +1 -1
- package/src/common.js +4 -4
- package/src/common.js.map +1 -1
- package/src/configFile.js +15 -15
- package/src/configFile.js.map +1 -1
- package/src/constants.js +33 -33
- package/src/constants.js.map +1 -1
- package/src/customStage.js +25 -25
- package/src/customStage.js.map +1 -1
- package/src/dev.js +4 -4
- package/src/dev.js.map +1 -1
- package/src/enums/DoorSlotFlag.js +9 -9
- package/src/enums/DoorSlotFlag.js.map +1 -1
- package/src/exec.js +28 -11
- package/src/exec.js.map +1 -1
- package/src/file.js +17 -17
- package/src/file.js.map +1 -1
- package/src/{commands/init/git.js → git.js} +38 -35
- package/src/git.js.map +1 -0
- package/src/index.js +2 -2
- package/src/index.js.map +1 -1
- package/src/json.js +1 -1
- package/src/json.js.map +1 -1
- package/src/main.js +63 -60
- package/src/main.js.map +1 -1
- package/src/objects/doorSlotToDoorSlotFlag.js +11 -11
- package/src/objects/doorSlotToDoorSlotFlag.js.map +1 -1
- package/src/objects/roomShapeDoorToSlotCoordinates.js +78 -78
- package/src/objects/roomShapeDoorToSlotCoordinates.js.map +1 -1
- package/src/packageManager.js +46 -32
- package/src/packageManager.js.map +1 -1
- package/src/parseArgs.js +23 -13
- package/src/parseArgs.js.map +1 -1
- package/src/plugins/addCrashDebugStatements.js +1 -1
- package/src/plugins/addCrashDebugStatements.js.map +1 -1
- package/src/plugins/addIsaacScriptCommentHeaderCommon.js +2 -2
- package/src/plugins/addIsaacScriptCommentHeaderCommon.js.map +1 -1
- package/src/tsconfig.js +10 -10
- package/src/tsconfig.js.map +1 -1
- package/src/utils.js +2 -2
- package/src/utils.js.map +1 -1
- package/src/validateInIsaacScriptProject.js +9 -9
- package/src/validateInIsaacScriptProject.js.map +1 -1
- package/src/validateNodeVersion.js +4 -4
- package/src/validateNodeVersion.js.map +1 -1
- package/src/validateOS.js +8 -4
- package/src/validateOS.js.map +1 -1
- package/src/version.js +20 -0
- package/src/version.js.map +1 -0
- package/file-templates/static-alt/check-file-updates.sh +0 -69
- package/src/commands/init/createMod.js +0 -170
- package/src/commands/init/createMod.js.map +0 -1
- package/src/commands/init/git.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyWatcherMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/copyWatcherMod.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"copyWatcherMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/copyWatcherMod.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAK4B;AAC5B,4DAAsC;AAEtC,SAAgB,cAAc,CAAC,MAAc,EAAE,OAAgB;IAC7D,yCAAyC;IACzC,MAAM,cAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,+BAAgB,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,8BAAe,CAAC,CAAC;IACjE,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAE/D,4FAA4F;IAC5F,6BAA6B;IAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;QACxC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KACrD;IAED,IAAI,CAAC,IAAI,CAAC,sCAAuB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAE5D,IAAI,kBAAkB,EAAE;QACtB,iFAAiF;QACjF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;KACxC;IAED,8FAA8F;IAC9F,8DAA8D;IAC9D,IAAI,MAAM,CAAC,mCAAmC,KAAK,KAAK,EAAE;QACxD,yCAAyC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KACpE;IAED,gGAAgG;IAChG,+FAA+F;IAC/F,+DAA+D;AACjE,CAAC;AA5BD,wCA4BC;AAED,SAAS,yCAAyC,CAChD,cAAsB,EACtB,OAAgB;IAEhB,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,uBAAQ,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CACrC,4CAA4C,EAC5C,6CAA6C,CAC9C,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const sync_directory_1 = tslib_1.__importDefault(require("sync-directory"));
|
|
5
|
-
const
|
|
5
|
+
const constants_js_1 = require("../../../constants.js");
|
|
6
6
|
const SUBPROCESS_NAME = "directory syncer";
|
|
7
7
|
let modSourcePath;
|
|
8
8
|
let modTargetPath;
|
|
@@ -36,7 +36,7 @@ function afterEachSync(params) {
|
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
if (params.eventType !== "init:copy") {
|
|
39
|
-
send(`${
|
|
39
|
+
send(`${constants_js_1.FILE_SYNCED_MESSAGE} ${params.relativePath}`);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
function onError(err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modDirectorySyncer.js","sourceRoot":"","sources":["../../../../../../../packages/isaacscript-cli/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.ts"],"names":[],"mappings":";;;AAAA,4EAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"modDirectorySyncer.js","sourceRoot":"","sources":["../../../../../../../packages/isaacscript-cli/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.ts"],"names":[],"mappings":";;;AAAA,4EAA2C;AAC3C,wDAA4D;AAE5D,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,IAAI,aAAqB,CAAC;AAC1B,IAAI,aAAqB,CAAC;AAE1B,IAAI,EAAE,CAAC;AAEP,SAAS,IAAI;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1B,MAAM,IAAI,KAAK,CACb,OAAO,eAAe,8CAA8C,CACrE,CAAC;KACH;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,OAAO,eAAe,qDAAqD,CAC5E,CAAC;KACH;IAED,aAAa,GAAG,QAAQ,CAAC;IACzB,aAAa,GAAG,SAAS,CAAC;IAE1B,IAAA,wBAAa,EAAC,aAAa,EAAE,aAAa,EAAE;QAC1C,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,MAAM;QACZ,aAAa;QACb,OAAO;QACP,oBAAoB,EAAE;YACpB,gBAAgB,EAAE;gBAChB,kBAAkB,EAAE,IAAI;aACzB;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,MAMtB;IACC,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO;KACR;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE;QACpC,IAAI,CAAC,GAAG,kCAAmB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;KACvD;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAU;IACzB,IAAI,CAAC,8CAA8C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;QAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnB;AACH,CAAC"}
|
|
@@ -3,25 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.monitor = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const child_process_1 = require("child_process");
|
|
7
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
8
|
-
const
|
|
7
|
+
const node_child_process_1 = require("node:child_process");
|
|
8
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
9
9
|
const touch = tslib_1.__importStar(require("touch"));
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const file = tslib_1.__importStar(require("../../file"));
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const notifyGame = tslib_1.__importStar(require("./notifyGame"));
|
|
23
|
-
const
|
|
24
|
-
const
|
|
10
|
+
const constants_js_1 = require("../../constants.js");
|
|
11
|
+
const customStage_js_1 = require("../../customStage.js");
|
|
12
|
+
const dev_js_1 = require("../../dev.js");
|
|
13
|
+
const PackageManager_js_1 = require("../../enums/PackageManager.js");
|
|
14
|
+
const exec_js_1 = require("../../exec.js");
|
|
15
|
+
const file = tslib_1.__importStar(require("../../file.js"));
|
|
16
|
+
const json_js_1 = require("../../json.js");
|
|
17
|
+
const packageManager_js_1 = require("../../packageManager.js");
|
|
18
|
+
const tsconfig_js_1 = require("../../tsconfig.js");
|
|
19
|
+
const utils_js_1 = require("../../utils.js");
|
|
20
|
+
const constants_js_2 = require("./constants.js");
|
|
21
|
+
const copyWatcherMod_js_1 = require("./copyWatcherMod.js");
|
|
22
|
+
const notifyGame = tslib_1.__importStar(require("./notifyGame.js"));
|
|
23
|
+
const spawnSaveDatWriter_js_1 = require("./spawnSaveDatWriter.js");
|
|
24
|
+
const touchWatcherSaveDatFiles_js_1 = require("./touchWatcherSaveDatFiles.js");
|
|
25
25
|
const REQUIRED_PACKAGE_JSON_DEPENDENCIES = [
|
|
26
26
|
"isaac-typescript-definitions",
|
|
27
27
|
"isaacscript",
|
|
@@ -35,7 +35,7 @@ let compilationStartTime = new Date();
|
|
|
35
35
|
async function monitor(args, config) {
|
|
36
36
|
const verbose = args.verbose === true;
|
|
37
37
|
const skipProjectChecks = args.skipProjectChecks === true;
|
|
38
|
-
const packageManager = (0,
|
|
38
|
+
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
39
39
|
// If they specified some command-line flags, override the values found in the config file.
|
|
40
40
|
if (args.modsDirectory !== undefined) {
|
|
41
41
|
config.modsDirectory = args.modsDirectory; // eslint-disable-line no-param-reassign
|
|
@@ -51,15 +51,15 @@ async function monitor(args, config) {
|
|
|
51
51
|
validatePackageJSONDependencies(args, verbose);
|
|
52
52
|
}
|
|
53
53
|
// Read the "tsconfig.json" file.
|
|
54
|
-
const tsConfigInclude = (0,
|
|
55
|
-
const resolvedIncludePath =
|
|
56
|
-
const modTargetDirectoryName = (0,
|
|
57
|
-
const modTargetPath =
|
|
54
|
+
const tsConfigInclude = (0, tsconfig_js_1.getFirstTSConfigIncludePath)(verbose);
|
|
55
|
+
const resolvedIncludePath = node_path_1.default.resolve(constants_js_1.CWD, tsConfigInclude);
|
|
56
|
+
const modTargetDirectoryName = (0, utils_js_1.getModTargetDirectoryName)(config);
|
|
57
|
+
const modTargetPath = node_path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
58
58
|
// Prepare the IsaacScript watcher mod.
|
|
59
|
-
(0,
|
|
60
|
-
(0,
|
|
59
|
+
(0, copyWatcherMod_js_1.copyWatcherMod)(config, verbose);
|
|
60
|
+
(0, touchWatcherSaveDatFiles_js_1.touchWatcherSaveDatFiles)(config, verbose);
|
|
61
61
|
// Prepare the custom stages feature, if necessary.
|
|
62
|
-
await (0,
|
|
62
|
+
await (0, customStage_js_1.prepareCustomStages)(packageManager, verbose);
|
|
63
63
|
// Delete and re-copy the mod every time IsaacScript starts. This ensures that it is always the
|
|
64
64
|
// latest version.
|
|
65
65
|
if (file.exists(modTargetPath, verbose)) {
|
|
@@ -67,27 +67,27 @@ async function monitor(args, config) {
|
|
|
67
67
|
}
|
|
68
68
|
// Perform the steps to link to a development version of "isaacscript-common", if necessary.
|
|
69
69
|
if (config.isaacScriptCommonDev) {
|
|
70
|
-
linkDevelopmentIsaacScriptCommon(
|
|
70
|
+
linkDevelopmentIsaacScriptCommon(constants_js_1.CWD, packageManager, verbose);
|
|
71
71
|
}
|
|
72
72
|
else {
|
|
73
|
-
warnIfIsaacScriptCommonLinkExists(
|
|
73
|
+
warnIfIsaacScriptCommonLinkExists(constants_js_1.CWD, packageManager, verbose);
|
|
74
74
|
}
|
|
75
75
|
// Subprocess #1 - The "save#.dat" file writer.
|
|
76
|
-
(0,
|
|
76
|
+
(0, spawnSaveDatWriter_js_1.spawnSaveDatWriter)(config);
|
|
77
77
|
// Subprocess #2 - The mod directory syncer.
|
|
78
78
|
spawnModDirectorySyncer(config);
|
|
79
79
|
// Subprocess #3 - `tstl --watch` (to automatically convert TypeScript to Lua).
|
|
80
|
-
spawnTSTLWatcher(config,
|
|
80
|
+
spawnTSTLWatcher(config, constants_js_1.CWD, packageManager, verbose);
|
|
81
81
|
// Subprocess #4 - `tstl --watch` (for the development version of `isaacscript-common`).
|
|
82
82
|
if (config.isaacScriptCommonDev) {
|
|
83
|
-
const isaacScriptMonorepoDirectory = (0,
|
|
84
|
-
const isaacScriptCommonDirectory =
|
|
83
|
+
const isaacScriptMonorepoDirectory = (0, dev_js_1.getAndValidateIsaacScriptMonorepoDirectory)(constants_js_1.CWD, verbose);
|
|
84
|
+
const isaacScriptCommonDirectory = node_path_1.default.join(isaacScriptMonorepoDirectory, "packages", "isaacscript-common");
|
|
85
85
|
if (!file.exists(isaacScriptCommonDirectory, verbose) ||
|
|
86
86
|
!file.isDir(isaacScriptCommonDirectory, verbose)) {
|
|
87
87
|
console.error(`The "isaacscript-common" directory does not exist at: ${isaacScriptCommonDirectory}`);
|
|
88
88
|
(0, isaacscript_common_ts_1.error)('Please make sure that the IsaacScript repository is placed next to this one. If you do not want to test a local version of "isaacscript-common", then set the "isaacScriptCommonDev" field to false in your "isaacscript.json" file.');
|
|
89
89
|
}
|
|
90
|
-
spawnTSTLWatcher(config, isaacScriptCommonDirectory, verbose,
|
|
90
|
+
spawnTSTLWatcher(config, isaacScriptCommonDirectory, packageManager, verbose, constants_js_1.CWD);
|
|
91
91
|
}
|
|
92
92
|
// Also, start constantly pinging the watcher mod.
|
|
93
93
|
setInterval(() => {
|
|
@@ -95,7 +95,7 @@ async function monitor(args, config) {
|
|
|
95
95
|
}, 1000); // Every second
|
|
96
96
|
console.log("Automatically monitoring the following for changes:");
|
|
97
97
|
console.log(`1) your TypeScript code: ${chalk_1.default.green(resolvedIncludePath)}`);
|
|
98
|
-
console.log(`2) the source mod directory: ${chalk_1.default.green(
|
|
98
|
+
console.log(`2) the source mod directory: ${chalk_1.default.green(constants_js_1.MOD_SOURCE_PATH)}`);
|
|
99
99
|
console.log("");
|
|
100
100
|
console.log(`Copying files to: ${chalk_1.default.green(modTargetPath)}`);
|
|
101
101
|
console.log("");
|
|
@@ -103,38 +103,38 @@ async function monitor(args, config) {
|
|
|
103
103
|
}
|
|
104
104
|
exports.monitor = monitor;
|
|
105
105
|
function validatePackageJSONDependencies(args, verbose) {
|
|
106
|
-
const packageJSON = (0,
|
|
106
|
+
const packageJSON = (0, json_js_1.getJSONC)(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
107
107
|
const { dependencies } = packageJSON;
|
|
108
108
|
if (!(0, isaacscript_common_ts_1.isRecord)(dependencies)) {
|
|
109
|
-
(0, isaacscript_common_ts_1.error)(`Failed to parse the dependencies of: ${chalk_1.default.green(
|
|
109
|
+
(0, isaacscript_common_ts_1.error)(`Failed to parse the dependencies of: ${chalk_1.default.green(constants_js_1.PACKAGE_JSON_PATH)}`);
|
|
110
110
|
}
|
|
111
111
|
const dependenciesArray = Object.keys(dependencies);
|
|
112
112
|
for (const dependency of REQUIRED_PACKAGE_JSON_DEPENDENCIES) {
|
|
113
113
|
if (!dependenciesArray.includes(dependency)) {
|
|
114
|
-
const packageManager = (0,
|
|
115
|
-
const addCommand = (0,
|
|
114
|
+
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
115
|
+
const addCommand = (0, packageManager_js_1.getPackageManagerAddCommand)(packageManager, dependency);
|
|
116
116
|
(0, isaacscript_common_ts_1.error)(`${chalk_1.default.red(`IsaacScript projects require a dependency of "${dependency}" in the "package.json" file. You can add it with the following command:`)} ${chalk_1.default.green(addCommand)}`);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
function linkDevelopmentIsaacScriptCommon(projectPath, packageManager, verbose) {
|
|
121
|
-
if (packageManager !==
|
|
121
|
+
if (packageManager !== packageManager_js_1.PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT) {
|
|
122
122
|
(0, isaacscript_common_ts_1.error)(`If you want to use this mod to develop/test "isaacscript-common", then the mod must be set up using the Yarn package manager instead of: ${packageManager}`);
|
|
123
123
|
}
|
|
124
|
-
const isaacScriptMonorepoDirectory = (0,
|
|
124
|
+
const isaacScriptMonorepoDirectory = (0, dev_js_1.getAndValidateIsaacScriptMonorepoDirectory)(projectPath, verbose);
|
|
125
125
|
console.log('Building "isaacscript-common" and setting up the link...');
|
|
126
|
-
const linkScript =
|
|
127
|
-
(0,
|
|
126
|
+
const linkScript = node_path_1.default.join(isaacScriptMonorepoDirectory, "link-isaacscript-common.sh");
|
|
127
|
+
(0, exec_js_1.execShell)("bash", [linkScript], verbose);
|
|
128
128
|
console.log('Linking this repository to the development version of "isaacscript-common"...');
|
|
129
|
-
(0,
|
|
129
|
+
(0, exec_js_1.execShell)(packageManager_js_1.PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT, ["link", "isaacscript-common"], verbose, false, projectPath);
|
|
130
130
|
}
|
|
131
131
|
function warnIfIsaacScriptCommonLinkExists(projectPath, packageManager, verbose) {
|
|
132
|
-
const isaacScriptCommonPath =
|
|
132
|
+
const isaacScriptCommonPath = node_path_1.default.join(projectPath, "node_modules", "isaacscript-common");
|
|
133
133
|
if (!file.exists(isaacScriptCommonPath, verbose)) {
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
136
136
|
if (file.isLink(isaacScriptCommonPath, verbose) &&
|
|
137
|
-
packageManager !==
|
|
137
|
+
packageManager !== PackageManager_js_1.PackageManager.PNPM // pnpm uses links, so it will cause a false positive.
|
|
138
138
|
) {
|
|
139
139
|
(0, isaacscript_common_ts_1.error)('Your "node_modules/isaacscript-common" directory is linked, but you do not have "isaacScriptCommonDev" set to true in your "isaacscript.json" file. You must either set it to true or remove the link.');
|
|
140
140
|
}
|
|
@@ -142,15 +142,15 @@ function warnIfIsaacScriptCommonLinkExists(projectPath, packageManager, verbose)
|
|
|
142
142
|
function spawnModDirectorySyncer(config) {
|
|
143
143
|
const processName = "modDirectorySyncer";
|
|
144
144
|
const processDescription = "Directory syncer";
|
|
145
|
-
const processPath =
|
|
146
|
-
const modTargetName = (0,
|
|
147
|
-
const modTargetPath =
|
|
148
|
-
const directorySyncer = (0,
|
|
145
|
+
const processPath = node_path_1.default.join(__dirname, processName, processName);
|
|
146
|
+
const modTargetName = (0, utils_js_1.getModTargetDirectoryName)(config);
|
|
147
|
+
const modTargetPath = node_path_1.default.join(config.modsDirectory, modTargetName);
|
|
148
|
+
const directorySyncer = (0, node_child_process_1.fork)(processPath, [constants_js_1.MOD_SOURCE_PATH, modTargetPath]);
|
|
149
149
|
directorySyncer.on("message", (msg) => {
|
|
150
150
|
notifyGame.msg(msg);
|
|
151
151
|
// If the "main.lua" file was successfully copied over, we also have to tell isaacscript-watcher
|
|
152
152
|
// to reload the mod. Look for something like: "File synced: \main.lua"
|
|
153
|
-
if (msg === `${
|
|
153
|
+
if (msg === `${constants_js_1.FILE_SYNCED_MESSAGE} ${node_path_1.default.sep}${constants_js_1.MAIN_LUA}`) {
|
|
154
154
|
notifyGame.command(`luamod ${modTargetName}`);
|
|
155
155
|
notifyGame.command("restart");
|
|
156
156
|
notifyGame.msg("Reloaded the mod.");
|
|
@@ -163,9 +163,10 @@ function spawnModDirectorySyncer(config) {
|
|
|
163
163
|
(0, isaacscript_common_ts_1.error)(`Error: ${processDescription} subprocess exited with code: ${code}`);
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
|
-
function spawnTSTLWatcher(config, cwd, verbose, modCWD) {
|
|
166
|
+
function spawnTSTLWatcher(config, cwd, packageManager, verbose, modCWD) {
|
|
167
167
|
const processDescription = "tstl";
|
|
168
|
-
const
|
|
168
|
+
const packageManagerNPXCommand = (0, packageManager_js_1.getPackageManagerNPXCommand)(packageManager);
|
|
169
|
+
const tstl = (0, node_child_process_1.spawn)(packageManagerNPXCommand, ["tstl", "--watch", "--preserveWatchOutput"], {
|
|
169
170
|
shell: true,
|
|
170
171
|
cwd,
|
|
171
172
|
});
|
|
@@ -173,7 +174,7 @@ function spawnTSTLWatcher(config, cwd, verbose, modCWD) {
|
|
|
173
174
|
const msg = data.toString().trim();
|
|
174
175
|
const suffix = getMonitorMessageSuffix(config, cwd);
|
|
175
176
|
if (msg.includes("Starting compilation in watch mode...")) {
|
|
176
|
-
const newMsg1 = `${
|
|
177
|
+
const newMsg1 = `${constants_js_1.PROJECT_NAME} is now watching for future changes${suffix}.`;
|
|
177
178
|
notifyGame.msg(newMsg1);
|
|
178
179
|
const target = suffix.includes("isaacscript-common")
|
|
179
180
|
? '"isaacscript-common"'
|
|
@@ -190,13 +191,13 @@ function spawnTSTLWatcher(config, cwd, verbose, modCWD) {
|
|
|
190
191
|
const compilationFinishTime = new Date();
|
|
191
192
|
const elapsedTimeMilliseconds = compilationFinishTime.getTime() - compilationStartTime.getTime();
|
|
192
193
|
const elapsedTimeSeconds = elapsedTimeMilliseconds / 1000;
|
|
193
|
-
const newMsg = `${
|
|
194
|
+
const newMsg = `${constants_js_2.COMPILATION_SUCCESSFUL} (in ${elapsedTimeSeconds} seconds)${suffix}`;
|
|
194
195
|
notifyGame.msg(newMsg);
|
|
195
196
|
// Sometimes, there is a bug where successful compilation of "isaacscript-common" will not
|
|
196
197
|
// trigger a recompilation in the mod. Work around this by always touching the "main.ts" file
|
|
197
198
|
// from the mod.
|
|
198
199
|
if (modCWD !== undefined) {
|
|
199
|
-
const mainTSPath =
|
|
200
|
+
const mainTSPath = node_path_1.default.join(modCWD, "src", "main.ts");
|
|
200
201
|
if (file.exists(mainTSPath, verbose)) {
|
|
201
202
|
touch.sync(mainTSPath);
|
|
202
203
|
}
|
|
@@ -225,7 +226,7 @@ function getMonitorMessageSuffix(config, cwd) {
|
|
|
225
226
|
if (!config.isaacScriptCommonDev) {
|
|
226
227
|
return "";
|
|
227
228
|
}
|
|
228
|
-
const baseName =
|
|
229
|
+
const baseName = node_path_1.default.basename(cwd);
|
|
229
230
|
return baseName === "isaacscript-common"
|
|
230
231
|
? ' (in "isaacscript-common")'
|
|
231
232
|
: " (in this mod)";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ping = exports.command = exports.msg = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const utils_js_1 = require("../../utils.js");
|
|
7
|
+
const constants_js_1 = require("./constants.js");
|
|
8
|
+
const spawnSaveDatWriter_js_1 = require("./spawnSaveDatWriter.js");
|
|
9
9
|
function msg(data) {
|
|
10
10
|
const formattedData = data
|
|
11
|
-
.
|
|
11
|
+
.replaceAll("/\r\n", "\n") // Replace Windows newlines with Unix newlines
|
|
12
12
|
.trim(); // Trim whitespace
|
|
13
13
|
for (const line of formattedData.split("\n")) {
|
|
14
14
|
const trimmedLine = line.trim();
|
|
@@ -20,8 +20,8 @@ function msg(data) {
|
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
// Add a time prefix.
|
|
23
|
-
const formattedLine = `[${(0,
|
|
24
|
-
(0,
|
|
23
|
+
const formattedLine = `[${(0, utils_js_1.getTime)()}] ${trimmedLine}`;
|
|
24
|
+
(0, spawnSaveDatWriter_js_1.sendMsgToSaveDatWriter)({
|
|
25
25
|
type: "msg",
|
|
26
26
|
data: formattedLine,
|
|
27
27
|
});
|
|
@@ -33,7 +33,7 @@ function msg(data) {
|
|
|
33
33
|
exports.msg = msg;
|
|
34
34
|
function printMsgToStandardOut(data) {
|
|
35
35
|
let coloredData = data;
|
|
36
|
-
if (data.includes(
|
|
36
|
+
if (data.includes(constants_js_1.COMPILATION_SUCCESSFUL)) {
|
|
37
37
|
coloredData = chalk_1.default.green(data);
|
|
38
38
|
}
|
|
39
39
|
else if (data.match(/error/g) !== null) {
|
|
@@ -42,14 +42,14 @@ function printMsgToStandardOut(data) {
|
|
|
42
42
|
console.log(coloredData);
|
|
43
43
|
}
|
|
44
44
|
function command(data) {
|
|
45
|
-
(0,
|
|
45
|
+
(0, spawnSaveDatWriter_js_1.sendMsgToSaveDatWriter)({
|
|
46
46
|
type: "command",
|
|
47
47
|
data,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
exports.command = command;
|
|
51
51
|
function ping() {
|
|
52
|
-
(0,
|
|
52
|
+
(0, spawnSaveDatWriter_js_1.sendMsgToSaveDatWriter)({
|
|
53
53
|
type: "ping",
|
|
54
54
|
data: "",
|
|
55
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifyGame.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/notifyGame.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"notifyGame.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/notifyGame.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,6CAAyC;AACzC,iDAAwD;AACxD,mEAAiE;AAEjE,SAAgB,GAAG,CAAC,IAAY;IAC9B,MAAM,aAAa,GAAG,IAAI;SACvB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,8CAA8C;SACxE,IAAI,EAAE,CAAC,CAAC,kBAAkB;IAE7B,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,WAAW,KAAK,EAAE,EAAE;YACtB,SAAS;SACV;QAED,+DAA+D;QAC/D,IAAI,WAAW,KAAK,4BAA4B,EAAE;YAChD,OAAO;SACR;QAED,qBAAqB;QACrB,MAAM,aAAa,GAAG,IAAI,IAAA,kBAAO,GAAE,KAAK,WAAW,EAAE,CAAC;QAEtD,IAAA,8CAAsB,EAAC;YACrB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;QAEH,4FAA4F;QAC5F,0FAA0F;QAC1F,qBAAqB,CAAC,aAAa,CAAC,CAAC;KACtC;AACH,CAAC;AA5BD,kBA4BC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,IAAI,IAAI,CAAC,QAAQ,CAAC,qCAAsB,CAAC,EAAE;QACzC,WAAW,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACjC;SAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxC,WAAW,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY;IAClC,IAAA,8CAAsB,EAAC;QACrB,IAAI,EAAE,SAAS;QACf,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AALD,0BAKC;AAED,SAAgB,IAAI;IAClB,IAAA,8CAAsB,EAAC;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;AACL,CAAC;AALD,oBAKC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const JSONC = tslib_1.__importStar(require("jsonc-parser"));
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const file = tslib_1.__importStar(require("../../../file"));
|
|
5
|
+
const path = tslib_1.__importStar(require("node:path"));
|
|
6
|
+
const constants_js_1 = require("../../../constants.js");
|
|
7
|
+
const file = tslib_1.__importStar(require("../../../file.js"));
|
|
8
8
|
const SUBPROCESS_NAME = "save#.dat writer";
|
|
9
9
|
const MAX_MESSAGES = 100;
|
|
10
10
|
const VERBOSE = false;
|
|
@@ -18,9 +18,9 @@ function init(verbose) {
|
|
|
18
18
|
throw new Error(`The ${SUBPROCESS_NAME} process did not get a valid first argument.`);
|
|
19
19
|
}
|
|
20
20
|
saveDatPath = firstArg;
|
|
21
|
-
saveDatFileName =
|
|
21
|
+
saveDatFileName = path.basename(saveDatPath);
|
|
22
22
|
// Check to see if the data directory exists.
|
|
23
|
-
const watcherModDataPath =
|
|
23
|
+
const watcherModDataPath = path.dirname(saveDatPath);
|
|
24
24
|
if (!file.exists(watcherModDataPath, verbose)) {
|
|
25
25
|
file.makeDir(watcherModDataPath, verbose);
|
|
26
26
|
}
|
|
@@ -93,8 +93,7 @@ function writeSaveDatToDisk(type, data, saveDat, numRetries, verbose) {
|
|
|
93
93
|
}
|
|
94
94
|
catch (err) {
|
|
95
95
|
if (numRetries > 4) {
|
|
96
|
-
send(`Failed to write to the ${saveDatFileName} for 5 times in a row. Maybe the file got locked somehow. ${
|
|
97
|
-
send(`The writing error is as follows: ${err}`);
|
|
96
|
+
send(`Failed to write to the ${saveDatFileName} for 5 times in a row. Maybe the file got locked somehow. ${constants_js_1.PROJECT_NAME} will now exit.\nThe writing error is as follows: ${err}`);
|
|
98
97
|
process.exit(1);
|
|
99
98
|
}
|
|
100
99
|
send(`Writing to "${saveDatFileName}" failed. (The number of retries so far is ${numRetries}.) Trying again in 0.1 seconds...`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveDatWriter.js","sourceRoot":"","sources":["../../../../../../../packages/isaacscript-cli/src/commands/monitor/saveDatWriter/saveDatWriter.ts"],"names":[],"mappings":";;;AAAA,4DAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"saveDatWriter.js","sourceRoot":"","sources":["../../../../../../../packages/isaacscript-cli/src/commands/monitor/saveDatWriter/saveDatWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.sendMsgToSaveDatWriter = exports.spawnSaveDatWriter = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
5
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const node_child_process_1 = require("node:child_process");
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const constants_js_1 = require("../../constants.js");
|
|
9
9
|
let saveDatWriter;
|
|
10
10
|
function spawnSaveDatWriter(config) {
|
|
11
11
|
const processName = "saveDatWriter";
|
|
12
12
|
const processDescription = "save#.dat writer";
|
|
13
|
-
const processPath =
|
|
14
|
-
const modsDataPath =
|
|
15
|
-
const watcherModDataPath =
|
|
13
|
+
const processPath = node_path_1.default.join(__dirname, processName, processName);
|
|
14
|
+
const modsDataPath = node_path_1.default.join(config.modsDirectory, "..", "data");
|
|
15
|
+
const watcherModDataPath = node_path_1.default.join(modsDataPath, constants_js_1.WATCHER_MOD_NAME);
|
|
16
16
|
const saveDatFileName = `save${config.saveSlot}.dat`;
|
|
17
|
-
const saveDatPath =
|
|
18
|
-
saveDatWriter = (0,
|
|
17
|
+
const saveDatPath = node_path_1.default.join(watcherModDataPath, saveDatFileName);
|
|
18
|
+
saveDatWriter = (0, node_child_process_1.fork)(processPath, [saveDatPath], {
|
|
19
19
|
stdio: ["pipe", "pipe", "pipe", "ipc"],
|
|
20
20
|
});
|
|
21
21
|
saveDatWriter.on("close", (code) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawnSaveDatWriter.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/spawnSaveDatWriter.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"spawnSaveDatWriter.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/spawnSaveDatWriter.ts"],"names":[],"mappings":";;;;AAAA,iEAA8C;AAC9C,2DAAwD;AACxD,kEAA6B;AAE7B,qDAAsD;AAGtD,IAAI,aAAuC,CAAC;AAE5C,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,MAAM,WAAW,GAAG,eAAe,CAAC;IACpC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;IAC9C,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,+BAAgB,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,QAAQ,MAAM,CAAC;IACrD,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAEnE,aAAa,GAAG,IAAA,yBAAI,EAAC,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE;QAC/C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;KACvC,CAAC,CAAC;IAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;QAChD,IAAA,6BAAK,EAAC,UAAU,kBAAkB,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE;QAC/C,IAAA,6BAAK,EAAC,UAAU,kBAAkB,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AApBD,gDAoBC;AAED,SAAgB,sBAAsB,CAAC,GAAmB;IACxD,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;AACH,CAAC;AAJD,wDAIC"}
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.touchWatcherSaveDatFiles = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const file = tslib_1.__importStar(require("../../file"));
|
|
5
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
|
+
const constants_js_1 = require("../../constants.js");
|
|
7
|
+
const file = tslib_1.__importStar(require("../../file.js"));
|
|
8
8
|
function touchWatcherSaveDatFiles(config, verbose) {
|
|
9
|
-
const modsDataPath =
|
|
10
|
-
const watcherModDataPath =
|
|
9
|
+
const modsDataPath = node_path_1.default.join(config.modsDirectory, "..", "data");
|
|
10
|
+
const watcherModDataPath = node_path_1.default.join(modsDataPath, constants_js_1.WATCHER_MOD_NAME);
|
|
11
11
|
if (!file.exists(watcherModDataPath, verbose)) {
|
|
12
12
|
file.makeDir(watcherModDataPath, verbose);
|
|
13
13
|
}
|
|
14
14
|
const saveDatFileName = `save${config.saveSlot}.dat`;
|
|
15
|
-
const saveDatPath =
|
|
15
|
+
const saveDatPath = node_path_1.default.join(watcherModDataPath, saveDatFileName);
|
|
16
16
|
if (!file.exists(saveDatPath, verbose)) {
|
|
17
17
|
file.touch(saveDatPath, verbose);
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"touchWatcherSaveDatFiles.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/touchWatcherSaveDatFiles.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"touchWatcherSaveDatFiles.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/touchWatcherSaveDatFiles.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAAsD;AACtD,4DAAsC;AAEtC,SAAgB,wBAAwB,CACtC,MAAc,EACd,OAAgB;IAEhB,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,+BAAgB,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAC7C,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;KAC3C;IACD,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,QAAQ,MAAM,CAAC;IACrD,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KAClC;AACH,CAAC;AAdD,4DAcC"}
|