isaacscript 3.6.4 → 3.6.6
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/package.json +1 -2
- package/src/checkForWindowsTerminalBugs.js +3 -3
- package/src/checkForWindowsTerminalBugs.js.map +1 -1
- package/src/commands/check/check.js +8 -8
- package/src/commands/check/check.js.map +1 -1
- package/src/commands/copy/copy.js +5 -5
- 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 +2 -2
- package/src/commands/init/checkModSubdirectory.js.map +1 -1
- package/src/commands/init/checkModTargetDirectory.js +5 -5
- package/src/commands/init/checkModTargetDirectory.js.map +1 -1
- package/src/commands/init/createProject.js +27 -27
- package/src/commands/init/createProject.js.map +1 -1
- package/src/commands/init/getModsDir.js +4 -5
- package/src/commands/init/getModsDir.js.map +1 -1
- package/src/commands/init/installVSCodeExtensions.js +2 -2
- package/src/commands/init/installVSCodeExtensions.js.map +1 -1
- package/src/commands/monitor/copyWatcherMod.js +8 -8
- package/src/commands/monitor/copyWatcherMod.js.map +1 -1
- package/src/commands/monitor/monitor.js +12 -13
- package/src/commands/monitor/monitor.js.map +1 -1
- package/src/commands/monitor/notifyGame.js +2 -2
- package/src/commands/monitor/notifyGame.js.map +1 -1
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js +6 -6
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
- package/src/commands/monitor/touchWatcherSaveDatFiles.js +5 -5
- package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
- package/src/commands/publish/isaacscriptMod.js +23 -63
- package/src/commands/publish/isaacscriptMod.js.map +1 -1
- package/src/commands/publish/prePublish.js +79 -0
- package/src/commands/publish/prePublish.js.map +1 -0
- package/src/commands/publish/publish.js +14 -2
- package/src/commands/publish/publish.js.map +1 -1
- package/src/commands/publish/validate.js +58 -0
- package/src/commands/publish/validate.js.map +1 -0
- package/src/configFile.js +3 -3
- package/src/configFile.js.map +1 -1
- package/src/constants.js +5 -1
- package/src/constants.js.map +1 -1
- package/src/customStage.js +24 -23
- package/src/customStage.js.map +1 -1
- package/src/dev.js +3 -3
- package/src/dev.js.map +1 -1
- package/src/file.js +21 -13
- package/src/file.js.map +1 -1
- package/src/git.js +31 -23
- package/src/git.js.map +1 -1
- package/src/json.js +13 -3
- package/src/json.js.map +1 -1
- package/src/main.js +3 -1
- package/src/main.js.map +1 -1
- package/src/packageManager.js +3 -13
- package/src/packageManager.js.map +1 -1
- package/src/parseArgs.js +29 -1
- package/src/parseArgs.js.map +1 -1
- package/src/validateInIsaacScriptProject.js +6 -6
- package/src/validateInIsaacScriptProject.js.map +1 -1
- package/src/commands/monitor/constants.js +0 -5
- package/src/commands/monitor/constants.js.map +0 -1
- package/src/commands/publish/typeScript.js +0 -6
- package/src/commands/publish/typeScript.js.map +0 -1
- package/src/index.js +0 -10
- package/src/index.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.6",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -41,7 +41,6 @@
|
|
|
41
41
|
"source-map": "^0.7.4",
|
|
42
42
|
"source-map-support": "^0.5.21",
|
|
43
43
|
"sync-directory": "^5.1.9",
|
|
44
|
-
"touch": "^3.1.0",
|
|
45
44
|
"tslib": "^2.5.0",
|
|
46
45
|
"typescript-to-lua": "^1.12.1",
|
|
47
46
|
"xml2js": "^0.4.23",
|
|
@@ -7,7 +7,7 @@ const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
|
7
7
|
const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
8
8
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
9
9
|
const constants_js_1 = require("./constants.js");
|
|
10
|
-
const
|
|
10
|
+
const file_js_1 = require("./file.js");
|
|
11
11
|
const prompt_js_1 = require("./prompt.js");
|
|
12
12
|
const BASH_PROFILE_PATH = node_path_1.default.join(constants_js_1.HOME_DIR, ".bash_profile");
|
|
13
13
|
/**
|
|
@@ -39,8 +39,8 @@ async function checkForWindowsBugColor(verbose) {
|
|
|
39
39
|
function applyFixesToBashProfile(verbose) {
|
|
40
40
|
// Check to see if the Bash profile has data.
|
|
41
41
|
let bashProfileContents;
|
|
42
|
-
if (
|
|
43
|
-
bashProfileContents =
|
|
42
|
+
if ((0, file_js_1.fileExists)(BASH_PROFILE_PATH, verbose)) {
|
|
43
|
+
bashProfileContents = (0, file_js_1.readFile)(BASH_PROFILE_PATH, verbose);
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
46
|
bashProfileContents = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkForWindowsTerminalBugs.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/checkForWindowsTerminalBugs.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,8DAAyB;AACzB,kEAA6B;AAC7B,iDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"checkForWindowsTerminalBugs.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/checkForWindowsTerminalBugs.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,8DAAyB;AACzB,kEAA6B;AAC7B,iDAAwD;AACxD,uCAAiD;AACjD,2CAA4C;AAE5C,MAAM,iBAAiB,GAAG,mBAAI,CAAC,IAAI,CAAC,uBAAQ,EAAE,eAAe,CAAC,CAAC;AAE/D;;;GAGG;AACI,KAAK,UAAU,2BAA2B,CAC/C,OAAgB;IAEhB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO;KACR;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,4CAA4C,EAAE;QACzE,OAAO;KACR;IAED,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAZD,kEAYC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAgB;IACrD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE;QACzC,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,kFAAkF,eAAK,CAAC,KAAK,CAC3F,aAAa,CACd,yBAAyB,CAC3B,CACF,CAAC;IACF,OAAO,CAAC,KAAK,CACX,yEAAyE,CAC1E,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,IAAA,yBAAa,EACzC,qCAAqC,CACtC,CAAC;IACF,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO;KACR;IAED,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,6CAA6C;IAC7C,IAAI,mBAA2B,CAAC;IAChC,IAAI,IAAA,oBAAU,EAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC1C,mBAAmB,GAAG,IAAA,kBAAQ,EAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;KAC5D;SAAM;QACL,mBAAmB,GAAG,EAAE,CAAC;KAC1B;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IAEjE,IAAI;QACF,iBAAE,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;KAClD;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,6BAAK,EAAC,6BAA6B,iBAAiB,IAAI,EAAE,GAAG,CAAC,CAAC;KAChE;IAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EACxB,0CAA0C,eAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAC3E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CACP,sEAAsE,CACvE,CACF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAAC,mBAA2B;IAC3D,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,mBAAmB,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrE,+FAA+F;QAC/F,wBAAwB;QACxB,OAAO,IAAI,IAAI,CAAC;KACjB;IAED,IAAI,mBAAmB,KAAK,EAAE,EAAE;QAC9B,+FAA+F;QAC/F,6BAA6B;QAC7B,OAAO,IAAI,IAAI,CAAC;KACjB;IAED,OAAO,IAAI,6BAA6B,2BAAY,IAAI,CAAC;IACzD,OAAO,IAAI,2BAA2B,CAAC;IAEvC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -9,7 +9,7 @@ const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
|
9
9
|
const constants_js_1 = require("../../constants.js");
|
|
10
10
|
const PackageManager_js_1 = require("../../enums/PackageManager.js");
|
|
11
11
|
const exec_js_1 = require("../../exec.js");
|
|
12
|
-
const
|
|
12
|
+
const file_js_1 = require("../../file.js");
|
|
13
13
|
const packageManager_js_1 = require("../../packageManager.js");
|
|
14
14
|
const URL_PREFIX = "https://raw.githubusercontent.com/IsaacScript/isaacscript/main/packages/isaacscript-cli/file-templates/static";
|
|
15
15
|
const MARKER_CUSTOMIZATION_START = "@template-customization-start";
|
|
@@ -50,7 +50,7 @@ function checkTemplateDirectory(templateDirectory, ignoreFileNamesSet, verbose)
|
|
|
50
50
|
let oneOrMoreErrors = false;
|
|
51
51
|
for (const klawItem of (0, klaw_sync_1.default)(templateDirectory)) {
|
|
52
52
|
const templateFilePath = klawItem.path;
|
|
53
|
-
if (
|
|
53
|
+
if ((0, file_js_1.isDir)(templateFilePath, verbose)) {
|
|
54
54
|
continue;
|
|
55
55
|
}
|
|
56
56
|
const originalFileName = node_path_1.default.basename(templateFilePath);
|
|
@@ -94,7 +94,7 @@ function checkIndividualFiles(verbose) {
|
|
|
94
94
|
}
|
|
95
95
|
/** @returns Whether or not the project file is valid in reference to the template file. */
|
|
96
96
|
function compareTextFiles(projectFilePath, templateFilePath, originalFileName, verbose) {
|
|
97
|
-
if (!
|
|
97
|
+
if (!(0, file_js_1.fileExists)(projectFilePath, verbose)) {
|
|
98
98
|
console.log(`Failed to find the following file: ${projectFilePath}`);
|
|
99
99
|
printTemplateLocation(originalFileName);
|
|
100
100
|
return false;
|
|
@@ -108,12 +108,12 @@ function compareTextFiles(projectFilePath, templateFilePath, originalFileName, v
|
|
|
108
108
|
printTemplateLocation(originalFileName);
|
|
109
109
|
const tempProjectFilePath = node_path_1.default.join(constants_js_1.CWD, "tempProjectFile.txt");
|
|
110
110
|
const tempTemplateFilePath = node_path_1.default.join(constants_js_1.CWD, "tempTemplateFile.txt");
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
(0, file_js_1.writeFile)(tempProjectFilePath, projectFileContents, verbose);
|
|
112
|
+
(0, file_js_1.writeFile)(tempTemplateFilePath, templateFileContents, verbose);
|
|
113
113
|
const { stdout } = (0, exec_js_1.execShell)("diff", [tempProjectFilePath, tempTemplateFilePath, "--ignore-blank-lines"], verbose, true);
|
|
114
114
|
console.log(`${stdout}\n`);
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
(0, file_js_1.deleteFileOrDirectory)(tempProjectFilePath, verbose);
|
|
116
|
+
(0, file_js_1.deleteFileOrDirectory)(tempTemplateFilePath, verbose);
|
|
117
117
|
return false;
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
@@ -123,7 +123,7 @@ function compareTextFiles(projectFilePath, templateFilePath, originalFileName, v
|
|
|
123
123
|
*/
|
|
124
124
|
function getTruncatedFileText(filePath, linesBeforeIgnore, verbose) {
|
|
125
125
|
const fileName = node_path_1.default.basename(filePath);
|
|
126
|
-
const projectFileContents =
|
|
126
|
+
const projectFileContents = (0, file_js_1.readFile)(filePath, verbose);
|
|
127
127
|
const lines = projectFileContents.split("\n");
|
|
128
128
|
const newLines = [];
|
|
129
129
|
const newLinesBeforeIgnore = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/check/check.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA6D;AAC7D,kEAAiC;AACjC,kEAA6B;AAC7B,qDAM4B;AAC5B,qEAA+D;AAC/D,2CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/check/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
|
6
6
|
const constants_js_1 = require("../../constants.js");
|
|
7
7
|
const customStage_js_1 = require("../../customStage.js");
|
|
8
8
|
const exec_js_1 = require("../../exec.js");
|
|
9
|
-
const
|
|
9
|
+
const file_js_1 = require("../../file.js");
|
|
10
10
|
const packageManager_js_1 = require("../../packageManager.js");
|
|
11
11
|
const utils_js_1 = require("../../utils.js");
|
|
12
12
|
async function copy(args, config) {
|
|
@@ -25,14 +25,14 @@ async function compileAndCopy(modSourcePath, modTargetPath, packageManager, verb
|
|
|
25
25
|
exports.compileAndCopy = compileAndCopy;
|
|
26
26
|
function compile(packageManager, verbose) {
|
|
27
27
|
const packageManagerNPXCommand = (0, packageManager_js_1.getPackageManagerNPXCommand)(packageManager);
|
|
28
|
-
(0, exec_js_1.
|
|
28
|
+
(0, exec_js_1.execShellString)(`${packageManagerNPXCommand} tstl`, verbose);
|
|
29
29
|
console.log("Mod compiled successfully.");
|
|
30
30
|
}
|
|
31
31
|
function copyMod(modSourcePath, modTargetPath, verbose) {
|
|
32
|
-
if (
|
|
33
|
-
|
|
32
|
+
if ((0, file_js_1.fileExists)(modTargetPath, verbose)) {
|
|
33
|
+
(0, file_js_1.deleteFileOrDirectory)(modTargetPath, verbose);
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
(0, file_js_1.copyFile)(modSourcePath, modTargetPath, verbose);
|
|
36
36
|
console.log("Mod copied successfully.");
|
|
37
37
|
}
|
|
38
38
|
//# sourceMappingURL=copy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/copy/copy.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAAqD;AACrD,yDAA2D;AAE3D,
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/copy/copy.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAAqD;AACrD,yDAA2D;AAE3D,2CAAgD;AAChD,2CAA4E;AAC5E,+DAGiC;AAEjC,6CAA2D;AAEpD,KAAK,UAAU,IAAI,CAAC,IAAU,EAAE,MAAc;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,cAAc,GAAG,IAAA,2DAAuC,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9E,MAAM,sBAAsB,GAAG,IAAA,oCAAyB,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,MAAM,cAAc,CAAC,8BAAe,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AAChF,CAAC;AARD,oBAQC;AAEM,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,aAAqB,EACrB,cAA8B,EAC9B,OAAgB;IAEhB,MAAM,IAAA,oCAAmB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AATD,wCASC;AAED,SAAS,OAAO,CAAC,cAA8B,EAAE,OAAgB;IAC/D,MAAM,wBAAwB,GAAG,IAAA,+CAA2B,EAAC,cAAc,CAAC,CAAC;IAC7E,IAAA,yBAAe,EAAC,GAAG,wBAAwB,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,OAAO,CACd,aAAqB,EACrB,aAAqB,EACrB,OAAgB;IAEhB,IAAI,IAAA,oBAAU,EAAC,aAAa,EAAE,OAAO,CAAC,EAAE;QACtC,IAAA,+BAAqB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KAC/C;IACD,IAAA,kBAAQ,EAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -5,15 +5,15 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
7
|
const constants_js_1 = require("../../constants.js");
|
|
8
|
-
const
|
|
8
|
+
const file_js_1 = require("../../file.js");
|
|
9
9
|
const prompt_js_1 = require("../../prompt.js");
|
|
10
10
|
async function checkIfProjectPathExists(projectPath, yes, verbose) {
|
|
11
|
-
if (projectPath === constants_js_1.CWD || !
|
|
11
|
+
if (projectPath === constants_js_1.CWD || !(0, file_js_1.fileExists)(projectPath, verbose)) {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
const fileType =
|
|
14
|
+
const fileType = (0, file_js_1.isDir)(projectPath, verbose) ? "directory" : "file";
|
|
15
15
|
if (yes) {
|
|
16
|
-
|
|
16
|
+
(0, file_js_1.deleteFileOrDirectory)(projectPath, verbose);
|
|
17
17
|
console.log(`Deleted ${fileType}: ${chalk_1.default.green(projectPath)}`);
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
@@ -22,7 +22,7 @@ async function checkIfProjectPathExists(projectPath, yes, verbose) {
|
|
|
22
22
|
if (!shouldDelete) {
|
|
23
23
|
(0, isaacscript_common_ts_1.error)("Ok then. Goodbye.");
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
(0, file_js_1.deleteFileOrDirectory)(projectPath, verbose);
|
|
26
26
|
}
|
|
27
27
|
exports.checkIfProjectPathExists = checkIfProjectPathExists;
|
|
28
28
|
//# sourceMappingURL=checkIfProjectPathExists.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,qDAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"checkIfProjectPathExists.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkIfProjectPathExists.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,qDAAyC;AACzC,2CAAyE;AACzE,+CAAgD;AAEzC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,IAAI,WAAW,KAAK,kBAAG,IAAI,CAAC,IAAA,oBAAU,EAAC,WAAW,EAAE,OAAO,CAAC,EAAE;QAC5D,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAEpE,IAAI,GAAG,EAAE;QACP,IAAA,+BAAqB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO;KACR;IAED,OAAO,CAAC,GAAG,CACT,KAAK,QAAQ,mCAAmC,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAC3E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAa,EAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE;QACjB,IAAA,6BAAK,EAAC,mBAAmB,CAAC,CAAC;KAC5B;IAED,IAAA,+BAAqB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AA3BD,4DA2BC"}
|
|
@@ -5,9 +5,9 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
7
|
const constants_js_1 = require("../../constants.js");
|
|
8
|
-
const
|
|
8
|
+
const file_js_1 = require("../../file.js");
|
|
9
9
|
function checkModSubdirectory(projectPath, modsDirectory) {
|
|
10
|
-
if (
|
|
10
|
+
if ((0, file_js_1.isSubDirOf)(constants_js_1.CWD, modsDirectory)) {
|
|
11
11
|
console.error(`Error: The project directory of "${chalk_1.default.green(projectPath)}" is a subdirectory of "${chalk_1.default.green(modsDirectory)}".`);
|
|
12
12
|
(0, isaacscript_common_ts_1.error)('You are supposed to have your project folder somewhere else on the system than the Isaac mods directory. (This is because we don\'t want to upload the ".git" folder or the TypeScript files to the Steam Workshop.) Exiting.');
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkModSubdirectory.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkModSubdirectory.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,qDAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"checkModSubdirectory.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkModSubdirectory.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,qDAAyC;AACzC,2CAA2C;AAE3C,SAAgB,oBAAoB,CAClC,WAAmB,EACnB,aAAqB;IAErB,IAAI,IAAA,oBAAU,EAAC,kBAAG,EAAE,aAAa,CAAC,EAAE;QAClC,OAAO,CAAC,KAAK,CACX,oCAAoC,eAAK,CAAC,KAAK,CAC7C,WAAW,CACZ,2BAA2B,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAC3D,CAAC;QACF,IAAA,6BAAK,EACH,+NAA+N,CAChO,CAAC;KACH;AACH,CAAC;AAdD,oDAcC"}
|
|
@@ -6,16 +6,16 @@ const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
|
6
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
7
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
8
|
const constants_js_1 = require("../../constants.js");
|
|
9
|
-
const
|
|
9
|
+
const file_js_1 = require("../../file.js");
|
|
10
10
|
const prompt_js_1 = require("../../prompt.js");
|
|
11
11
|
async function checkModTargetDirectory(modsDirectory, projectName, yes, verbose) {
|
|
12
12
|
const modTargetPath = node_path_1.default.join(modsDirectory, projectName);
|
|
13
|
-
if (!
|
|
13
|
+
if (!(0, file_js_1.fileExists)(modTargetPath, verbose)) {
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
|
-
const fileType =
|
|
16
|
+
const fileType = (0, file_js_1.isDir)(modTargetPath, verbose) ? "directory" : "file";
|
|
17
17
|
if (yes) {
|
|
18
|
-
|
|
18
|
+
(0, file_js_1.deleteFileOrDirectory)(modTargetPath, verbose);
|
|
19
19
|
console.log(`Deleted ${fileType}: ${chalk_1.default.green(modTargetPath)}`);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
@@ -25,7 +25,7 @@ async function checkModTargetDirectory(modsDirectory, projectName, yes, verbose)
|
|
|
25
25
|
if (!shouldDelete) {
|
|
26
26
|
(0, isaacscript_common_ts_1.error)("Ok then. Goodbye.");
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
(0, file_js_1.deleteFileOrDirectory)(modTargetPath, verbose);
|
|
29
29
|
}
|
|
30
30
|
exports.checkModTargetDirectory = checkModTargetDirectory;
|
|
31
31
|
//# sourceMappingURL=checkModTargetDirectory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,kEAA6B;AAC7B,qDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"checkModTargetDirectory.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/checkModTargetDirectory.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,kEAA6B;AAC7B,qDAAkD;AAClD,2CAAyE;AACzE,+CAAgD;AAEzC,KAAK,UAAU,uBAAuB,CAC3C,aAAqB,EACrB,WAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAA,oBAAU,EAAC,aAAa,EAAE,OAAO,CAAC,EAAE;QACvC,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAEtE,IAAI,GAAG,EAAE;QACP,IAAA,+BAAqB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO;KACR;IAED,OAAO,CAAC,GAAG,CACT,KAAK,QAAQ,0CAA0C,eAAK,CAAC,KAAK,CAChE,aAAa,CACd,EAAE,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CACT,GAAG,2BAAY,6DAA6D,CAC7E,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAa,EAAC,8BAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,YAAY,EAAE;QACjB,IAAA,6BAAK,EAAC,mBAAmB,CAAC,CAAC;KAC5B;IAED,IAAA,+BAAqB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAlCD,0DAkCC"}
|
|
@@ -9,13 +9,13 @@ const Config_js_1 = require("../../classes/Config.js");
|
|
|
9
9
|
const configFile_js_1 = require("../../configFile.js");
|
|
10
10
|
const constants_js_1 = require("../../constants.js");
|
|
11
11
|
const exec_js_1 = require("../../exec.js");
|
|
12
|
-
const
|
|
12
|
+
const file_js_1 = require("../../file.js");
|
|
13
13
|
const git_js_1 = require("../../git.js");
|
|
14
14
|
const packageManager_js_1 = require("../../packageManager.js");
|
|
15
15
|
const TEMPLATE_MOD_MARKER = "@template-mod";
|
|
16
16
|
function createProject(projectName, authorName, projectPath, createNewDir, modsDirectory, saveSlot, gitRemoteURL, skipInstall, packageManager, typeScript, dev, verbose) {
|
|
17
17
|
if (createNewDir) {
|
|
18
|
-
|
|
18
|
+
(0, file_js_1.makeDir)(projectPath, verbose);
|
|
19
19
|
}
|
|
20
20
|
const config = new Config_js_1.Config(modsDirectory, saveSlot, dev);
|
|
21
21
|
(0, configFile_js_1.createConfigFile)(projectPath, config, typeScript, verbose);
|
|
@@ -42,37 +42,37 @@ function copyStaticFiles(projectPath, typeScript, verbose) {
|
|
|
42
42
|
// local linting will fail.)
|
|
43
43
|
const ESLintConfigPath = node_path_1.default.join(projectPath, ".eslintrc.template.cjs");
|
|
44
44
|
const correctESLintConfigPath = node_path_1.default.join(projectPath, ".eslintrc.cjs");
|
|
45
|
-
|
|
45
|
+
(0, file_js_1.renameFile)(ESLintConfigPath, correctESLintConfigPath, verbose);
|
|
46
46
|
// Rename "gitattributes" to ".gitattributes". (If it is kept as ".gitattributes", then it won't
|
|
47
47
|
// be committed to git.)
|
|
48
48
|
const gitAttributesPath = node_path_1.default.join(projectPath, "gitattributes");
|
|
49
49
|
const correctGitAttributesPath = node_path_1.default.join(projectPath, ".gitattributes");
|
|
50
|
-
|
|
50
|
+
(0, file_js_1.renameFile)(gitAttributesPath, correctGitAttributesPath, verbose);
|
|
51
51
|
// Rename "cspell.template.json" to "cspell.json". (If it is kept as "cspell.json", then local
|
|
52
52
|
// spell checking will fail.)
|
|
53
53
|
const cSpellConfigPath = node_path_1.default.join(projectPath, "cspell.template.json");
|
|
54
54
|
const correctCSpellConfigPath = node_path_1.default.join(projectPath, "cspell.json");
|
|
55
|
-
|
|
55
|
+
(0, file_js_1.renameFile)(cSpellConfigPath, correctCSpellConfigPath, verbose);
|
|
56
56
|
}
|
|
57
57
|
function copyTemplateDirectoryWithoutOverwriting(templateDirPath, projectPath, verbose) {
|
|
58
|
-
const dirList =
|
|
58
|
+
const dirList = (0, file_js_1.getDirList)(templateDirPath, verbose);
|
|
59
59
|
for (const fileName of dirList) {
|
|
60
60
|
const templateFilePath = node_path_1.default.join(templateDirPath, fileName);
|
|
61
61
|
const destinationFilePath = node_path_1.default.join(projectPath, fileName);
|
|
62
|
-
if (!
|
|
63
|
-
|
|
62
|
+
if (!(0, file_js_1.fileExists)(destinationFilePath, verbose)) {
|
|
63
|
+
(0, file_js_1.copyFile)(templateFilePath, destinationFilePath, verbose);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
/** Copy files that need to have text replaced inside of them. */
|
|
68
68
|
function copyDynamicFiles(projectName, authorName, projectPath, packageManager, dev, typeScript, verbose) {
|
|
69
69
|
const workflowsPath = node_path_1.default.join(projectPath, ".github", "workflows");
|
|
70
|
-
|
|
70
|
+
(0, file_js_1.makeDir)(workflowsPath, verbose);
|
|
71
71
|
// `.github/workflows/ci.yml`
|
|
72
72
|
{
|
|
73
73
|
const fileName = constants_js_1.CI_YML;
|
|
74
74
|
const templatePath = constants_js_1.CI_YML_TEMPLATE_PATH;
|
|
75
|
-
const template =
|
|
75
|
+
const template = (0, file_js_1.readFile)(templatePath, verbose);
|
|
76
76
|
// There are two versions of the template, one for TypeScript, and one for IsaacScript mods.
|
|
77
77
|
const modifiedTemplate = typeScript
|
|
78
78
|
? (0, isaacscript_common_ts_1.removeLinesBetweenMarkers)(template, TEMPLATE_MOD_MARKER)
|
|
@@ -84,13 +84,13 @@ function copyDynamicFiles(projectName, authorName, projectPath, packageManager,
|
|
|
84
84
|
.replaceAll("PACKAGE_MANAGER_LOCK_FILE_NAME", lockFileName)
|
|
85
85
|
.replaceAll("PACKAGE_MANAGER_INSTALL_COMMAND", installCommand);
|
|
86
86
|
const destinationPath = node_path_1.default.join(workflowsPath, fileName);
|
|
87
|
-
|
|
87
|
+
(0, file_js_1.writeFile)(destinationPath, ciYML, verbose);
|
|
88
88
|
}
|
|
89
89
|
// `.gitignore`
|
|
90
90
|
{
|
|
91
91
|
const fileName = constants_js_1.GITIGNORE;
|
|
92
92
|
const templatePath = constants_js_1.GITIGNORE_TEMPLATE_PATH;
|
|
93
|
-
const template =
|
|
93
|
+
const template = (0, file_js_1.readFile)(templatePath, verbose);
|
|
94
94
|
// There are two versions of the template, one for TypeScript, and one for IsaacScript mods.
|
|
95
95
|
const modifiedTemplate = typeScript
|
|
96
96
|
? (0, isaacscript_common_ts_1.removeLinesBetweenMarkers)(template, TEMPLATE_MOD_MARKER)
|
|
@@ -104,7 +104,7 @@ function copyDynamicFiles(projectName, authorName, projectPath, packageManager,
|
|
|
104
104
|
const gitignoreHeader = `${separatorLine}# ${projectName}\n${separatorLine}\n`;
|
|
105
105
|
const gitignore = gitignoreHeader + modifiedTemplate;
|
|
106
106
|
const destinationPath = node_path_1.default.join(projectPath, `.${fileName}`); // We need to prepend a period.
|
|
107
|
-
|
|
107
|
+
(0, file_js_1.writeFile)(destinationPath, gitignore, verbose);
|
|
108
108
|
}
|
|
109
109
|
// `package.json`
|
|
110
110
|
{
|
|
@@ -113,61 +113,61 @@ function copyDynamicFiles(projectName, authorName, projectPath, packageManager,
|
|
|
113
113
|
? "package.ts.json"
|
|
114
114
|
: "package.mod.json";
|
|
115
115
|
const templatePath = node_path_1.default.join(constants_js_1.TEMPLATES_DYNAMIC_DIR, packageJSONTemplateFileName);
|
|
116
|
-
const template =
|
|
116
|
+
const template = (0, file_js_1.readFile)(templatePath, verbose);
|
|
117
117
|
const packageJSON = template
|
|
118
118
|
.replaceAll("PROJECT_NAME", projectName)
|
|
119
119
|
.replaceAll("AUTHOR_NAME", authorName ?? "unknown")
|
|
120
120
|
.replaceAll("PACKAGE_MANAGER", packageManager);
|
|
121
121
|
const destinationPath = node_path_1.default.join(projectPath, constants_js_1.PACKAGE_JSON);
|
|
122
|
-
|
|
122
|
+
(0, file_js_1.writeFile)(destinationPath, packageJSON, verbose);
|
|
123
123
|
}
|
|
124
124
|
// `README.md`
|
|
125
125
|
{
|
|
126
126
|
// There are two versions of the template, one for TypeScript, and one for IsaacScript mods.
|
|
127
127
|
const readmeMDTemplateFileName = typeScript
|
|
128
|
-
? "README.ts.
|
|
129
|
-
: "README.mod.
|
|
128
|
+
? "README.ts.md"
|
|
129
|
+
: "README.mod.md";
|
|
130
130
|
const templatePath = node_path_1.default.join(constants_js_1.TEMPLATES_DYNAMIC_DIR, readmeMDTemplateFileName);
|
|
131
|
-
const template =
|
|
131
|
+
const template = (0, file_js_1.readFile)(templatePath, verbose);
|
|
132
132
|
// "PROJECT-NAME" must be hyphenated, as using an underscore will break Prettier for some
|
|
133
133
|
// reason.
|
|
134
134
|
const readmeMD = template.replaceAll("PROJECT-NAME", projectName);
|
|
135
135
|
const destinationPath = node_path_1.default.join(projectPath, constants_js_1.README_MD);
|
|
136
|
-
|
|
136
|
+
(0, file_js_1.writeFile)(destinationPath, readmeMD, verbose);
|
|
137
137
|
}
|
|
138
138
|
// `mod/metadata.xml`
|
|
139
139
|
if (!typeScript) {
|
|
140
140
|
const modPath = node_path_1.default.join(projectPath, "mod");
|
|
141
|
-
|
|
141
|
+
(0, file_js_1.makeDir)(modPath, verbose);
|
|
142
142
|
const fileName = constants_js_1.METADATA_XML;
|
|
143
143
|
const templatePath = constants_js_1.METADATA_XML_TEMPLATE_PATH;
|
|
144
|
-
const template =
|
|
144
|
+
const template = (0, file_js_1.readFile)(templatePath, verbose);
|
|
145
145
|
const metadataXML = template.replaceAll("PROJECT_NAME", projectName);
|
|
146
146
|
const destinationPath = node_path_1.default.join(modPath, fileName);
|
|
147
|
-
|
|
147
|
+
(0, file_js_1.writeFile)(destinationPath, metadataXML, verbose);
|
|
148
148
|
}
|
|
149
149
|
const srcPath = node_path_1.default.join(projectPath, "src");
|
|
150
|
-
|
|
150
|
+
(0, file_js_1.makeDir)(srcPath, verbose);
|
|
151
151
|
// `src/main.ts` (TypeScript projects use the simple version from the "static-ts" directory.)
|
|
152
152
|
if (!typeScript) {
|
|
153
153
|
// Convert snake_case and kebab-case to camelCase. (Kebab-case in particular will make the
|
|
154
154
|
// example TypeScript file fail to compile.)
|
|
155
155
|
const fileName = constants_js_1.MAIN_TS;
|
|
156
156
|
const templatePath = constants_js_1.MAIN_TS_TEMPLATE_PATH;
|
|
157
|
-
const template =
|
|
157
|
+
const template = (0, file_js_1.readFile)(templatePath, verbose);
|
|
158
158
|
const mainTS = template.replaceAll("PROJECT_NAME", projectName);
|
|
159
159
|
const destinationPath = node_path_1.default.join(srcPath, fileName);
|
|
160
|
-
|
|
160
|
+
(0, file_js_1.writeFile)(destinationPath, mainTS, verbose);
|
|
161
161
|
}
|
|
162
162
|
// If we are initializing an IsaacScript project intended to be used for development, we can
|
|
163
163
|
// include a better starter file.
|
|
164
164
|
if (!typeScript && dev) {
|
|
165
165
|
const fileName = constants_js_1.MAIN_TS;
|
|
166
166
|
const templatePath = constants_js_1.MAIN_DEV_TS_TEMPLATE_PATH;
|
|
167
|
-
const template =
|
|
167
|
+
const template = (0, file_js_1.readFile)(templatePath, verbose);
|
|
168
168
|
const mainTS = template; // No replacements are necessary for this file.
|
|
169
169
|
const destinationPath = node_path_1.default.join(srcPath, fileName);
|
|
170
|
-
|
|
170
|
+
(0, file_js_1.writeFile)(destinationPath, mainTS, verbose);
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
/** The "package.json" file has to be copied first before this step. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/createProject.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAI+B;AAC/B,kEAA6B;AAC7B,uDAAiD;AACjD,uDAAuD;AACvD,qDAe4B;AAE5B,2CAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/createProject.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAI+B;AAC/B,kEAA6B;AAC7B,uDAAiD;AACjD,uDAAuD;AACvD,qDAe4B;AAE5B,2CAA2D;AAC3D,2CAQuB;AACvB,yCAAiD;AACjD,+DAKiC;AAEjC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAE5C,SAAgB,aAAa,CAC3B,WAAmB,EACnB,UAA8B,EAC9B,WAAmB,EACnB,YAAqB,EACrB,aAAiC,EACjC,QAA4B,EAC5B,YAAgC,EAChC,WAAoB,EACpB,cAA8B,EAC9B,UAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,IAAI,YAAY,EAAE;QAChB,IAAA,iBAAO,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KAC/B;IAED,MAAM,MAAM,GAAG,IAAI,kBAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxD,IAAA,gCAAgB,EAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3D,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,gBAAgB,CACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,GAAG,EACH,UAAU,EACV,OAAO,CACR,CAAC;IACF,iBAAiB,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACtE,WAAW,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAElD,qFAAqF;IACrF,IAAA,0BAAiB,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAEtD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,KAAK,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC;AAxCD,sCAwCC;AAED,qEAAqE;AACrE,SAAS,eAAe,CACtB,WAAmB,EACnB,UAAmB,EACnB,OAAgB;IAEhB,iGAAiG;IACjG,uCAAuC,CACrC,mCAAoB,EACpB,WAAW,EACX,OAAO,CACR,CAAC;IAEF,iGAAiG;IACjG,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,4BAAa,EAAE,UAAU,eAAe,EAAE,CAAC,CAAC;IAC5E,uCAAuC,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAE7E,8FAA8F;IAC9F,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACxE,IAAA,oBAAU,EAAC,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAE/D,gGAAgG;IAChG,wBAAwB;IACxB,MAAM,iBAAiB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAClE,MAAM,wBAAwB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC1E,IAAA,oBAAU,EAAC,iBAAiB,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAEjE,8FAA8F;IAC9F,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACxE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtE,IAAA,oBAAU,EAAC,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,uCAAuC,CAC9C,eAAuB,EACvB,WAAmB,EACnB,OAAgB;IAEhB,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAErD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;QAC9B,MAAM,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,mBAAmB,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAA,oBAAU,EAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE;YAC7C,IAAA,kBAAQ,EAAC,gBAAgB,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;SAC1D;KACF;AACH,CAAC;AAED,iEAAiE;AACjE,SAAS,gBAAgB,CACvB,WAAmB,EACnB,UAA8B,EAC9B,WAAmB,EACnB,cAA8B,EAC9B,GAAY,EACZ,UAAmB,EACnB,OAAgB;IAEhB,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,IAAA,iBAAO,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEhC,6BAA6B;IAC7B;QACE,MAAM,QAAQ,GAAG,qBAAM,CAAC;QACxB,MAAM,YAAY,GAAG,mCAAoB,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,4FAA4F;QAC5F,MAAM,gBAAgB,GAAG,UAAU;YACjC,CAAC,CAAC,IAAA,iDAAyB,EAAC,QAAQ,EAAE,mBAAmB,CAAC;YAC1D,CAAC,CAAC,IAAA,2CAAmB,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,IAAA,iDAA6B,EAAC,cAAc,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,IAAA,qDAAiC,EAAC,cAAc,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,gBAAgB;aAC3B,UAAU,CAAC,sBAAsB,EAAE,cAAc,CAAC;aAClD,UAAU,CAAC,gCAAgC,EAAE,YAAY,CAAC;aAC1D,UAAU,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC;QAEjE,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAA,mBAAS,EAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC5C;IAED,eAAe;IACf;QACE,MAAM,QAAQ,GAAG,wBAAS,CAAC;QAC3B,MAAM,YAAY,GAAG,sCAAuB,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,4FAA4F;QAC5F,MAAM,gBAAgB,GAAG,UAAU;YACjC,CAAC,CAAC,IAAA,iDAAyB,EAAC,QAAQ,EAAE,mBAAmB,CAAC;YAC1D,CAAC,CAAC,IAAA,2CAAmB,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAEvD,0CAA0C;QAC1C,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAA,8BAAM,EAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;YAC9B,aAAa,IAAI,GAAG,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,aAAa,IAAI,IAAI,CAAC;QACtB,MAAM,eAAe,GAAG,GAAG,aAAa,KAAK,WAAW,KAAK,aAAa,IAAI,CAAC;QAC/E,MAAM,SAAS,GAAG,eAAe,GAAG,gBAAgB,CAAC;QAErD,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,+BAA+B;QAC/F,IAAA,mBAAS,EAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,iBAAiB;IACjB;QACE,4FAA4F;QAC5F,MAAM,2BAA2B,GAAG,UAAU;YAC5C,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,kBAAkB,CAAC;QACvB,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAC5B,oCAAqB,EACrB,2BAA2B,CAC5B,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,QAAQ;aACzB,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC;aACvC,UAAU,CAAC,aAAa,EAAE,UAAU,IAAI,SAAS,CAAC;aAClD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAEjD,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,2BAAY,CAAC,CAAC;QAC7D,IAAA,mBAAS,EAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;KAClD;IAED,cAAc;IACd;QACE,4FAA4F;QAC5F,MAAM,wBAAwB,GAAG,UAAU;YACzC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,eAAe,CAAC;QACpB,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAC5B,oCAAqB,EACrB,wBAAwB,CACzB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEjD,yFAAyF;QACzF,UAAU;QACV,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAS,CAAC,CAAC;QAC1D,IAAA,mBAAS,EAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC/C;IAED,qBAAqB;IACrB,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAA,iBAAO,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,2BAAY,CAAC;QAC9B,MAAM,YAAY,GAAG,yCAA0B,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAA,mBAAS,EAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;KAClD;IAED,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAA,iBAAO,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1B,6FAA6F;IAC7F,IAAI,CAAC,UAAU,EAAE;QACf,0FAA0F;QAC1F,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,sBAAO,CAAC;QACzB,MAAM,YAAY,GAAG,oCAAqB,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAA,mBAAS,EAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C;IAED,4FAA4F;IAC5F,iCAAiC;IACjC,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;QACtB,MAAM,QAAQ,GAAG,sBAAO,CAAC;QACzB,MAAM,YAAY,GAAG,wCAAyB,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,+CAA+C;QACxE,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAA,mBAAS,EAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,uEAAuE;AACvE,SAAS,iBAAiB,CACxB,WAAmB,EACnB,cAA8B,EAC9B,OAAgB;IAEhB,OAAO,CAAC,GAAG,CACT,6EAA6E,CAC9E,CAAC;IACF,MAAM,wBAAwB,GAAG,IAAA,+CAA2B,EAAC,cAAc,CAAC,CAAC;IAC7E,IAAA,mBAAS,EACP,wBAAwB,EACxB;QACE,mBAAmB;QACnB,WAAW;QACX,eAAe;QACf,cAAc;QACd,iBAAiB;QACjB,IAAI;KACL,EACD,OAAO,EACP,KAAK,EACL,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAmB,EACnB,WAAoB,EACpB,cAA8B,EAC9B,OAAgB;IAEhB,IAAI,WAAW,EAAE;QACf,OAAO;KACR;IAED,MAAM,OAAO,GAAG,IAAA,mDAA+B,EAAC,cAAc,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,iCAAiC,OAAO,mCAAmC,CAC5E,CAAC;IACF,IAAA,yBAAe,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAClB,WAAmB,EACnB,cAA8B,EAC9B,OAAgB;IAEhB,MAAM,wBAAwB,GAAG,IAAA,+CAA2B,EAAC,cAAc,CAAC,CAAC;IAC7E,IAAA,mBAAS,EACP,wBAAwB,EACxB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,EACpC,OAAO,EACP,KAAK,EACL,WAAW,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,7 @@ const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
|
6
6
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
7
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
8
|
const constants_js_1 = require("../../constants.js");
|
|
9
|
-
const
|
|
9
|
+
const file_js_1 = require("../../file.js");
|
|
10
10
|
const prompt_js_1 = require("../../prompt.js");
|
|
11
11
|
const MODS = "mods";
|
|
12
12
|
const DEFAULT_MODS_PATH_WINDOWS = node_path_1.default.join("C:", "Program Files (x86)", "Steam", "steamapps", "common", "The Binding of Isaac Rebirth", MODS);
|
|
@@ -22,8 +22,7 @@ async function getModsDir(args, typeScript, verbose) {
|
|
|
22
22
|
return args.modsDirectory;
|
|
23
23
|
}
|
|
24
24
|
const defaultModsPath = getDefaultModsPath(process.platform);
|
|
25
|
-
if (
|
|
26
|
-
file.isDir(defaultModsPath, verbose)) {
|
|
25
|
+
if ((0, file_js_1.fileExists)(defaultModsPath, verbose) && (0, file_js_1.isDir)(defaultModsPath, verbose)) {
|
|
27
26
|
return defaultModsPath;
|
|
28
27
|
}
|
|
29
28
|
console.error(`Failed to find your mods directory at: ${chalk_1.default.green(defaultModsPath)}`);
|
|
@@ -31,10 +30,10 @@ async function getModsDir(args, typeScript, verbose) {
|
|
|
31
30
|
if (modsDir === "") {
|
|
32
31
|
(0, isaacscript_common_ts_1.error)("Error: You did not provide a response; exiting.");
|
|
33
32
|
}
|
|
34
|
-
if (!
|
|
33
|
+
if (!(0, file_js_1.fileExists)(modsDir, verbose)) {
|
|
35
34
|
(0, isaacscript_common_ts_1.error)(`Error: The directory of "${chalk_1.default.green(modsDir)}" does not exist. Exiting.`);
|
|
36
35
|
}
|
|
37
|
-
if (!
|
|
36
|
+
if (!(0, file_js_1.isDir)(modsDir, verbose)) {
|
|
38
37
|
(0, isaacscript_common_ts_1.error)(`Error: The path of "${chalk_1.default.green(modsDir)}" is not a directory. Exiting.`);
|
|
39
38
|
}
|
|
40
39
|
if (node_path_1.default.basename(modsDir) !== MODS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getModsDir.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/getModsDir.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,kEAA6B;AAC7B,qDAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"getModsDir.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/getModsDir.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA8C;AAC9C,kEAA6B;AAC7B,qDAA8C;AAC9C,2CAAkD;AAElD,+CAAiD;AAEjD,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,yBAAyB,GAAG,mBAAI,CAAC,IAAI,CACzC,IAAI,EACJ,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEF,yCAAyC;AACzC,MAAM,uBAAuB,GAAG,mBAAI,CAAC,IAAI,CACvC,uBAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,EACX,QAAQ,EACR,8BAA8B,EAC9B,IAAI,CACL,CAAC;AAEK,KAAK,UAAU,UAAU,CAC9B,IAAU,EACV,UAAmB,EACnB,OAAgB;IAEhB,IAAI,UAAU,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;QACpC,6FAA6F;QAC7F,eAAe;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE7D,IAAI,IAAA,oBAAU,EAAC,eAAe,EAAE,OAAO,CAAC,IAAI,IAAA,eAAK,EAAC,eAAe,EAAE,OAAO,CAAC,EAAE;QAC3E,OAAO,eAAe,CAAC;KACxB;IAED,OAAO,CAAC,KAAK,CACX,0CAA0C,eAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CACzE,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAc,EAClC,+BAA+B,IAAI,kFAAkF,CACtH,CAAC;IAEF,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,IAAA,6BAAK,EAAC,iDAAiD,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACjC,IAAA,6BAAK,EACH,4BAA4B,eAAK,CAAC,KAAK,CACrC,OAAO,CACR,4BAA4B,CAC9B,CAAC;KACH;IAED,IAAI,CAAC,IAAA,eAAK,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAC5B,IAAA,6BAAK,EACH,uBAAuB,eAAK,CAAC,KAAK,CAChC,OAAO,CACR,gCAAgC,CAClC,CAAC;KACH;IAED,IAAI,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACnC,IAAA,6BAAK,EACH,iCAAiC,eAAK,CAAC,KAAK,CAC1C,OAAO,CACR,wDAAwD,IAAI,wBAAwB,CACtF,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAzDD,gCAyDC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,QAAQ,QAAQ,EAAE;QAChB,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,yBAAyB,CAAC;SAClC;QAED,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,uBAAuB,CAAC;SAChC;QAED,OAAO,CAAC,CAAC;YACP,IAAA,6BAAK,EACH,gEAAgE,eAAK,CAAC,KAAK,CACzE,QAAQ,CACT,EAAE,CACJ,CAAC;SACH;KACF;AACH,CAAC"}
|
|
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
6
6
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
7
7
|
const exec_js_1 = require("../../exec.js");
|
|
8
|
-
const
|
|
8
|
+
const file_js_1 = require("../../file.js");
|
|
9
9
|
const json_js_1 = require("../../json.js");
|
|
10
10
|
function installVSCodeExtensions(projectPath, VSCodeCommand, verbose) {
|
|
11
11
|
// Installing extensions from inside WSL on Windows will result in the VSCode process never
|
|
@@ -22,7 +22,7 @@ function installVSCodeExtensions(projectPath, VSCodeCommand, verbose) {
|
|
|
22
22
|
exports.installVSCodeExtensions = installVSCodeExtensions;
|
|
23
23
|
function getExtensionsFromJSON(projectPath, verbose) {
|
|
24
24
|
const extensionsJSONPath = node_path_1.default.join(projectPath, ".vscode", "extensions.json");
|
|
25
|
-
if (!
|
|
25
|
+
if (!(0, file_js_1.fileExists)(extensionsJSONPath, verbose)) {
|
|
26
26
|
return [];
|
|
27
27
|
}
|
|
28
28
|
const extensionsJSON = (0, json_js_1.getJSONC)(extensionsJSONPath, verbose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installVSCodeExtensions.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/installVSCodeExtensions.ts"],"names":[],"mappings":";;;;AAAA,iEAA8C;AAC9C,kEAA6B;AAC7B,2CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"installVSCodeExtensions.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/installVSCodeExtensions.ts"],"names":[],"mappings":";;;;AAAA,iEAA8C;AAC9C,kEAA6B;AAC7B,2CAA0C;AAC1C,2CAA2C;AAC3C,2CAAyC;AAEzC,SAAgB,uBAAuB,CACrC,WAAmB,EACnB,aAAqB,EACrB,OAAgB;IAEhB,2FAA2F;IAC3F,8FAA8F;IAC9F,kDAAkD;IAClD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO;KACR;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE;QACtC,IAAA,mBAAS,EAAC,aAAa,EAAE,CAAC,qBAAqB,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;KAC3E;AACH,CAAC;AAhBD,0DAgBC;AAED,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,OAAgB;IAEhB,MAAM,kBAAkB,GAAG,mBAAI,CAAC,IAAI,CAClC,WAAW,EACX,SAAS,EACT,iBAAiB,CAClB,CAAC;IAEF,IAAI,CAAC,IAAA,oBAAU,EAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAC5C,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAG,IAAA,kBAAQ,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,6BAAK,EACH,4EAA4E,CAC7E,CAAC;KACH;IAED,OAAO,eAA2B,CAAC;AACrC,CAAC"}
|
|
@@ -4,21 +4,21 @@ exports.copyWatcherMod = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
6
|
const constants_js_1 = require("../../constants.js");
|
|
7
|
-
const
|
|
7
|
+
const file_js_1 = require("../../file.js");
|
|
8
8
|
function copyWatcherMod(config, verbose) {
|
|
9
9
|
// Check to see if this mod was disabled.
|
|
10
10
|
const watcherModPath = node_path_1.default.join(config.modsDirectory, constants_js_1.WATCHER_MOD_NAME);
|
|
11
11
|
const disableItPath = node_path_1.default.join(watcherModPath, constants_js_1.DISABLE_IT_FILE);
|
|
12
|
-
const watcherModDisabled =
|
|
12
|
+
const watcherModDisabled = (0, file_js_1.fileExists)(disableItPath, verbose);
|
|
13
13
|
// Delete and re-copy the watcher mod every time IsaacScript starts. This ensures that it is
|
|
14
14
|
// always the latest version.
|
|
15
|
-
if (
|
|
16
|
-
|
|
15
|
+
if ((0, file_js_1.fileExists)(watcherModPath, verbose)) {
|
|
16
|
+
(0, file_js_1.deleteFileOrDirectory)(watcherModPath, verbose);
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
(0, file_js_1.copyFile)(constants_js_1.WATCHER_MOD_SOURCE_PATH, watcherModPath, verbose);
|
|
19
19
|
if (watcherModDisabled) {
|
|
20
20
|
// Since we deleted the directory, the "disable.it" file was deleted. Restore it.
|
|
21
|
-
|
|
21
|
+
(0, file_js_1.writeFile)(disableItPath, "", verbose);
|
|
22
22
|
}
|
|
23
23
|
// By default, the IsaacScript watcher mod automatically restarts the game, so we only need to
|
|
24
24
|
// disable it if the config option is explicitly set to false.
|
|
@@ -32,8 +32,8 @@ function copyWatcherMod(config, verbose) {
|
|
|
32
32
|
exports.copyWatcherMod = copyWatcherMod;
|
|
33
33
|
function disableIsaacScriptWatcherAutomaticRestart(watcherModPath, verbose) {
|
|
34
34
|
const mainLuaPath = node_path_1.default.join(watcherModPath, constants_js_1.MAIN_LUA);
|
|
35
|
-
const mainLua =
|
|
35
|
+
const mainLua = (0, file_js_1.readFile)(mainLuaPath, verbose);
|
|
36
36
|
const modifiedMainLua = mainLua.replace("local RESTART_GAME_ON_RECOMPILATION = true", "local RESTART_GAME_ON_RECOMPILATION = false");
|
|
37
|
-
|
|
37
|
+
(0, file_js_1.writeFile)(mainLuaPath, modifiedMainLua, verbose);
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=copyWatcherMod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyWatcherMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/copyWatcherMod.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAK4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"copyWatcherMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/copyWatcherMod.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAK4B;AAC5B,2CAMuB;AAEvB,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,IAAA,oBAAU,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAE9D,4FAA4F;IAC5F,6BAA6B;IAC7B,IAAI,IAAA,oBAAU,EAAC,cAAc,EAAE,OAAO,CAAC,EAAE;QACvC,IAAA,+BAAqB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KAChD;IAED,IAAA,kBAAQ,EAAC,sCAAuB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAI,kBAAkB,EAAE;QACtB,iFAAiF;QACjF,IAAA,mBAAS,EAAC,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;KACvC;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,IAAA,kBAAQ,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CACrC,4CAA4C,EAC5C,6CAA6C,CAC9C,CAAC;IAEF,IAAA,mBAAS,EAAC,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
|