isaacscript 1.1.38 → 1.1.42
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/.cspell.json +1 -0
- package/build.sh +4 -0
- package/dist/package.json +7 -7
- package/dist/src/commands/copy/copy.js +1 -1
- package/dist/src/commands/copy/copy.js.map +1 -1
- package/dist/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +1 -1
- package/dist/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +1 -1
- package/dist/src/commands/monitor/saveDatWriter/saveDatWriter.js +2 -2
- package/dist/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
- package/dist/src/commands/publish/publish.js +11 -9
- package/dist/src/commands/publish/publish.js.map +1 -1
- package/dist/src/main.js +0 -2
- package/dist/src/main.js.map +1 -1
- package/dist/src/monkeyPatch.js +16 -7
- package/dist/src/monkeyPatch.js.map +1 -1
- package/dist/src/parseArgs.js +5 -1
- package/dist/src/parseArgs.js.map +1 -1
- package/dist/src/util.js +0 -1
- package/dist/src/util.js.map +1 -1
- package/dist/src/validateNodeVersion.js +1 -1
- package/dist/src/validateNodeVersion.js.map +1 -1
- package/file-templates/static/lint.sh +3 -1
- package/lint.sh +3 -1
- package/package.json +7 -7
- package/src/commands/copy/copy.ts +1 -1
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.ts +1 -1
- package/src/commands/monitor/saveDatWriter/saveDatWriter.ts +2 -2
- package/src/commands/publish/publish.ts +15 -9
- package/src/main.ts +2 -4
- package/src/monkeyPatch.ts +19 -7
- package/src/parseArgs.ts +5 -1
- package/src/util.ts +1 -2
- package/src/validateNodeVersion.ts +1 -1
- package/tsconfig.json +4 -4
package/.cspell.json
CHANGED
package/build.sh
CHANGED
|
@@ -10,6 +10,8 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
|
10
10
|
# https://stackoverflow.com/questions/23162299/how-to-get-the-last-part-of-dirname-in-bash/23162553
|
|
11
11
|
REPO="$(basename "$DIR")"
|
|
12
12
|
|
|
13
|
+
SECONDS=0
|
|
14
|
+
|
|
13
15
|
cd "$DIR"
|
|
14
16
|
|
|
15
17
|
# Cleanup
|
|
@@ -24,3 +26,5 @@ rm -rf "$HOME/AppData/Roaming/npm/node_modules/$REPO" # Previous link from "npm
|
|
|
24
26
|
npx tsc
|
|
25
27
|
touch "$DIR/dist/.npmignore"
|
|
26
28
|
npm install . --global
|
|
29
|
+
|
|
30
|
+
echo "Successfully built in $SECONDS seconds."
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.42",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript",
|
|
5
5
|
"homepage": "https://isaacscript.github.io/",
|
|
6
6
|
"bugs": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"isaacscript": "./dist/src/main.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"chalk": "^
|
|
19
|
+
"chalk": "^5.0.0",
|
|
20
20
|
"command-exists": "^1.2.9",
|
|
21
21
|
"dotenv": "^10.0.0",
|
|
22
22
|
"figlet": "^1.5.2",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"moment": "^2.29.1",
|
|
26
26
|
"npm-check-updates": "^12.0.2",
|
|
27
27
|
"prompts": "^2.4.2",
|
|
28
|
-
"source-map-support": "^0.5.
|
|
29
|
-
"sync-directory": "^4.0.
|
|
28
|
+
"source-map-support": "^0.5.21",
|
|
29
|
+
"sync-directory": "^4.0.7",
|
|
30
30
|
"typescript": "4.4.4",
|
|
31
31
|
"typescript-to-lua": "^1.1.1",
|
|
32
32
|
"update-notifier": "^5.1.0",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"@types/command-exists": "^1.2.0",
|
|
37
37
|
"@types/figlet": "^1.5.4",
|
|
38
38
|
"@types/fs-extra": "^9.0.13",
|
|
39
|
-
"@types/node": "^16.11.
|
|
39
|
+
"@types/node": "^16.11.10",
|
|
40
40
|
"@types/prompts": "^2.0.14",
|
|
41
41
|
"@types/source-map-support": "^0.5.4",
|
|
42
42
|
"@types/update-notifier": "^5.1.0",
|
|
43
|
-
"@types/yargs": "^17.0.
|
|
44
|
-
"isaacscript-lint": "^1.0.
|
|
43
|
+
"@types/yargs": "^17.0.7",
|
|
44
|
+
"isaacscript-lint": "^1.0.67"
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -36,8 +36,8 @@ function copy(config) {
|
|
|
36
36
|
exports.copy = copy;
|
|
37
37
|
function compileAndCopy(modSourcePath, modTargetPath) {
|
|
38
38
|
compile();
|
|
39
|
+
(0, monkeyPatch_1.monkeyPatchMainLua)(modSourcePath);
|
|
39
40
|
copyMod(modSourcePath, modTargetPath);
|
|
40
|
-
(0, monkeyPatch_1.monkeyPatchMainLua)(modTargetPath);
|
|
41
41
|
}
|
|
42
42
|
exports.compileAndCopy = compileAndCopy;
|
|
43
43
|
function compile() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/commands/copy/copy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,+CAAkD;AAClD,iDAAmC;AACnC,mDAAuD;AAEvD,qCAAkE;AAElE,SAAgB,IAAI,CAAC,MAAc;IACjC,MAAM,sBAAsB,GAAG,IAAA,gCAAyB,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAC9E,cAAc,CAAC,2BAAe,EAAE,aAAa,CAAC,CAAC;AACjD,CAAC;AAJD,oBAIC;AAED,SAAgB,cAAc,CAC5B,aAAqB,EACrB,aAAqB;IAErB,OAAO,EAAE,CAAC;IACV,
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/commands/copy/copy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,+CAAkD;AAClD,iDAAmC;AACnC,mDAAuD;AAEvD,qCAAkE;AAElE,SAAgB,IAAI,CAAC,MAAc;IACjC,MAAM,sBAAsB,GAAG,IAAA,gCAAyB,EAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAC9E,cAAc,CAAC,2BAAe,EAAE,aAAa,CAAC,CAAC;AACjD,CAAC;AAJD,oBAIC;AAED,SAAgB,cAAc,CAC5B,aAAqB,EACrB,aAAqB;IAErB,OAAO,EAAE,CAAC;IACV,IAAA,gCAAkB,EAAC,aAAa,CAAC,CAAC;IAClC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAPD,wCAOC;AAED,SAAS,OAAO;IACd,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,OAAO,CAAC,aAAqB,EAAE,aAAqB;IAC3D,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -34,7 +34,7 @@ function afterEachSync(params) {
|
|
|
34
34
|
if (params === undefined) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
if (params.relativePath ===
|
|
37
|
+
if (params.relativePath === path_1.default.sep + constants_1.MAIN_LUA) {
|
|
38
38
|
(0, monkeyPatch_1.monkeyPatchMainLua)(modTargetPath);
|
|
39
39
|
}
|
|
40
40
|
if (params.eventType !== "init:copy") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modDirectorySyncer.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/modDirectorySyncer/modDirectorySyncer.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;AAE7C,gDAAwB;AACxB,oEAA2C;AAC3C,kDAAmE;AACnE,sDAA0D;AAE1D,IAAI,aAAqB,CAAC;AAC1B,IAAI,aAAqB,CAAC;AAE1B,IAAI,EAAE,CAAC;AAEP,SAAS,IAAI;IACX,MAAM,OAAO,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE;QACvC,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;KACH;IAED,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhC,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,YAAY,KAAK,
|
|
1
|
+
{"version":3,"file":"modDirectorySyncer.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/modDirectorySyncer/modDirectorySyncer.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;AAE7C,gDAAwB;AACxB,oEAA2C;AAC3C,kDAAmE;AACnE,sDAA0D;AAE1D,IAAI,aAAqB,CAAC;AAC1B,IAAI,aAAqB,CAAC;AAE1B,IAAI,EAAE,CAAC;AAEP,SAAS,IAAI;IACX,MAAM,OAAO,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE;QACvC,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;KACH;IAED,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhC,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,YAAY,KAAK,cAAI,CAAC,GAAG,GAAG,oBAAQ,EAAE;QAC/C,IAAA,gCAAkB,EAAC,aAAa,CAAC,CAAC;KACnC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE;QACpC,IAAI,CAAC,GAAG,+BAAmB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;KACvD;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAU;IACzB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnB;AACH,CAAC"}
|
|
@@ -63,7 +63,7 @@ function onMessage(type, data, numRetries = 0) {
|
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
addMessageToSaveDat(type, saveDat, data); // Mutates saveDat
|
|
66
|
-
writeSaveDatToDisk(type, data,
|
|
66
|
+
writeSaveDatToDisk(type, data, saveDat, numRetries);
|
|
67
67
|
}
|
|
68
68
|
function readSaveDatFromDisk() {
|
|
69
69
|
let saveDat;
|
|
@@ -110,7 +110,7 @@ function addMessageToSaveDat(type, saveDat, data) {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
function writeSaveDatToDisk(type, data, numRetries = 0
|
|
113
|
+
function writeSaveDatToDisk(type, data, saveDat, numRetries = 0) {
|
|
114
114
|
const saveDatRaw = JSON.stringify(saveDat, null, 2);
|
|
115
115
|
try {
|
|
116
116
|
file.writeTry(saveDatPath, saveDatRaw);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveDatWriter.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/saveDatWriter/saveDatWriter.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;AAE7C,kDAA0B;AAC1B,oDAAsC;AACtC,gDAAwB;AACxB,oDAAsC;AACtC,wCAAsD;AAGtD,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,IAAI,WAAmB,CAAC;AACxB,IAAI,eAAuB,CAAC;AAE5B,IAAI,EAAE,CAAC;AAEP,SAAS,IAAI;IACX,MAAM,OAAO,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,EAAE;QACvC,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;KACH;IAED,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,eAAe,GAAG,cAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE7C,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;QACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;KAClC;IAED,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAmB,EAAE,EAAE;QAC5C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAwB,EAAE,IAAY,EAAE,UAAU,GAAG,CAAC;IACvE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY,EAAE;QACjC,gCAAgC;QAChC,0BAA0B;QAC1B,qEAAqE;QACrE,oEAAoE;QACpE,+CAA+C;QAC/C,kEAAkE;QAClE,+CAA+C;QAC/C,oEAAoE;QACpE,OAAO;KACR;IACD,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB;IAC5D,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"saveDatWriter.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/saveDatWriter/saveDatWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,24 +27,24 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
27
27
|
const path_1 = __importDefault(require("path"));
|
|
28
28
|
const constants_1 = require("../../constants");
|
|
29
29
|
const file = __importStar(require("../../file"));
|
|
30
|
-
const monkeyPatch_1 = require("../../monkeyPatch");
|
|
31
30
|
const util_1 = require("../../util");
|
|
32
31
|
const copy_1 = require("../copy/copy");
|
|
33
32
|
function publish(argv, config) {
|
|
34
|
-
const
|
|
33
|
+
const skipVersionIncrement = argv.skipVersionIncrement === true;
|
|
35
34
|
const setVersion = argv.setversion;
|
|
35
|
+
const dryRun = argv.dryRun === true;
|
|
36
36
|
const modTargetDirectoryName = (0, util_1.getModTargetDirectoryName)(config);
|
|
37
37
|
const modTargetPath = path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
38
38
|
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
39
39
|
(0, util_1.error)(chalk_1.default.red(`The version of "${setVersion}" does not match the semantic versioning format.`));
|
|
40
40
|
}
|
|
41
|
-
startPublish(constants_1.MOD_SOURCE_PATH, modTargetPath,
|
|
41
|
+
startPublish(constants_1.MOD_SOURCE_PATH, modTargetPath, skipVersionIncrement, setVersion, config.steamCmdPath, dryRun);
|
|
42
42
|
}
|
|
43
43
|
exports.publish = publish;
|
|
44
|
-
function startPublish(modSourcePath, modTargetPath,
|
|
44
|
+
function startPublish(modSourcePath, modTargetPath, skipVersionIncrement, setVersion, steamCmdPath, dryRun) {
|
|
45
45
|
updateDeps();
|
|
46
46
|
let version = setVersion === undefined ? getVersionFromPackageJSON() : setVersion;
|
|
47
|
-
if (!
|
|
47
|
+
if (!skipVersionIncrement && setVersion === undefined) {
|
|
48
48
|
version = bumpVersionInPackageJSON(version);
|
|
49
49
|
}
|
|
50
50
|
else if (setVersion !== undefined) {
|
|
@@ -55,12 +55,14 @@ function startPublish(modSourcePath, modTargetPath, skip, setVersion, steamCmdPa
|
|
|
55
55
|
writeVersionToVersionTXT(version);
|
|
56
56
|
runReleaseScriptPreCopy();
|
|
57
57
|
(0, copy_1.compileAndCopy)(modSourcePath, modTargetPath);
|
|
58
|
-
(0, monkeyPatch_1.monkeyPatchMainLua)(modTargetPath);
|
|
59
58
|
purgeRoomXMLs(modTargetPath);
|
|
60
59
|
runReleaseScriptPostCopy();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
if (!dryRun) {
|
|
61
|
+
gitCommitIfChanges(version);
|
|
62
|
+
uploadMod(modTargetPath, steamCmdPath);
|
|
63
|
+
}
|
|
64
|
+
const dryRunSuffix = dryRun ? " (dry run)" : "";
|
|
65
|
+
console.log(`\nPublished version ${version} successfully${dryRunSuffix}.`);
|
|
64
66
|
}
|
|
65
67
|
function updateDeps() {
|
|
66
68
|
(0, util_1.execShell)("npx", [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/publish/publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CASyB;AACzB,iDAAmC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/publish/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/src/main.js
CHANGED
|
@@ -71,9 +71,7 @@ function printBanner() {
|
|
|
71
71
|
console.log(version.padStart(leftPaddingAmount));
|
|
72
72
|
console.log();
|
|
73
73
|
}
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
74
|
async function handleCommands(argv) {
|
|
76
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
77
75
|
const positionalArgs = argv._;
|
|
78
76
|
let command;
|
|
79
77
|
if (positionalArgs.length > 0) {
|
package/dist/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kDAA0B;AAC1B,+CAAiC;AACjC,oDAA4B;AAC5B,gDAAwB;AACxB,4EAAkD;AAClD,sEAA6C;AAC7C,mEAAkC;AAClC,+EAA4E;AAC5E,+CAA4C;AAC5C,+CAA4C;AAC5C,wDAAqD;AACrD,wDAAqD;AACrD,yDAA2C;AAC3C,2CAAkC;AAClC,2CAAwC;AACxC,6CAA2D;AAC3D,2CAAwC;AACxC,iCAA+C;AAC/C,iFAA8E;AAC9E,+DAA4D;AAC5D,6CAA0C;AAE1C,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAA,YAAK,EAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,4BAAgB,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAA,yCAAmB,GAAE,CAAC;IACtB,IAAA,uBAAU,GAAE,CAAC;IAEb,kDAAkD;IAClD,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,eAAG,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAEjC,6BAA6B;IAC7B,MAAM,IAAI,GAAG,IAAA,qBAAS,GAAE,CAAC;IAEzB,WAAW,EAAE,CAAC;IAEd,0BAA0B;IAC1B,IAAA,yBAAc,EAAC,EAAE,GAAG,EAAH,sBAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAEjC,oBAAoB;IACpB,MAAM,IAAA,yDAA2B,GAAE,CAAC;IAEpC,MAAM,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/src/monkeyPatch.js
CHANGED
|
@@ -26,7 +26,7 @@ exports.monkeyPatchMainLua = void 0;
|
|
|
26
26
|
const path_1 = __importDefault(require("path"));
|
|
27
27
|
const constants_1 = require("./constants");
|
|
28
28
|
const file = __importStar(require("./file"));
|
|
29
|
-
const
|
|
29
|
+
const INFORMATIONAL_HEADER = `--[[
|
|
30
30
|
|
|
31
31
|
This Isaac mod was created with the IsaacScript tool.
|
|
32
32
|
|
|
@@ -42,20 +42,29 @@ see the official website: https://isaacscript.github.io/
|
|
|
42
42
|
--]]
|
|
43
43
|
|
|
44
44
|
`;
|
|
45
|
+
function monkeyPatchMainLua(targetModDirectory) {
|
|
46
|
+
const mainLuaPath = path_1.default.join(targetModDirectory, constants_1.MAIN_LUA);
|
|
47
|
+
let mainLua = file.read(mainLuaPath);
|
|
48
|
+
mainLua = patchInformationalHeader(mainLua);
|
|
49
|
+
mainLua = patchGlobalObjects(mainLua);
|
|
50
|
+
file.write(mainLuaPath, mainLua);
|
|
51
|
+
}
|
|
52
|
+
exports.monkeyPatchMainLua = monkeyPatchMainLua;
|
|
53
|
+
// Add an informational header for people who happen to be browsing the Lua output
|
|
54
|
+
function patchInformationalHeader(mainLua) {
|
|
55
|
+
return INFORMATIONAL_HEADER + mainLua;
|
|
56
|
+
}
|
|
45
57
|
// Some TSTL objects (such as Map and Set) are written as global variables,
|
|
46
58
|
// which can cause multiple mods written with IsaacScript to trample on one another
|
|
47
59
|
// Until TSTL has an official fix, monkey patch this
|
|
48
60
|
// We also make sure of this function to compose a stock comment header for curious people looking
|
|
49
61
|
// at the transpiled Lua code
|
|
50
|
-
function
|
|
51
|
-
|
|
52
|
-
let mainLua = file.read(mainLuaPath);
|
|
62
|
+
function patchGlobalObjects(originalMainLua) {
|
|
63
|
+
let mainLua = originalMainLua;
|
|
53
64
|
mainLua = mainLua.replace("WeakMap = (function", "WeakMap = WeakMap or (function");
|
|
54
65
|
mainLua = mainLua.replace("WeakSet = (function", "WeakSet = WeakSet or (function");
|
|
55
66
|
mainLua = mainLua.replace("Map = (function", "Map = Map or (function");
|
|
56
67
|
mainLua = mainLua.replace("Set = (function", "Set = Set or (function");
|
|
57
|
-
|
|
58
|
-
file.write(mainLuaPath, mainLua);
|
|
68
|
+
return mainLua;
|
|
59
69
|
}
|
|
60
|
-
exports.monkeyPatchMainLua = monkeyPatchMainLua;
|
|
61
70
|
//# sourceMappingURL=monkeyPatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monkeyPatch.js","sourceRoot":"","sources":["../../src/monkeyPatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,2CAAuC;AACvC,6CAA+B;AAE/B,MAAM,
|
|
1
|
+
{"version":3,"file":"monkeyPatch.js","sourceRoot":"","sources":["../../src/monkeyPatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,2CAAuC;AACvC,6CAA+B;AAE/B,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;CAe5B,CAAC;AAEF,SAAgB,kBAAkB,CAAC,kBAA0B;IAC3D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,oBAAQ,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAErC,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AARD,gDAQC;AAED,kFAAkF;AAClF,SAAS,wBAAwB,CAAC,OAAe;IAC/C,OAAO,oBAAoB,GAAG,OAAO,CAAC;AACxC,CAAC;AAED,2EAA2E;AAC3E,mFAAmF;AACnF,oDAAoD;AACpD,kGAAkG;AAClG,6BAA6B;AAC7B,SAAS,kBAAkB,CAAC,eAAuB;IACjD,IAAI,OAAO,GAAG,eAAe,CAAC;IAE9B,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,qBAAqB,EACrB,gCAAgC,CACjC,CAAC;IACF,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,qBAAqB,EACrB,gCAAgC,CACjC,CAAC;IACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;IACvE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;IAEvE,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/src/parseArgs.js
CHANGED
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parseArgs = void 0;
|
|
7
7
|
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
9
8
|
function parseArgs() {
|
|
10
9
|
const yargsObject = (0, yargs_1.default)(process.argv.slice(2))
|
|
11
10
|
.strict()
|
|
@@ -61,6 +60,11 @@ function parseArgs() {
|
|
|
61
60
|
alias: "t",
|
|
62
61
|
type: "string",
|
|
63
62
|
description: "specify the version number instead of incrementing it",
|
|
63
|
+
})
|
|
64
|
+
.option("dryrun", {
|
|
65
|
+
alias: "d",
|
|
66
|
+
type: "boolean",
|
|
67
|
+
description: "skip invoking steamcmd",
|
|
64
68
|
});
|
|
65
69
|
})
|
|
66
70
|
.alias("h", "help") // By default, only "--help" is enabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../../src/parseArgs.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../../src/parseArgs.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,SAAgB,SAAS;IACvB,MAAM,WAAW,GAAG,IAAA,eAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC7C,MAAM,EAAE;SACR,KAAK,CAAC,wCAAwC,CAAC;SAC/C,UAAU,CAAC,aAAa,CAAC;SAEzB,OAAO,CACN,SAAS,EACT,0CAA0C,EAC1C,CAAC,OAAO,EAAE,EAAE;QACV,OAAO,OAAO;aACX,MAAM,CAAC,gBAAgB,EAAE;YACxB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oDAAoD;SAClE,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClB,WAAW,EAAE,oCAAoC;SAClD,CAAC,CAAC;IACP,CAAC,CACF;SAEA,OAAO,CAAC,aAAa,EAAE,mCAAmC,EAAE,CAAC,OAAO,EAAE,EAAE;QACvE,OAAO,OAAO;aACX,MAAM,CAAC,iBAAiB,EAAE;YACzB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uDAAuD;SACrE,CAAC;aACD,MAAM,CAAC,gBAAgB,EAAE;YACxB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oDAAoD;SAClE,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClB,WAAW,EAAE,oCAAoC;SAClD,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,iDAAiD;SAC/D,CAAC,CAAC;IACP,CAAC,CAAC;SAED,OAAO,CAAC,MAAM,EAAE,8BAA8B,CAAC;SAE/C,OAAO,CACN,SAAS,EACT,6CAA6C,EAC7C,CAAC,OAAO,EAAE,EAAE;QACV,OAAO,OAAO;aACX,MAAM,CAAC,MAAM,EAAE;YACd,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,sCAAsC;SACpD,CAAC;aACD,MAAM,CAAC,YAAY,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uDAAuD;SAC1D,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YAChB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wBAAwB;SACtC,CAAC,CAAC;IACP,CAAC,CACF;SAEA,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,uCAAuC;SAC1D,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,0CAA0C;IAEpE,OAAO,WAAW,CAAC,IAAI,CAAC;AAC1B,CAAC;AAhFD,8BAgFC"}
|
package/dist/src/util.js
CHANGED
|
@@ -12,7 +12,6 @@ const constants_1 = require("./constants");
|
|
|
12
12
|
// the linter to complain if a case was not predicted
|
|
13
13
|
const ensureAllCases = (obj) => obj;
|
|
14
14
|
exports.ensureAllCases = ensureAllCases;
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
15
|
function error(...args) {
|
|
17
16
|
console.error(...args);
|
|
18
17
|
process.exit(1);
|
package/dist/src/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iDAAsE;AACtE,oDAA4B;AAC5B,2CAA0D;AAG1D,uDAAuD;AACvD,qDAAqD;AAC9C,MAAM,cAAc,GAAG,CAAC,GAAU,EAAS,EAAE,CAAC,GAAG,CAAC;AAA5C,QAAA,cAAc,kBAA8B;AAEzD,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
8
8
|
const util_1 = require("./util");
|
|
9
9
|
const REQUIRED_MAJOR_VERSION = 16;
|
|
10
10
|
// IsaacScript requires Node to be at least v16.0.0
|
|
11
|
-
// (I tested on Node v15.0.0, and ),
|
|
12
11
|
// since that is the version that added the "fs.rmSync()" function
|
|
12
|
+
// (I tested on Node v15.0.0 and it failed)
|
|
13
13
|
function validateNodeVersion() {
|
|
14
14
|
const { version } = process;
|
|
15
15
|
const match = /^v(\d+)\.(\d+)\.(\d)+$/g.exec(version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateNodeVersion.js","sourceRoot":"","sources":["../../src/validateNodeVersion.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iCAA+B;AAE/B,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,mDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"validateNodeVersion.js","sourceRoot":"","sources":["../../src/validateNodeVersion.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iCAA+B;AAE/B,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,mDAAmD;AACnD,kEAAkE;AAClE,2CAA2C;AAC3C,SAAgB,mBAAmB;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,IAAA,YAAK,EAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;KAC7D;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QAC9B,IAAA,YAAK,EACH,kDAAkD,kBAAkB,EAAE,CACvE,CAAC;KACH;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QAC9B,IAAA,YAAK,EACH,kDAAkD,kBAAkB,EAAE,CACvE,CAAC;KACH;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QAC9B,IAAA,YAAK,EACH,kDAAkD,kBAAkB,EAAE,CACvE,CAAC;KACH;IAED,IAAI,YAAY,IAAI,sBAAsB,EAAE;QAC1C,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,4BAA4B,eAAK,CAAC,GAAG,CACnC,GAAG,kBAAkB,IAAI,kBAAkB,IAAI,kBAAkB,EAAE,CACpE,EAAE,CACJ,CAAC;IACF,OAAO,CAAC,KAAK,CACX,6CAA6C,eAAK,CAAC,GAAG,CACpD,QAAQ,CACT,cAAc,CAChB,CAAC;IACF,OAAO,CAAC,KAAK,CACX,kEAAkE,CACnE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAlDD,kDAkDC"}
|
|
@@ -13,6 +13,8 @@ if (($NODE_VERSION < 16)); then
|
|
|
13
13
|
exit 1
|
|
14
14
|
fi
|
|
15
15
|
|
|
16
|
+
SECONDS=0
|
|
17
|
+
|
|
16
18
|
cd "$DIR"
|
|
17
19
|
|
|
18
20
|
# Step 1 - Use ESLint to lint the TypeScript
|
|
@@ -25,4 +27,4 @@ npx eslint --max-warnings 0 src
|
|
|
25
27
|
npx cspell --no-progress --no-summary "src/**/*.ts"
|
|
26
28
|
npx cspell --no-progress --no-summary "mods/metadata.xml"
|
|
27
29
|
|
|
28
|
-
echo "
|
|
30
|
+
echo "Successfully linted in $SECONDS seconds."
|
package/lint.sh
CHANGED
|
@@ -13,6 +13,8 @@ if (($NODE_VERSION < 16)); then
|
|
|
13
13
|
exit 1
|
|
14
14
|
fi
|
|
15
15
|
|
|
16
|
+
SECONDS=0
|
|
17
|
+
|
|
16
18
|
cd "$DIR"
|
|
17
19
|
|
|
18
20
|
# Step 1 - Use ESLint to lint the TypeScript
|
|
@@ -28,4 +30,4 @@ npx cspell --no-progress --no-summary "src/**/*.ts"
|
|
|
28
30
|
# The "--error" flag makes it return an error code of 1 if unused exports are found
|
|
29
31
|
npx ts-prune --error
|
|
30
32
|
|
|
31
|
-
echo "
|
|
33
|
+
echo "Successfully linted in $SECONDS seconds."
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.42",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript",
|
|
5
5
|
"homepage": "https://isaacscript.github.io/",
|
|
6
6
|
"bugs": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"isaacscript": "./dist/src/main.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"chalk": "^
|
|
19
|
+
"chalk": "^5.0.0",
|
|
20
20
|
"command-exists": "^1.2.9",
|
|
21
21
|
"dotenv": "^10.0.0",
|
|
22
22
|
"figlet": "^1.5.2",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"moment": "^2.29.1",
|
|
26
26
|
"npm-check-updates": "^12.0.2",
|
|
27
27
|
"prompts": "^2.4.2",
|
|
28
|
-
"source-map-support": "^0.5.
|
|
29
|
-
"sync-directory": "^4.0.
|
|
28
|
+
"source-map-support": "^0.5.21",
|
|
29
|
+
"sync-directory": "^4.0.7",
|
|
30
30
|
"typescript": "4.4.4",
|
|
31
31
|
"typescript-to-lua": "^1.1.1",
|
|
32
32
|
"update-notifier": "^5.1.0",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"@types/command-exists": "^1.2.0",
|
|
37
37
|
"@types/figlet": "^1.5.4",
|
|
38
38
|
"@types/fs-extra": "^9.0.13",
|
|
39
|
-
"@types/node": "^16.11.
|
|
39
|
+
"@types/node": "^16.11.10",
|
|
40
40
|
"@types/prompts": "^2.0.14",
|
|
41
41
|
"@types/source-map-support": "^0.5.4",
|
|
42
42
|
"@types/update-notifier": "^5.1.0",
|
|
43
|
-
"@types/yargs": "^17.0.
|
|
44
|
-
"isaacscript-lint": "^1.0.
|
|
43
|
+
"@types/yargs": "^17.0.7",
|
|
44
|
+
"isaacscript-lint": "^1.0.67"
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -51,7 +51,7 @@ function onMessage(type: SaveDatMessageType, data: string, numRetries = 0) {
|
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
addMessageToSaveDat(type, saveDat, data); // Mutates saveDat
|
|
54
|
-
writeSaveDatToDisk(type, data,
|
|
54
|
+
writeSaveDatToDisk(type, data, saveDat, numRetries);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
function readSaveDatFromDisk() {
|
|
@@ -111,8 +111,8 @@ function addMessageToSaveDat(
|
|
|
111
111
|
function writeSaveDatToDisk(
|
|
112
112
|
type: SaveDatMessageType,
|
|
113
113
|
data: string,
|
|
114
|
-
numRetries = 0,
|
|
115
114
|
saveDat: SaveDatMessage[],
|
|
115
|
+
numRetries = 0,
|
|
116
116
|
) {
|
|
117
117
|
const saveDatRaw = JSON.stringify(saveDat, null, 2);
|
|
118
118
|
try {
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
VERSION_TXT_PATH,
|
|
12
12
|
} from "../../constants";
|
|
13
13
|
import * as file from "../../file";
|
|
14
|
-
import { monkeyPatchMainLua } from "../../monkeyPatch";
|
|
15
14
|
import { Config } from "../../types/Config";
|
|
16
15
|
import {
|
|
17
16
|
error,
|
|
@@ -22,8 +21,10 @@ import {
|
|
|
22
21
|
import { compileAndCopy } from "../copy/copy";
|
|
23
22
|
|
|
24
23
|
export function publish(argv: Record<string, unknown>, config: Config): void {
|
|
25
|
-
const
|
|
24
|
+
const skipVersionIncrement = argv.skipVersionIncrement === true;
|
|
26
25
|
const setVersion = argv.setversion as string | undefined;
|
|
26
|
+
const dryRun = argv.dryRun === true;
|
|
27
|
+
|
|
27
28
|
const modTargetDirectoryName = getModTargetDirectoryName(config);
|
|
28
29
|
const modTargetPath = path.join(config.modsDirectory, modTargetDirectoryName);
|
|
29
30
|
|
|
@@ -38,24 +39,26 @@ export function publish(argv: Record<string, unknown>, config: Config): void {
|
|
|
38
39
|
startPublish(
|
|
39
40
|
MOD_SOURCE_PATH,
|
|
40
41
|
modTargetPath,
|
|
41
|
-
|
|
42
|
+
skipVersionIncrement,
|
|
42
43
|
setVersion,
|
|
43
44
|
config.steamCmdPath,
|
|
45
|
+
dryRun,
|
|
44
46
|
);
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
function startPublish(
|
|
48
50
|
modSourcePath: string,
|
|
49
51
|
modTargetPath: string,
|
|
50
|
-
|
|
52
|
+
skipVersionIncrement: boolean,
|
|
51
53
|
setVersion: string | undefined,
|
|
52
54
|
steamCmdPath: string | undefined,
|
|
55
|
+
dryRun: boolean,
|
|
53
56
|
) {
|
|
54
57
|
updateDeps();
|
|
55
58
|
|
|
56
59
|
let version =
|
|
57
60
|
setVersion === undefined ? getVersionFromPackageJSON() : setVersion;
|
|
58
|
-
if (!
|
|
61
|
+
if (!skipVersionIncrement && setVersion === undefined) {
|
|
59
62
|
version = bumpVersionInPackageJSON(version);
|
|
60
63
|
} else if (setVersion !== undefined) {
|
|
61
64
|
writeVersionInPackageJSON(version);
|
|
@@ -66,13 +69,16 @@ function startPublish(
|
|
|
66
69
|
writeVersionToVersionTXT(version);
|
|
67
70
|
runReleaseScriptPreCopy();
|
|
68
71
|
compileAndCopy(modSourcePath, modTargetPath);
|
|
69
|
-
monkeyPatchMainLua(modTargetPath);
|
|
70
72
|
purgeRoomXMLs(modTargetPath);
|
|
71
73
|
runReleaseScriptPostCopy();
|
|
72
|
-
gitCommitIfChanges(version);
|
|
73
|
-
uploadMod(modTargetPath, steamCmdPath);
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
if (!dryRun) {
|
|
76
|
+
gitCommitIfChanges(version);
|
|
77
|
+
uploadMod(modTargetPath, steamCmdPath);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const dryRunSuffix = dryRun ? " (dry run)" : "";
|
|
81
|
+
console.log(`\nPublished version ${version} successfully${dryRunSuffix}.`);
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
function updateDeps() {
|
package/src/main.ts
CHANGED
|
@@ -46,7 +46,7 @@ async function main(): Promise<void> {
|
|
|
46
46
|
// Pre-flight checks
|
|
47
47
|
await checkForWindowsTerminalBugs();
|
|
48
48
|
|
|
49
|
-
await handleCommands(argv);
|
|
49
|
+
await handleCommands(argv as Record<string, unknown>);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
function printBanner() {
|
|
@@ -58,9 +58,7 @@ function printBanner() {
|
|
|
58
58
|
console.log();
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
async function handleCommands(argv: any) {
|
|
63
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
61
|
+
async function handleCommands(argv: Record<string, unknown>) {
|
|
64
62
|
const positionalArgs = argv._ as string[];
|
|
65
63
|
let command: Command;
|
|
66
64
|
if (positionalArgs.length > 0) {
|
package/src/monkeyPatch.ts
CHANGED
|
@@ -2,7 +2,7 @@ import path from "path";
|
|
|
2
2
|
import { MAIN_LUA } from "./constants";
|
|
3
3
|
import * as file from "./file";
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const INFORMATIONAL_HEADER = `--[[
|
|
6
6
|
|
|
7
7
|
This Isaac mod was created with the IsaacScript tool.
|
|
8
8
|
|
|
@@ -19,14 +19,28 @@ see the official website: https://isaacscript.github.io/
|
|
|
19
19
|
|
|
20
20
|
`;
|
|
21
21
|
|
|
22
|
+
export function monkeyPatchMainLua(targetModDirectory: string): void {
|
|
23
|
+
const mainLuaPath = path.join(targetModDirectory, MAIN_LUA);
|
|
24
|
+
let mainLua = file.read(mainLuaPath);
|
|
25
|
+
|
|
26
|
+
mainLua = patchInformationalHeader(mainLua);
|
|
27
|
+
mainLua = patchGlobalObjects(mainLua);
|
|
28
|
+
|
|
29
|
+
file.write(mainLuaPath, mainLua);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Add an informational header for people who happen to be browsing the Lua output
|
|
33
|
+
function patchInformationalHeader(mainLua: string) {
|
|
34
|
+
return INFORMATIONAL_HEADER + mainLua;
|
|
35
|
+
}
|
|
36
|
+
|
|
22
37
|
// Some TSTL objects (such as Map and Set) are written as global variables,
|
|
23
38
|
// which can cause multiple mods written with IsaacScript to trample on one another
|
|
24
39
|
// Until TSTL has an official fix, monkey patch this
|
|
25
40
|
// We also make sure of this function to compose a stock comment header for curious people looking
|
|
26
41
|
// at the transpiled Lua code
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
let mainLua = file.read(mainLuaPath);
|
|
42
|
+
function patchGlobalObjects(originalMainLua: string) {
|
|
43
|
+
let mainLua = originalMainLua;
|
|
30
44
|
|
|
31
45
|
mainLua = mainLua.replace(
|
|
32
46
|
"WeakMap = (function",
|
|
@@ -39,7 +53,5 @@ export function monkeyPatchMainLua(targetModDirectory: string): void {
|
|
|
39
53
|
mainLua = mainLua.replace("Map = (function", "Map = Map or (function");
|
|
40
54
|
mainLua = mainLua.replace("Set = (function", "Set = Set or (function");
|
|
41
55
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
file.write(mainLuaPath, mainLua);
|
|
56
|
+
return mainLua;
|
|
45
57
|
}
|
package/src/parseArgs.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import yargs from "yargs";
|
|
2
2
|
|
|
3
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
4
3
|
export function parseArgs() {
|
|
5
4
|
const yargsObject = yargs(process.argv.slice(2))
|
|
6
5
|
.strict()
|
|
@@ -68,6 +67,11 @@ export function parseArgs() {
|
|
|
68
67
|
type: "string",
|
|
69
68
|
description:
|
|
70
69
|
"specify the version number instead of incrementing it",
|
|
70
|
+
})
|
|
71
|
+
.option("dryrun", {
|
|
72
|
+
alias: "d",
|
|
73
|
+
type: "boolean",
|
|
74
|
+
description: "skip invoking steamcmd",
|
|
71
75
|
});
|
|
72
76
|
},
|
|
73
77
|
)
|
package/src/util.ts
CHANGED
|
@@ -8,8 +8,7 @@ import { Config } from "./types/Config";
|
|
|
8
8
|
// the linter to complain if a case was not predicted
|
|
9
9
|
export const ensureAllCases = (obj: never): never => obj;
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
export function error(...args: any[]): never {
|
|
11
|
+
export function error(...args: unknown[]): never {
|
|
13
12
|
console.error(...args);
|
|
14
13
|
process.exit(1);
|
|
15
14
|
}
|
|
@@ -4,8 +4,8 @@ import { error } from "./util";
|
|
|
4
4
|
const REQUIRED_MAJOR_VERSION = 16;
|
|
5
5
|
|
|
6
6
|
// IsaacScript requires Node to be at least v16.0.0
|
|
7
|
-
// (I tested on Node v15.0.0, and ),
|
|
8
7
|
// since that is the version that added the "fs.rmSync()" function
|
|
8
|
+
// (I tested on Node v15.0.0 and it failed)
|
|
9
9
|
export function validateNodeVersion(): void {
|
|
10
10
|
const { version } = process;
|
|
11
11
|
|
package/tsconfig.json
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
// https://www.typescriptlang.org/docs/handbook/compiler-options.html
|
|
8
8
|
"compilerOptions": {
|
|
9
|
-
// We need to import the "package.json" file to see what version we are running
|
|
10
|
-
// By default, this is false
|
|
11
|
-
"resolveJsonModule": true,
|
|
12
|
-
|
|
13
9
|
// "outDir" specifies the output directory
|
|
14
10
|
// By default, it will put the compiled ".js" next to the respective ".ts" file,
|
|
15
11
|
// which will clutter the "src" directory
|
|
16
12
|
"outDir": "./dist",
|
|
13
|
+
|
|
14
|
+
// We need to import the "package.json" file to see what version we are running
|
|
15
|
+
// By default, this is false
|
|
16
|
+
"resolveJsonModule": true,
|
|
17
17
|
},
|
|
18
18
|
|
|
19
19
|
// A list of the TypeScript files to compile
|