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
|
@@ -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":"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"}
|
|
@@ -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"}
|
|
@@ -7,14 +7,12 @@ 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
9
|
const exec_js_1 = require("../../exec.js");
|
|
10
|
-
const
|
|
10
|
+
const file_js_1 = require("../../file.js");
|
|
11
11
|
const git_js_1 = require("../../git.js");
|
|
12
12
|
const json_js_1 = require("../../json.js");
|
|
13
13
|
const packageManager_js_1 = require("../../packageManager.js");
|
|
14
14
|
const utils_js_1 = require("../../utils.js");
|
|
15
15
|
const copy_js_1 = require("../copy/copy.js");
|
|
16
|
-
const LINT_SCRIPT_NAME = "lint.sh";
|
|
17
|
-
const UPDATE_SCRIPT_NAME = "update.sh";
|
|
18
16
|
async function publishIsaacScriptMod(args, config) {
|
|
19
17
|
const skipIncrement = args.skipIncrement === true;
|
|
20
18
|
const { setVersion } = args;
|
|
@@ -23,42 +21,10 @@ async function publishIsaacScriptMod(args, config) {
|
|
|
23
21
|
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
24
22
|
const modTargetDirectoryName = (0, utils_js_1.getModTargetDirectoryName)(config);
|
|
25
23
|
const modTargetPath = node_path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
26
|
-
validateVersion(setVersion);
|
|
27
|
-
validateGitNotDirty(packageManager, verbose);
|
|
28
|
-
validateIsaacScriptOtherCopiesNotRunning(verbose);
|
|
29
24
|
await startPublish(constants_js_1.MOD_SOURCE_PATH, modTargetPath, skipIncrement, setVersion, dryRun, packageManager, verbose);
|
|
30
25
|
}
|
|
31
26
|
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
27
|
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
28
|
let version = setVersion === undefined ? getVersionFromPackageJSON(verbose) : setVersion;
|
|
63
29
|
if (!skipIncrement && setVersion === undefined) {
|
|
64
30
|
version = bumpVersionInPackageJSON(version, verbose);
|
|
@@ -75,20 +41,14 @@ async function startPublish(modSourcePath, modTargetPath, skipIncrement, setVers
|
|
|
75
41
|
purgeRoomXMLs(modTargetPath, verbose);
|
|
76
42
|
runReleaseScriptPostCopy(verbose);
|
|
77
43
|
if (!dryRun) {
|
|
78
|
-
(0, git_js_1.gitCommitIfChanges)(version,
|
|
44
|
+
(0, git_js_1.gitCommitIfChanges)(version, verbose);
|
|
79
45
|
uploadMod(modTargetPath, verbose);
|
|
80
46
|
}
|
|
81
47
|
const dryRunSuffix = dryRun ? " (dry run)" : "";
|
|
82
48
|
console.log(`\nPublished version ${version} successfully${dryRunSuffix}.`);
|
|
83
49
|
}
|
|
84
|
-
function runBashScript(scriptName, verbose) {
|
|
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
50
|
function getVersionFromPackageJSON(verbose) {
|
|
91
|
-
if (!
|
|
51
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.PACKAGE_JSON_PATH, verbose)) {
|
|
92
52
|
(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
53
|
}
|
|
94
54
|
const packageJSON = (0, json_js_1.getJSONC)(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
@@ -106,48 +66,48 @@ function bumpVersionInPackageJSON(version, verbose) {
|
|
|
106
66
|
const { majorVersion, minorVersion, patchVersion } = semanticVersion;
|
|
107
67
|
const incrementedPatchVersion = patchVersion + 1;
|
|
108
68
|
const incrementedVersion = `${majorVersion}.${minorVersion}.${incrementedPatchVersion}`;
|
|
109
|
-
const packageJSON =
|
|
69
|
+
const packageJSON = (0, file_js_1.readFile)(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
110
70
|
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${incrementedVersion}",`);
|
|
111
|
-
|
|
71
|
+
(0, file_js_1.writeFile)(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
112
72
|
console.log(`The version of ${incrementedVersion} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
113
73
|
return incrementedVersion;
|
|
114
74
|
}
|
|
115
75
|
function writeVersionInPackageJSON(version, verbose) {
|
|
116
|
-
const packageJSON =
|
|
76
|
+
const packageJSON = (0, file_js_1.readFile)(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
117
77
|
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${version}",`);
|
|
118
|
-
|
|
78
|
+
(0, file_js_1.writeFile)(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
119
79
|
console.log(`The version of ${version} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
120
80
|
}
|
|
121
81
|
function writeVersionToConstantsTS(version, verbose) {
|
|
122
|
-
if (!
|
|
82
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
123
83
|
console.log('Skipping writing the version to "constants.ts" since it was not found.');
|
|
124
84
|
return;
|
|
125
85
|
}
|
|
126
|
-
const constantsTS =
|
|
86
|
+
const constantsTS = (0, file_js_1.readFile)(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
127
87
|
const newConstantsTS = constantsTS.replace(/const VERSION = ".+"/, `const VERSION = "${version}"`);
|
|
128
|
-
|
|
88
|
+
(0, file_js_1.writeFile)(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
129
89
|
console.log(`The version of ${version} was written to: ${constants_js_1.CONSTANTS_TS_PATH}`);
|
|
130
90
|
}
|
|
131
91
|
function writeVersionToMetadataXML(version, verbose) {
|
|
132
|
-
const metadataXML =
|
|
92
|
+
const metadataXML = (0, file_js_1.readFile)(constants_js_1.METADATA_XML_PATH, verbose);
|
|
133
93
|
const newMetadataXML = metadataXML.replace(/<version>.+<\/version>/, `<version>${version}</version>`);
|
|
134
|
-
|
|
94
|
+
(0, file_js_1.writeFile)(constants_js_1.METADATA_XML_PATH, newMetadataXML, verbose);
|
|
135
95
|
console.log(`The version of ${version} was written to: ${constants_js_1.METADATA_XML_PATH}`);
|
|
136
96
|
}
|
|
137
97
|
function writeVersionToVersionTXT(version, verbose) {
|
|
138
|
-
|
|
98
|
+
(0, file_js_1.writeFile)(constants_js_1.VERSION_TXT_PATH, version, verbose);
|
|
139
99
|
console.log(`The version of ${version} was written to: ${constants_js_1.VERSION_TXT_PATH}`);
|
|
140
100
|
}
|
|
141
101
|
function unsetDevelopmentConstant(verbose) {
|
|
142
|
-
if (!
|
|
102
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
143
103
|
return;
|
|
144
104
|
}
|
|
145
|
-
const constantsTS =
|
|
105
|
+
const constantsTS = (0, file_js_1.readFile)(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
146
106
|
const newConstantsTS = constantsTS.replace("const IS_DEV = true", "const IS_DEV = false");
|
|
147
|
-
|
|
107
|
+
(0, file_js_1.writeFile)(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
148
108
|
}
|
|
149
109
|
function runReleaseScriptPreCopy(verbose) {
|
|
150
|
-
if (!
|
|
110
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.PUBLISH_PRE_COPY_PY_PATH, verbose)) {
|
|
151
111
|
return;
|
|
152
112
|
}
|
|
153
113
|
console.log(`Running the "${constants_js_1.PUBLISH_PRE_COPY_PY_PATH}" script.`);
|
|
@@ -157,7 +117,7 @@ function runReleaseScriptPreCopy(verbose) {
|
|
|
157
117
|
}
|
|
158
118
|
}
|
|
159
119
|
function runReleaseScriptPostCopy(verbose) {
|
|
160
|
-
if (!
|
|
120
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.PUBLISH_POST_COPY_PY_PATH, verbose)) {
|
|
161
121
|
return;
|
|
162
122
|
}
|
|
163
123
|
console.log(`Running the "${constants_js_1.PUBLISH_POST_COPY_PY_PATH}" script.`);
|
|
@@ -168,14 +128,14 @@ function runReleaseScriptPostCopy(verbose) {
|
|
|
168
128
|
}
|
|
169
129
|
function purgeRoomXMLs(modTargetPath, verbose) {
|
|
170
130
|
const roomsPath = node_path_1.default.join(modTargetPath, "resources", "rooms");
|
|
171
|
-
if (!
|
|
131
|
+
if (!(0, file_js_1.fileExists)(roomsPath, verbose) || !(0, file_js_1.isDir)(roomsPath, verbose)) {
|
|
172
132
|
return;
|
|
173
133
|
}
|
|
174
|
-
const roomFileList =
|
|
134
|
+
const roomFileList = (0, file_js_1.getDirList)(roomsPath, verbose);
|
|
175
135
|
const xmlFiles = roomFileList.filter((fileName) => node_path_1.default.extname(fileName) === ".xml");
|
|
176
136
|
for (const xmlFile of xmlFiles) {
|
|
177
137
|
const roomFilePath = node_path_1.default.join(roomsPath, xmlFile);
|
|
178
|
-
|
|
138
|
+
(0, file_js_1.deleteFileOrDirectory)(roomFilePath, verbose);
|
|
179
139
|
}
|
|
180
140
|
}
|
|
181
141
|
function uploadMod(modTargetPath, verbose) {
|
|
@@ -189,10 +149,10 @@ function uploadMod(modTargetPath, verbose) {
|
|
|
189
149
|
}
|
|
190
150
|
function hasIsaacSteamWorkshopUploadGitHubAction(verbose) {
|
|
191
151
|
const ciYMLPath = node_path_1.default.join(constants_js_1.CWD, ".github", "workflows", "ci.yml");
|
|
192
|
-
if (!
|
|
152
|
+
if (!(0, file_js_1.fileExists)(ciYMLPath, verbose)) {
|
|
193
153
|
return false;
|
|
194
154
|
}
|
|
195
|
-
const ciYML =
|
|
155
|
+
const ciYML = (0, file_js_1.readFile)(ciYMLPath, verbose);
|
|
196
156
|
const lines = ciYML.split("\n");
|
|
197
157
|
return lines.some((line) => line.match(/^\s*uses: IsaacScript\/isaac-steam-workshop-upload/) !== null);
|
|
198
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isaacscriptMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/isaacscriptMod.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAAoE;AACpE,kEAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"isaacscriptMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/isaacscriptMod.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAAoE;AACpE,kEAA6B;AAE7B,qDAU4B;AAE5B,2CAAmD;AACnD,2CAOuB;AACvB,yCAAkD;AAClD,2CAAyC;AACzC,+DAAkF;AAElF,6CAA2D;AAC3D,6CAAiD;AAE1C,KAAK,UAAU,qBAAqB,CACzC,IAAU,EACV,MAAc;IAEd,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACpC,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,YAAY,CAChB,8BAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,MAAM,EACN,cAAc,EACd,OAAO,CACR,CAAC;AACJ,CAAC;AAtBD,sDAsBC;AAED,KAAK,UAAU,YAAY,CACzB,aAAqB,EACrB,aAAqB,EACrB,aAAsB,EACtB,UAA8B,EAC9B,MAAe,EACf,cAA8B,EAC9B,OAAgB;IAEhB,IAAI,OAAO,GACT,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC7E,IAAI,CAAC,aAAa,IAAI,UAAU,KAAK,SAAS,EAAE;QAC9C,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACtD;SAAM,IAAI,UAAU,KAAK,SAAS,EAAE;QACnC,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAC7C;IAED,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE3C,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAElC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,IAAA,wBAAc,EAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC5E,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACtC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,CAAC,MAAM,EAAE;QACX,IAAA,2BAAkB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACnC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,gBAAgB,YAAY,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,IAAA,oBAAU,EAAC,gCAAiB,EAAE,OAAO,CAAC,EAAE;QAC3C,IAAA,6BAAK,EACH,eAAK,CAAC,GAAG,CACP,MAAM,gCAAiB,2CAA2C,CACnE,CACF,CAAC;KACH;IAED,MAAM,WAAW,GAAG,IAAA,kBAAQ,EAAC,gCAAiB,EAAE,OAAO,CAAC,CAAC;IAEzD,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,IAAA,6BAAK,EACH,QAAQ,eAAK,CAAC,KAAK,CACjB,gCAAiB,CAClB,wCAAwC,CAC1C,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,OAAgB;IACjE,MAAM,eAAe,GAAG,IAAA,4CAAoB,EAAC,OAAO,CAAC,CAAC;IACtD,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,IAAA,6BAAK,EAAC,2DAA2D,OAAO,EAAE,CAAC,CAAC;KAC7E;IAED,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;IAErE,MAAM,uBAAuB,GAAG,YAAY,GAAG,CAAC,CAAC;IACjD,MAAM,kBAAkB,GAAG,GAAG,YAAY,IAAI,YAAY,IAAI,uBAAuB,EAAE,CAAC;IAExF,MAAM,WAAW,GAAG,IAAA,kBAAQ,EAAC,gCAAiB,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CACxC,kBAAkB,EAClB,eAAe,kBAAkB,IAAI,CACtC,CAAC;IACF,IAAA,mBAAS,EAAC,gCAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CACT,kBAAkB,kBAAkB,oBAAoB,gCAAiB,EAAE,CAC5E,CAAC;IAEF,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe,EAAE,OAAgB;IAClE,MAAM,WAAW,GAAG,IAAA,kBAAQ,EAAC,gCAAiB,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CACxC,kBAAkB,EAClB,eAAe,OAAO,IAAI,CAC3B,CAAC;IACF,IAAA,mBAAS,EAAC,gCAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,oBAAoB,gCAAiB,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe,EAAE,OAAgB;IAClE,IAAI,CAAC,IAAA,oBAAU,EAAC,gCAAiB,EAAE,OAAO,CAAC,EAAE;QAC3C,OAAO,CAAC,GAAG,CACT,wEAAwE,CACzE,CAAC;QACF,OAAO;KACR;IAED,MAAM,WAAW,GAAG,IAAA,kBAAQ,EAAC,gCAAiB,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CACxC,sBAAsB,EACtB,oBAAoB,OAAO,GAAG,CAC/B,CAAC;IACF,IAAA,mBAAS,EAAC,gCAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,oBAAoB,gCAAiB,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe,EAAE,OAAgB;IAClE,MAAM,WAAW,GAAG,IAAA,kBAAQ,EAAC,gCAAiB,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CACxC,wBAAwB,EACxB,YAAY,OAAO,YAAY,CAChC,CAAC;IACF,IAAA,mBAAS,EAAC,gCAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,oBAAoB,gCAAiB,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,OAAgB;IACjE,IAAA,mBAAS,EAAC,+BAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,oBAAoB,+BAAgB,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgB;IAChD,IAAI,CAAC,IAAA,oBAAU,EAAC,gCAAiB,EAAE,OAAO,CAAC,EAAE;QAC3C,OAAO;KACR;IAED,MAAM,WAAW,GAAG,IAAA,kBAAQ,EAAC,gCAAiB,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CACxC,qBAAqB,EACrB,sBAAsB,CACvB,CAAC;IACF,IAAA,mBAAS,EAAC,gCAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,IAAI,CAAC,IAAA,oBAAU,EAAC,uCAAwB,EAAE,OAAO,CAAC,EAAE;QAClD,OAAO;KACR;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,uCAAwB,WAAW,CAAC,CAAC;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,mBAAS,EAAC,QAAQ,EAAE,CAAC,uCAAwB,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACrB;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgB;IAChD,IAAI,CAAC,IAAA,oBAAU,EAAC,wCAAyB,EAAE,OAAO,CAAC,EAAE;QACnD,OAAO;KACR;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,wCAAyB,WAAW,CAAC,CAAC;IAClE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,mBAAS,EAAC,QAAQ,EAAE,CAAC,wCAAyB,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACrB;AACH,CAAC;AAED,SAAS,aAAa,CAAC,aAAqB,EAAE,OAAgB;IAC5D,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE;QACjE,OAAO;KACR;IAED,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAClC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,MAAM,CAChD,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,IAAA,+BAAqB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;KAC9C;AACH,CAAC;AAED,SAAS,SAAS,CAAC,aAAqB,EAAE,OAAgB;IACxD,IAAI,uCAAuC,CAAC,OAAO,CAAC,EAAE;QACpD,6FAA6F;QAC7F,iCAAiC;QACjC,OAAO;KACR;IAED,OAAO,CAAC,GAAG,CACT,kEAAkE,eAAK,CAAC,KAAK,CAC3E,QAAQ,CACT,4DAA4D,CAC9D,CAAC;IACF,IAAA,iBAAO,EAAC,gCAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,uCAAuC,CAAC,OAAgB;IAC/D,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,kBAAG,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACnE,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE;QACnC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,KAAK,CAAC,oDAAoD,CAAC,KAAK,IAAI,CAC5E,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
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 packageManager_js_1 = require("../../packageManager.js");
|
|
10
|
+
function prePublish(args) {
|
|
11
|
+
const skipUpdate = args.skipUpdate === true;
|
|
12
|
+
const skipLint = args.skipLint === true;
|
|
13
|
+
const verbose = args.verbose === true;
|
|
14
|
+
// Shared initial steps for both TypeScript projects and IsaacScript mods.
|
|
15
|
+
(0, exec_js_1.execShellString)("git pull --rebase");
|
|
16
|
+
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
17
|
+
updateDependencies(skipUpdate, packageManager, verbose);
|
|
18
|
+
incrementVersion(args, packageManager);
|
|
19
|
+
tryRunBashScript(constants_js_1.BUILD_SCRIPT, verbose);
|
|
20
|
+
if (!skipLint) {
|
|
21
|
+
tryRunBashScript(constants_js_1.LINT_SCRIPT, verbose);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.prePublish = prePublish;
|
|
25
|
+
function updateDependencies(skipUpdate, packageManager, verbose) {
|
|
26
|
+
if (skipUpdate) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (!(0, file_js_1.fileExists)(constants_js_1.UPDATE_SCRIPT, verbose)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.log("Updating NPM dependencies...");
|
|
33
|
+
const beforeHash = (0, file_js_1.getHashOfFile)(constants_js_1.PACKAGE_JSON);
|
|
34
|
+
(0, exec_js_1.execShell)("bash", [constants_js_1.UPDATE_SCRIPT], verbose);
|
|
35
|
+
const afterHash = (0, file_js_1.getHashOfFile)(constants_js_1.PACKAGE_JSON);
|
|
36
|
+
if (beforeHash !== afterHash) {
|
|
37
|
+
const packageManagerInstallCommand = (0, packageManager_js_1.getPackageManagerInstallCommand)(packageManager);
|
|
38
|
+
(0, exec_js_1.execShellString)(packageManagerInstallCommand, verbose);
|
|
39
|
+
(0, git_js_1.gitCommitAllAndPush)("chore: update deps", verbose);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function incrementVersion(args, packageManager) {
|
|
43
|
+
const skipIncrement = args.skipIncrement === true;
|
|
44
|
+
const verbose = args.verbose === true;
|
|
45
|
+
if (skipIncrement) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const versionFlag = getVersionFlag(args);
|
|
49
|
+
// The "--no-git-tag-version" flag will prevent the package manager from both making a commit and
|
|
50
|
+
// adding a tag.
|
|
51
|
+
(0, exec_js_1.execShellString)(`${packageManager} version --no-git-tag-version --${versionFlag}`, verbose);
|
|
52
|
+
}
|
|
53
|
+
function getVersionFlag(args) {
|
|
54
|
+
const major = args.major === true;
|
|
55
|
+
if (major) {
|
|
56
|
+
return "major";
|
|
57
|
+
}
|
|
58
|
+
const minor = args.minor === true;
|
|
59
|
+
if (minor) {
|
|
60
|
+
return "minor";
|
|
61
|
+
}
|
|
62
|
+
const patch = args.patch === true;
|
|
63
|
+
if (patch) {
|
|
64
|
+
return "patch";
|
|
65
|
+
}
|
|
66
|
+
// Default to a patch version.
|
|
67
|
+
return "patch";
|
|
68
|
+
}
|
|
69
|
+
function tryRunBashScript(scriptName, verbose) {
|
|
70
|
+
if (!(0, file_js_1.fileExists)(scriptName, verbose)) {
|
|
71
|
+
(0, isaacscript_common_ts_1.error)(`Failed to find the script "${scriptName}" in the current working directory.`);
|
|
72
|
+
}
|
|
73
|
+
const { exitStatus, stdout } = (0, exec_js_1.execShell)("bash", [scriptName], verbose, true);
|
|
74
|
+
if (exitStatus !== 0) {
|
|
75
|
+
(0, exec_js_1.execShellString)("git reset --hard", verbose); // Revert the version changes.
|
|
76
|
+
(0, isaacscript_common_ts_1.error)(`Failed to run "${scriptName}":`, stdout);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=prePublish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prePublish.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/prePublish.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.publish = void 0;
|
|
4
|
+
const exec_js_1 = require("../../exec.js");
|
|
5
|
+
const git_js_1 = require("../../git.js");
|
|
6
|
+
const json_js_1 = require("../../json.js");
|
|
4
7
|
const isaacscriptMod_js_1 = require("./isaacscriptMod.js");
|
|
5
|
-
const
|
|
8
|
+
const prePublish_js_1 = require("./prePublish.js");
|
|
9
|
+
const validate_js_1 = require("./validate.js");
|
|
6
10
|
async function publish(args, config, typeScript) {
|
|
11
|
+
const { setVersion } = args;
|
|
12
|
+
const verbose = args.verbose === true;
|
|
13
|
+
(0, validate_js_1.validate)(typeScript, setVersion, verbose);
|
|
14
|
+
(0, prePublish_js_1.prePublish)(args);
|
|
7
15
|
if (typeScript) {
|
|
8
|
-
(0,
|
|
16
|
+
const version = (0, json_js_1.getProjectPackageJSONField)("version", verbose);
|
|
17
|
+
(0, git_js_1.gitCommitAllAndPush)(`chore: release ${version}`, verbose);
|
|
18
|
+
(0, exec_js_1.execShellString)("npm publish --access public", verbose);
|
|
19
|
+
const projectName = (0, json_js_1.getProjectPackageJSONField)("name", verbose);
|
|
20
|
+
console.log(`Published ${projectName} version ${version} successfully.`);
|
|
9
21
|
}
|
|
10
22
|
else {
|
|
11
23
|
await (0, isaacscriptMod_js_1.publishIsaacScriptMod)(args, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/publish.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/publish.ts"],"names":[],"mappings":";;;AACA,2CAAgD;AAChD,yCAAmD;AACnD,2CAA2D;AAE3D,2DAA4D;AAC5D,mDAA6C;AAC7C,+CAAyC;AAElC,KAAK,UAAU,OAAO,CAC3B,IAAU,EACV,MAAc,EACd,UAAmB;IAEnB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAEtC,IAAA,sBAAQ,EAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAA,0BAAU,EAAC,IAAI,CAAC,CAAC;IAEjB,IAAI,UAAU,EAAE;QACd,MAAM,OAAO,GAAG,IAAA,oCAA0B,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAA,4BAAmB,EAAC,kBAAkB,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAA,yBAAe,EAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAA,oCAA0B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,aAAa,WAAW,YAAY,OAAO,gBAAgB,CAAC,CAAC;KAC1E;SAAM;QACL,MAAM,IAAA,yCAAqB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC3C;AACH,CAAC;AApBD,0BAoBC"}
|