isaacscript 3.6.5 → 3.6.7
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 +2 -3
- 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 +21 -123
- package/src/commands/publish/isaacscriptMod.js.map +1 -1
- package/src/commands/publish/prePublish.js +116 -0
- package/src/commands/publish/prePublish.js.map +1 -0
- package/src/commands/publish/publish.js +26 -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 +29 -30
- package/src/git.js.map +1 -1
- package/src/json.js +13 -3
- package/src/json.js.map +1 -1
- package/src/packageManager.js +3 -13
- package/src/packageManager.js.map +1 -1
- package/src/parseArgs.js +31 -3
- 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
|
@@ -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"}
|
|
@@ -6,18 +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_child_process_1 = require("node:child_process");
|
|
8
8
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
9
|
-
const touch = tslib_1.__importStar(require("touch"));
|
|
10
9
|
const constants_js_1 = require("../../constants.js");
|
|
11
10
|
const customStage_js_1 = require("../../customStage.js");
|
|
12
11
|
const dev_js_1 = require("../../dev.js");
|
|
13
12
|
const PackageManager_js_1 = require("../../enums/PackageManager.js");
|
|
14
13
|
const exec_js_1 = require("../../exec.js");
|
|
15
|
-
const
|
|
14
|
+
const file_js_1 = require("../../file.js");
|
|
16
15
|
const json_js_1 = require("../../json.js");
|
|
17
16
|
const packageManager_js_1 = require("../../packageManager.js");
|
|
18
17
|
const tsconfig_js_1 = require("../../tsconfig.js");
|
|
19
18
|
const utils_js_1 = require("../../utils.js");
|
|
20
|
-
const constants_js_2 = require("./constants.js");
|
|
21
19
|
const copyWatcherMod_js_1 = require("./copyWatcherMod.js");
|
|
22
20
|
const notifyGame = tslib_1.__importStar(require("./notifyGame.js"));
|
|
23
21
|
const spawnSaveDatWriter_js_1 = require("./spawnSaveDatWriter.js");
|
|
@@ -28,6 +26,7 @@ const REQUIRED_PACKAGE_JSON_DEPENDENCIES = [
|
|
|
28
26
|
// - "isaacscript-common" is not required.
|
|
29
27
|
// - "isaacscript-lint" is not required.
|
|
30
28
|
// - "isaacscript-spell" is not required.
|
|
29
|
+
// - "isaacscript-tsconfig" is not required.
|
|
31
30
|
"typescript",
|
|
32
31
|
"typescript-to-lua",
|
|
33
32
|
];
|
|
@@ -62,8 +61,8 @@ async function monitor(args, config) {
|
|
|
62
61
|
await (0, customStage_js_1.prepareCustomStages)(packageManager, verbose);
|
|
63
62
|
// Delete and re-copy the mod every time IsaacScript starts. This ensures that it is always the
|
|
64
63
|
// latest version.
|
|
65
|
-
if (
|
|
66
|
-
|
|
64
|
+
if ((0, file_js_1.fileExists)(modTargetPath, verbose)) {
|
|
65
|
+
(0, file_js_1.deleteFileOrDirectory)(modTargetPath, verbose);
|
|
67
66
|
}
|
|
68
67
|
// Perform the steps to link to a development version of "isaacscript-common", if necessary.
|
|
69
68
|
if (config.isaacScriptCommonDev) {
|
|
@@ -82,8 +81,8 @@ async function monitor(args, config) {
|
|
|
82
81
|
if (config.isaacScriptCommonDev) {
|
|
83
82
|
const isaacScriptMonorepoDirectory = (0, dev_js_1.getAndValidateIsaacScriptMonorepoDirectory)(constants_js_1.CWD, verbose);
|
|
84
83
|
const isaacScriptCommonDirectory = node_path_1.default.join(isaacScriptMonorepoDirectory, "packages", "isaacscript-common");
|
|
85
|
-
if (!
|
|
86
|
-
!
|
|
84
|
+
if (!(0, file_js_1.fileExists)(isaacScriptCommonDirectory, verbose) ||
|
|
85
|
+
!(0, file_js_1.isDir)(isaacScriptCommonDirectory, verbose)) {
|
|
87
86
|
console.error(`The "isaacscript-common" directory does not exist at: ${isaacScriptCommonDirectory}`);
|
|
88
87
|
(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
88
|
}
|
|
@@ -126,14 +125,14 @@ function linkDevelopmentIsaacScriptCommon(projectPath, packageManager, verbose)
|
|
|
126
125
|
const linkScript = node_path_1.default.join(isaacScriptMonorepoDirectory, "link-isaacscript-common.sh");
|
|
127
126
|
(0, exec_js_1.execShell)("bash", [linkScript], verbose);
|
|
128
127
|
console.log('Linking this repository to the development version of "isaacscript-common"...');
|
|
129
|
-
(0, exec_js_1.
|
|
128
|
+
(0, exec_js_1.execShellString)(`${packageManager_js_1.PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT} link isaacscript-common`, verbose, false, projectPath);
|
|
130
129
|
}
|
|
131
130
|
function warnIfIsaacScriptCommonLinkExists(projectPath, packageManager, verbose) {
|
|
132
131
|
const isaacScriptCommonPath = node_path_1.default.join(projectPath, "node_modules", "isaacscript-common");
|
|
133
|
-
if (!
|
|
132
|
+
if (!(0, file_js_1.fileExists)(isaacScriptCommonPath, verbose)) {
|
|
134
133
|
return;
|
|
135
134
|
}
|
|
136
|
-
if (
|
|
135
|
+
if ((0, file_js_1.isLink)(isaacScriptCommonPath, verbose) &&
|
|
137
136
|
packageManager !== PackageManager_js_1.PackageManager.PNPM // pnpm uses links, so it will cause a false positive.
|
|
138
137
|
) {
|
|
139
138
|
(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.');
|
|
@@ -191,15 +190,15 @@ function spawnTSTLWatcher(config, cwd, packageManager, verbose, modCWD) {
|
|
|
191
190
|
const compilationFinishTime = new Date();
|
|
192
191
|
const elapsedTimeMilliseconds = compilationFinishTime.getTime() - compilationStartTime.getTime();
|
|
193
192
|
const elapsedTimeSeconds = elapsedTimeMilliseconds / 1000;
|
|
194
|
-
const newMsg = `${
|
|
193
|
+
const newMsg = `${constants_js_1.COMPILATION_SUCCESSFUL_MESSAGE} (in ${elapsedTimeSeconds} seconds)${suffix}`;
|
|
195
194
|
notifyGame.msg(newMsg);
|
|
196
195
|
// Sometimes, there is a bug where successful compilation of "isaacscript-common" will not
|
|
197
196
|
// trigger a recompilation in the mod. Work around this by always touching the "main.ts" file
|
|
198
197
|
// from the mod.
|
|
199
198
|
if (modCWD !== undefined) {
|
|
200
199
|
const mainTSPath = node_path_1.default.join(modCWD, "src", "main.ts");
|
|
201
|
-
if (
|
|
202
|
-
touch
|
|
200
|
+
if ((0, file_js_1.fileExists)(mainTSPath, verbose)) {
|
|
201
|
+
(0, file_js_1.touch)(mainTSPath, verbose);
|
|
203
202
|
}
|
|
204
203
|
}
|
|
205
204
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAAwD;AACxD,2DAAiD;AACjD,kEAA6B;
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ 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 constants_js_1 = require("../../constants.js");
|
|
6
7
|
const utils_js_1 = require("../../utils.js");
|
|
7
|
-
const constants_js_1 = require("./constants.js");
|
|
8
8
|
const spawnSaveDatWriter_js_1 = require("./spawnSaveDatWriter.js");
|
|
9
9
|
function msg(data) {
|
|
10
10
|
const formattedData = data
|
|
@@ -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(constants_js_1.
|
|
36
|
+
if (data.includes(constants_js_1.COMPILATION_SUCCESSFUL_MESSAGE)) {
|
|
37
37
|
coloredData = chalk_1.default.green(data);
|
|
38
38
|
}
|
|
39
39
|
else if (data.match(/error/g) !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifyGame.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/notifyGame.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,6CAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"notifyGame.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/notifyGame.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,qDAAoE;AACpE,6CAAyC;AACzC,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,6CAA8B,CAAC,EAAE;QACjD,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"}
|
|
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const JSONC = tslib_1.__importStar(require("jsonc-parser"));
|
|
5
5
|
const path = tslib_1.__importStar(require("node:path"));
|
|
6
6
|
const constants_js_1 = require("../../../constants.js");
|
|
7
|
-
const
|
|
7
|
+
const file_js_1 = require("../../../file.js");
|
|
8
8
|
const SUBPROCESS_NAME = "save#.dat writer";
|
|
9
9
|
const MAX_MESSAGES = 100;
|
|
10
10
|
const VERBOSE = false;
|
|
@@ -21,8 +21,8 @@ function init(verbose) {
|
|
|
21
21
|
saveDatFileName = path.basename(saveDatPath);
|
|
22
22
|
// Check to see if the data directory exists.
|
|
23
23
|
const watcherModDataPath = path.dirname(saveDatPath);
|
|
24
|
-
if (!
|
|
25
|
-
|
|
24
|
+
if (!(0, file_js_1.fileExists)(watcherModDataPath, verbose)) {
|
|
25
|
+
(0, file_js_1.makeDir)(watcherModDataPath, verbose);
|
|
26
26
|
}
|
|
27
27
|
// Listen for messages from the parent process.
|
|
28
28
|
process.on("message", (msg) => {
|
|
@@ -46,8 +46,8 @@ function onMessage(type, data, numRetries = 0) {
|
|
|
46
46
|
}
|
|
47
47
|
function readSaveDatFromDisk(verbose) {
|
|
48
48
|
let saveDat;
|
|
49
|
-
if (
|
|
50
|
-
const saveDatRaw =
|
|
49
|
+
if ((0, file_js_1.fileExists)(saveDatPath, verbose)) {
|
|
50
|
+
const saveDatRaw = (0, file_js_1.readFile)(saveDatPath, verbose);
|
|
51
51
|
try {
|
|
52
52
|
saveDat = JSONC.parse(saveDatRaw);
|
|
53
53
|
}
|
|
@@ -89,7 +89,7 @@ function addMessageToSaveDat(type, saveDat, data) {
|
|
|
89
89
|
function writeSaveDatToDisk(type, data, saveDat, numRetries, verbose) {
|
|
90
90
|
const saveDatRaw = JSON.stringify(saveDat, undefined, 2);
|
|
91
91
|
try {
|
|
92
|
-
|
|
92
|
+
(0, file_js_1.writeFileTry)(saveDatPath, saveDatRaw, verbose);
|
|
93
93
|
}
|
|
94
94
|
catch (err) {
|
|
95
95
|
if (numRetries > 4) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveDatWriter.js","sourceRoot":"","sources":["../../../../../../../packages/isaacscript-cli/src/commands/monitor/saveDatWriter/saveDatWriter.ts"],"names":[],"mappings":";;;AAAA,4DAAsC;AACtC,wDAAkC;AAClC,wDAAqD;AACrD
|
|
1
|
+
{"version":3,"file":"saveDatWriter.js","sourceRoot":"","sources":["../../../../../../../packages/isaacscript-cli/src/commands/monitor/saveDatWriter/saveDatWriter.ts"],"names":[],"mappings":";;;AAAA,4DAAsC;AACtC,wDAAkC;AAClC,wDAAqD;AACrD,8CAA+E;AAG/E,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,OAAO,GAAG,KAAK,CAAC;AAEtB,IAAI,WAAmB,CAAC;AACxB,IAAI,eAAuB,CAAC;AAE5B,IAAI,CAAC,OAAO,CAAC,CAAC;AAEd,SAAS,IAAI,CAAC,OAAgB;IAC5B,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,WAAW,GAAG,QAAQ,CAAC;IACvB,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE7C,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,oBAAU,EAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAC5C,IAAA,iBAAO,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;KACtC;IAED,+CAA+C;IAC/C,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,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY,EAAE;QACjC,iCAAiC;QACjC,yBAAyB;QACzB,oEAAoE;QAEpE,+FAA+F;QAC/F,8FAA8F;QAC9F,+FAA+F;QAC/F,YAAY;QACZ,OAAO;KACR;IACD,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB;IAC5D,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,IAAI,OAAyB,CAAC;IAC9B,IAAI,IAAA,oBAAU,EAAC,WAAW,EAAE,OAAO,CAAC,EAAE;QACpC,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI;YACF,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAqB,CAAC;SACvD;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,oBAAoB,WAAW,MAAM,GAAG,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;SAAM;QACL,OAAO,GAAG,EAAE,CAAC;KACd;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,GAAG,EAAE,CAAC;KACd;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAwB,EACxB,OAAyB,EACzB,IAAY;IAEZ,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;YAEH,MAAM;SACP;QAED,KAAK,KAAK,CAAC,CAAC;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;aACJ;YAED,MAAM;SACP;KACF;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAwB,EACxB,IAAY,EACZ,OAAyB,EACzB,UAAkB,EAClB,OAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACzD,IAAI;QACF,IAAA,sBAAY,EAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;KAChD;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,UAAU,GAAG,CAAC,EAAE;YAClB,IAAI,CACF,0BAA0B,eAAe,6DAA6D,2BAAY,qDAAqD,GAAG,EAAE,CAC7K,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QAED,IAAI,CACF,eAAe,eAAe,8CAA8C,UAAU,mCAAmC,CAC1H,CAAC;QACF,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,EAAE,GAAG,CAAC,CAAC;KACT;AACH,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"}
|
|
@@ -4,17 +4,17 @@ exports.touchWatcherSaveDatFiles = 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 touchWatcherSaveDatFiles(config, verbose) {
|
|
9
9
|
const modsDataPath = node_path_1.default.join(config.modsDirectory, "..", "data");
|
|
10
10
|
const watcherModDataPath = node_path_1.default.join(modsDataPath, constants_js_1.WATCHER_MOD_NAME);
|
|
11
|
-
if (!
|
|
12
|
-
|
|
11
|
+
if (!(0, file_js_1.fileExists)(watcherModDataPath, verbose)) {
|
|
12
|
+
(0, file_js_1.makeDir)(watcherModDataPath, verbose);
|
|
13
13
|
}
|
|
14
14
|
const saveDatFileName = `save${config.saveSlot}.dat`;
|
|
15
15
|
const saveDatPath = node_path_1.default.join(watcherModDataPath, saveDatFileName);
|
|
16
|
-
if (!
|
|
17
|
-
|
|
16
|
+
if (!(0, file_js_1.fileExists)(saveDatPath, verbose)) {
|
|
17
|
+
(0, file_js_1.touch)(saveDatPath, verbose);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.touchWatcherSaveDatFiles = touchWatcherSaveDatFiles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"touchWatcherSaveDatFiles.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/touchWatcherSaveDatFiles.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"touchWatcherSaveDatFiles.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/touchWatcherSaveDatFiles.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAE7B,qDAAsD;AACtD,2CAA2D;AAE3D,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,IAAA,oBAAU,EAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QAC5C,IAAA,iBAAO,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;KACtC;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,IAAA,oBAAU,EAAC,WAAW,EAAE,OAAO,CAAC,EAAE;QACrC,IAAA,eAAK,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KAC7B;AACH,CAAC;AAdD,4DAcC"}
|
|
@@ -3,151 +3,49 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.publishIsaacScriptMod = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
6
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
7
|
const constants_js_1 = require("../../constants.js");
|
|
9
8
|
const exec_js_1 = require("../../exec.js");
|
|
10
|
-
const
|
|
9
|
+
const file_js_1 = require("../../file.js");
|
|
11
10
|
const git_js_1 = require("../../git.js");
|
|
12
11
|
const json_js_1 = require("../../json.js");
|
|
13
12
|
const packageManager_js_1 = require("../../packageManager.js");
|
|
14
13
|
const utils_js_1 = require("../../utils.js");
|
|
15
14
|
const copy_js_1 = require("../copy/copy.js");
|
|
16
|
-
const LINT_SCRIPT_NAME = "lint.sh";
|
|
17
|
-
const UPDATE_SCRIPT_NAME = "update.sh";
|
|
18
15
|
async function publishIsaacScriptMod(args, config) {
|
|
19
|
-
const skipIncrement = args.skipIncrement === true;
|
|
20
|
-
const { setVersion } = args;
|
|
21
16
|
const dryRun = args.dryRun === true;
|
|
22
17
|
const verbose = args.verbose === true;
|
|
23
18
|
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
24
19
|
const modTargetDirectoryName = (0, utils_js_1.getModTargetDirectoryName)(config);
|
|
25
20
|
const modTargetPath = node_path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
26
|
-
|
|
27
|
-
validateGitNotDirty(packageManager, verbose);
|
|
28
|
-
validateIsaacScriptOtherCopiesNotRunning(verbose);
|
|
29
|
-
await startPublish(constants_js_1.MOD_SOURCE_PATH, modTargetPath, skipIncrement, setVersion, dryRun, packageManager, verbose);
|
|
30
|
-
}
|
|
31
|
-
exports.publishIsaacScriptMod = publishIsaacScriptMod;
|
|
32
|
-
function validateVersion(setVersion) {
|
|
33
|
-
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
34
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`The version of "${setVersion}" does not match the semantic versioning format.`));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function validateGitNotDirty(packageManager, verbose) {
|
|
38
|
-
if ((0, git_js_1.isGitDirty)(packageManager, verbose)) {
|
|
39
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red("Before publishing, you must push your current changes to git. (Version commits should be not contain any code changes.)"));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function validateIsaacScriptOtherCopiesNotRunning(verbose) {
|
|
43
|
-
if (process.platform !== "win32") {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
// From: https://securityboulevard.com/2020/01/get-process-list-with-command-line-arguments/
|
|
47
|
-
const stdout = (0, exec_js_1.execPowershell)("Get-WmiObject Win32_Process -Filter \"name = 'node.exe'\" | Select-Object -ExpandProperty CommandLine", verbose);
|
|
48
|
-
const lines = stdout.split("\r\n");
|
|
49
|
-
const otherCopiesOfRunningIsaacScript = lines.filter((line) => line.includes("node.exe") &&
|
|
50
|
-
line.includes("isaacscript") &&
|
|
51
|
-
!line.includes("isaacscript publish"));
|
|
52
|
-
if (otherCopiesOfRunningIsaacScript.length > 0) {
|
|
53
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`Other copies of ${constants_js_1.PROJECT_NAME} appear to be running. You must close those copies before publishing.`));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
async function startPublish(modSourcePath, modTargetPath, skipIncrement, setVersion, dryRun, packageManager, verbose) {
|
|
57
|
-
runBashScript(UPDATE_SCRIPT_NAME, verbose);
|
|
58
|
-
// Since we updated the dependencies, things may not longer compile or lint, so test those things
|
|
59
|
-
// before we update the version.
|
|
60
|
-
await (0, copy_js_1.compileAndCopy)(modSourcePath, modTargetPath, packageManager, verbose);
|
|
61
|
-
runBashScript(LINT_SCRIPT_NAME, verbose);
|
|
62
|
-
let version = setVersion === undefined ? getVersionFromPackageJSON(verbose) : setVersion;
|
|
63
|
-
if (!skipIncrement && setVersion === undefined) {
|
|
64
|
-
version = bumpVersionInPackageJSON(version, verbose);
|
|
65
|
-
}
|
|
66
|
-
else if (setVersion !== undefined) {
|
|
67
|
-
writeVersionInPackageJSON(version, verbose);
|
|
68
|
-
}
|
|
69
|
-
writeVersionToConstantsTS(version, verbose);
|
|
70
|
-
writeVersionToMetadataXML(version, verbose);
|
|
71
|
-
writeVersionToVersionTXT(version, verbose);
|
|
21
|
+
const version = (0, json_js_1.getProjectPackageJSONField)("version", verbose);
|
|
72
22
|
unsetDevelopmentConstant(verbose);
|
|
73
23
|
runReleaseScriptPreCopy(verbose);
|
|
74
|
-
await (0, copy_js_1.compileAndCopy)(
|
|
24
|
+
await (0, copy_js_1.compileAndCopy)(constants_js_1.MOD_SOURCE_PATH, modTargetPath, packageManager, verbose);
|
|
75
25
|
purgeRoomXMLs(modTargetPath, verbose);
|
|
76
26
|
runReleaseScriptPostCopy(verbose);
|
|
77
|
-
if (
|
|
78
|
-
(0,
|
|
27
|
+
if (dryRun) {
|
|
28
|
+
(0, exec_js_1.execShellString)("git reset --hard", verbose); // Revert the version changes.
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const releaseGitCommitMessage = (0, git_js_1.getReleaseGitCommitMessage)(version);
|
|
32
|
+
(0, git_js_1.gitCommitAllAndPush)(releaseGitCommitMessage, verbose);
|
|
79
33
|
uploadMod(modTargetPath, verbose);
|
|
80
34
|
}
|
|
81
35
|
const dryRunSuffix = dryRun ? " (dry run)" : "";
|
|
82
36
|
console.log(`\nPublished version ${version} successfully${dryRunSuffix}.`);
|
|
83
37
|
}
|
|
84
|
-
|
|
85
|
-
if (!file.exists(scriptName, verbose)) {
|
|
86
|
-
(0, isaacscript_common_ts_1.error)(`The "${scriptName}" script does not exist in the current working directory.`);
|
|
87
|
-
}
|
|
88
|
-
(0, exec_js_1.execShell)("bash", [scriptName], verbose);
|
|
89
|
-
}
|
|
90
|
-
function getVersionFromPackageJSON(verbose) {
|
|
91
|
-
if (!file.exists(constants_js_1.PACKAGE_JSON_PATH, verbose)) {
|
|
92
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`A "${constants_js_1.PACKAGE_JSON_PATH}" was not found in the current directory.`));
|
|
93
|
-
}
|
|
94
|
-
const packageJSON = (0, json_js_1.getJSONC)(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
95
|
-
const { version } = packageJSON;
|
|
96
|
-
if (typeof version !== "string") {
|
|
97
|
-
(0, isaacscript_common_ts_1.error)(`The "${chalk_1.default.green(constants_js_1.PACKAGE_JSON_PATH)}" file has an invalid "version" field.`);
|
|
98
|
-
}
|
|
99
|
-
return version;
|
|
100
|
-
}
|
|
101
|
-
function bumpVersionInPackageJSON(version, verbose) {
|
|
102
|
-
const semanticVersion = (0, isaacscript_common_ts_1.parseSemanticVersion)(version);
|
|
103
|
-
if (semanticVersion === undefined) {
|
|
104
|
-
(0, isaacscript_common_ts_1.error)(`Failed to parse the version in the "package.json" file: ${version}`);
|
|
105
|
-
}
|
|
106
|
-
const { majorVersion, minorVersion, patchVersion } = semanticVersion;
|
|
107
|
-
const incrementedPatchVersion = patchVersion + 1;
|
|
108
|
-
const incrementedVersion = `${majorVersion}.${minorVersion}.${incrementedPatchVersion}`;
|
|
109
|
-
const packageJSON = file.read(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
110
|
-
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${incrementedVersion}",`);
|
|
111
|
-
file.write(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
112
|
-
console.log(`The version of ${incrementedVersion} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
113
|
-
return incrementedVersion;
|
|
114
|
-
}
|
|
115
|
-
function writeVersionInPackageJSON(version, verbose) {
|
|
116
|
-
const packageJSON = file.read(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
117
|
-
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${version}",`);
|
|
118
|
-
file.write(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
119
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
120
|
-
}
|
|
121
|
-
function writeVersionToConstantsTS(version, verbose) {
|
|
122
|
-
if (!file.exists(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
123
|
-
console.log('Skipping writing the version to "constants.ts" since it was not found.');
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
const constantsTS = file.read(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
127
|
-
const newConstantsTS = constantsTS.replace(/const VERSION = ".+"/, `const VERSION = "${version}"`);
|
|
128
|
-
file.write(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
129
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.CONSTANTS_TS_PATH}`);
|
|
130
|
-
}
|
|
131
|
-
function writeVersionToMetadataXML(version, verbose) {
|
|
132
|
-
const metadataXML = file.read(constants_js_1.METADATA_XML_PATH, verbose);
|
|
133
|
-
const newMetadataXML = metadataXML.replace(/<version>.+<\/version>/, `<version>${version}</version>`);
|
|
134
|
-
file.write(constants_js_1.METADATA_XML_PATH, newMetadataXML, verbose);
|
|
135
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.METADATA_XML_PATH}`);
|
|
136
|
-
}
|
|
137
|
-
function writeVersionToVersionTXT(version, verbose) {
|
|
138
|
-
file.write(constants_js_1.VERSION_TXT_PATH, version, verbose);
|
|
139
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.VERSION_TXT_PATH}`);
|
|
140
|
-
}
|
|
38
|
+
exports.publishIsaacScriptMod = publishIsaacScriptMod;
|
|
141
39
|
function unsetDevelopmentConstant(verbose) {
|
|
142
|
-
if (!
|
|
40
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
143
41
|
return;
|
|
144
42
|
}
|
|
145
|
-
const constantsTS =
|
|
43
|
+
const constantsTS = (0, file_js_1.readFile)(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
146
44
|
const newConstantsTS = constantsTS.replace("const IS_DEV = true", "const IS_DEV = false");
|
|
147
|
-
|
|
45
|
+
(0, file_js_1.writeFile)(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
148
46
|
}
|
|
149
47
|
function runReleaseScriptPreCopy(verbose) {
|
|
150
|
-
if (!
|
|
48
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.PUBLISH_PRE_COPY_PY_PATH, verbose)) {
|
|
151
49
|
return;
|
|
152
50
|
}
|
|
153
51
|
console.log(`Running the "${constants_js_1.PUBLISH_PRE_COPY_PY_PATH}" script.`);
|
|
@@ -157,7 +55,7 @@ function runReleaseScriptPreCopy(verbose) {
|
|
|
157
55
|
}
|
|
158
56
|
}
|
|
159
57
|
function runReleaseScriptPostCopy(verbose) {
|
|
160
|
-
if (!
|
|
58
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.PUBLISH_POST_COPY_PY_PATH, verbose)) {
|
|
161
59
|
return;
|
|
162
60
|
}
|
|
163
61
|
console.log(`Running the "${constants_js_1.PUBLISH_POST_COPY_PY_PATH}" script.`);
|
|
@@ -168,14 +66,14 @@ function runReleaseScriptPostCopy(verbose) {
|
|
|
168
66
|
}
|
|
169
67
|
function purgeRoomXMLs(modTargetPath, verbose) {
|
|
170
68
|
const roomsPath = node_path_1.default.join(modTargetPath, "resources", "rooms");
|
|
171
|
-
if (!
|
|
69
|
+
if (!(0, file_js_1.fileExists)(roomsPath, verbose) || !(0, file_js_1.isDir)(roomsPath, verbose)) {
|
|
172
70
|
return;
|
|
173
71
|
}
|
|
174
|
-
const roomFileList =
|
|
72
|
+
const roomFileList = (0, file_js_1.getDirList)(roomsPath, verbose);
|
|
175
73
|
const xmlFiles = roomFileList.filter((fileName) => node_path_1.default.extname(fileName) === ".xml");
|
|
176
74
|
for (const xmlFile of xmlFiles) {
|
|
177
75
|
const roomFilePath = node_path_1.default.join(roomsPath, xmlFile);
|
|
178
|
-
|
|
76
|
+
(0, file_js_1.deleteFileOrDirectory)(roomFilePath, verbose);
|
|
179
77
|
}
|
|
180
78
|
}
|
|
181
79
|
function uploadMod(modTargetPath, verbose) {
|
|
@@ -184,15 +82,15 @@ function uploadMod(modTargetPath, verbose) {
|
|
|
184
82
|
// open the mod uploader program.
|
|
185
83
|
return;
|
|
186
84
|
}
|
|
187
|
-
console.log(`The "isaac-steam-workshop-upload" action was not found in the "${chalk_1.default.green("ci.yml")}" file; assuming that we want to use the ModUploader tool.`);
|
|
85
|
+
console.log(`The "isaac-steam-workshop-upload" action was not found in the "${chalk_1.default.green("ci.yml")}" file; assuming that we want to use the "ModUploader.exe" tool.`);
|
|
188
86
|
(0, exec_js_1.execExe)(constants_js_1.MOD_UPLOADER_PATH, [], verbose, modTargetPath);
|
|
189
87
|
}
|
|
190
88
|
function hasIsaacSteamWorkshopUploadGitHubAction(verbose) {
|
|
191
89
|
const ciYMLPath = node_path_1.default.join(constants_js_1.CWD, ".github", "workflows", "ci.yml");
|
|
192
|
-
if (!
|
|
90
|
+
if (!(0, file_js_1.fileExists)(ciYMLPath, verbose)) {
|
|
193
91
|
return false;
|
|
194
92
|
}
|
|
195
|
-
const ciYML =
|
|
93
|
+
const ciYML = (0, file_js_1.readFile)(ciYMLPath, verbose);
|
|
196
94
|
const lines = ciYML.split("\n");
|
|
197
95
|
return lines.some((line) => line.match(/^\s*uses: IsaacScript\/isaac-steam-workshop-upload/) !== null);
|
|
198
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isaacscriptMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/isaacscriptMod.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"isaacscriptMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/isaacscriptMod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prePublish = void 0;
|
|
4
|
+
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
5
|
+
const constants_js_1 = require("../../constants.js");
|
|
6
|
+
const exec_js_1 = require("../../exec.js");
|
|
7
|
+
const file_js_1 = require("../../file.js");
|
|
8
|
+
const git_js_1 = require("../../git.js");
|
|
9
|
+
const json_js_1 = require("../../json.js");
|
|
10
|
+
const packageManager_js_1 = require("../../packageManager.js");
|
|
11
|
+
/**
|
|
12
|
+
* Before uploading the project, we want to update dependencies, increment the version, and perform
|
|
13
|
+
* some other steps.
|
|
14
|
+
*/
|
|
15
|
+
function prePublish(args, typeScript) {
|
|
16
|
+
const skipUpdate = args.skipUpdate === true;
|
|
17
|
+
const skipLint = args.skipLint === true;
|
|
18
|
+
const dryRun = args.dryRun === true;
|
|
19
|
+
const verbose = args.verbose === true;
|
|
20
|
+
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
21
|
+
(0, exec_js_1.execShellString)("git pull --rebase");
|
|
22
|
+
updateDependencies(skipUpdate, dryRun, packageManager, verbose);
|
|
23
|
+
incrementVersion(args, typeScript, packageManager);
|
|
24
|
+
tryRunBashScript(constants_js_1.BUILD_SCRIPT, verbose);
|
|
25
|
+
if (!skipLint) {
|
|
26
|
+
tryRunBashScript(constants_js_1.LINT_SCRIPT, verbose);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.prePublish = prePublish;
|
|
30
|
+
function updateDependencies(skipUpdate, dryRun, packageManager, verbose) {
|
|
31
|
+
if (skipUpdate) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.UPDATE_SCRIPT, verbose)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
console.log("Updating NPM dependencies...");
|
|
38
|
+
const beforeHash = (0, file_js_1.getHashOfFile)(constants_js_1.PACKAGE_JSON);
|
|
39
|
+
(0, exec_js_1.execShell)("bash", [constants_js_1.UPDATE_SCRIPT], verbose);
|
|
40
|
+
const afterHash = (0, file_js_1.getHashOfFile)(constants_js_1.PACKAGE_JSON);
|
|
41
|
+
if (beforeHash !== afterHash) {
|
|
42
|
+
const packageManagerInstallCommand = (0, packageManager_js_1.getPackageManagerInstallCommand)(packageManager);
|
|
43
|
+
(0, exec_js_1.execShellString)(packageManagerInstallCommand, verbose);
|
|
44
|
+
if (!dryRun) {
|
|
45
|
+
(0, git_js_1.gitCommitAllAndPush)("chore: update deps", verbose);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function incrementVersion(args, typeScript, packageManager) {
|
|
50
|
+
const skipIncrement = args.skipIncrement === true;
|
|
51
|
+
const verbose = args.verbose === true;
|
|
52
|
+
if (skipIncrement) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const versionCommandArgument = getVersionCommandArgument(args);
|
|
56
|
+
// The "--no-git-tag-version" flag will prevent the package manager from both making a commit and
|
|
57
|
+
// adding a tag.
|
|
58
|
+
(0, exec_js_1.execShellString)(`${packageManager} version --no-git-tag-version ${versionCommandArgument}`, verbose);
|
|
59
|
+
if (!typeScript) {
|
|
60
|
+
const version = (0, json_js_1.getProjectPackageJSONField)("version", verbose);
|
|
61
|
+
writeVersionToConstantsTS(version, verbose);
|
|
62
|
+
writeVersionToMetadataXML(version, verbose);
|
|
63
|
+
writeVersionToVersionTXT(version, verbose);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function getVersionCommandArgument(args) {
|
|
67
|
+
const { setVersion } = args;
|
|
68
|
+
if (setVersion !== undefined) {
|
|
69
|
+
return setVersion; // They want to use a specific version, which was manually specified.
|
|
70
|
+
}
|
|
71
|
+
const major = args.major === true;
|
|
72
|
+
if (major) {
|
|
73
|
+
return "--major";
|
|
74
|
+
}
|
|
75
|
+
const minor = args.minor === true;
|
|
76
|
+
if (minor) {
|
|
77
|
+
return "--minor";
|
|
78
|
+
}
|
|
79
|
+
const patch = args.patch === true;
|
|
80
|
+
if (patch) {
|
|
81
|
+
return "--patch";
|
|
82
|
+
}
|
|
83
|
+
// Default to a patch version.
|
|
84
|
+
return "patch";
|
|
85
|
+
}
|
|
86
|
+
function writeVersionToConstantsTS(version, verbose) {
|
|
87
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
88
|
+
console.log('Skipping writing the version to "constants.ts" since it was not found.');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const constantsTS = (0, file_js_1.readFile)(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
92
|
+
const newConstantsTS = constantsTS.replace(/const VERSION = ".+"/, `const VERSION = "${version}"`);
|
|
93
|
+
(0, file_js_1.writeFile)(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
94
|
+
console.log(`The version of ${version} was written to: ${constants_js_1.CONSTANTS_TS_PATH}`);
|
|
95
|
+
}
|
|
96
|
+
function writeVersionToMetadataXML(version, verbose) {
|
|
97
|
+
const metadataXML = (0, file_js_1.readFile)(constants_js_1.METADATA_XML_PATH, verbose);
|
|
98
|
+
const newMetadataXML = metadataXML.replace(/<version>.+<\/version>/, `<version>${version}</version>`);
|
|
99
|
+
(0, file_js_1.writeFile)(constants_js_1.METADATA_XML_PATH, newMetadataXML, verbose);
|
|
100
|
+
console.log(`The version of ${version} was written to: ${constants_js_1.METADATA_XML_PATH}`);
|
|
101
|
+
}
|
|
102
|
+
function writeVersionToVersionTXT(version, verbose) {
|
|
103
|
+
(0, file_js_1.writeFile)(constants_js_1.VERSION_TXT_PATH, version, verbose);
|
|
104
|
+
console.log(`The version of ${version} was written to: ${constants_js_1.VERSION_TXT_PATH}`);
|
|
105
|
+
}
|
|
106
|
+
function tryRunBashScript(scriptName, verbose) {
|
|
107
|
+
if (!(0, file_js_1.fileExists)(scriptName, verbose)) {
|
|
108
|
+
(0, isaacscript_common_ts_1.error)(`Failed to find the script "${scriptName}" in the current working directory.`);
|
|
109
|
+
}
|
|
110
|
+
const { exitStatus, stdout } = (0, exec_js_1.execShell)("bash", [scriptName], verbose, true);
|
|
111
|
+
if (exitStatus !== 0) {
|
|
112
|
+
(0, exec_js_1.execShellString)("git reset --hard", verbose); // Revert the version changes.
|
|
113
|
+
(0, isaacscript_common_ts_1.error)(`Failed to run "${scriptName}":`, stdout);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=prePublish.js.map
|