isaacscript 1.2.19 → 1.2.22
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/dist/package.json +3 -3
- package/dist/src/commands/publish/publish.js +21 -3
- package/dist/src/commands/publish/publish.js.map +1 -1
- package/dist/src/constants.js +0 -8
- package/dist/src/constants.js.map +1 -1
- package/dist/src/exec.js +22 -1
- package/dist/src/exec.js.map +1 -1
- package/file-templates/static/.github/workflows/ci.yml +1 -1
- package/package.json +3 -3
- package/src/commands/publish/publish.ts +37 -8
- package/src/constants.ts +0 -9
- package/src/exec.ts +27 -0
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.22",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript",
|
|
5
5
|
"homepage": "https://isaacscript.github.io/",
|
|
6
6
|
"bugs": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"isaacscript-tsconfig": "^1.1.8",
|
|
26
26
|
"jsonc-parser": "^3.0.0",
|
|
27
27
|
"moment": "^2.29.1",
|
|
28
|
-
"npm-check-updates": "^12.5.
|
|
28
|
+
"npm-check-updates": "^12.5.4",
|
|
29
29
|
"prompt": "^1.2.2",
|
|
30
30
|
"source-map": "^0.7.3",
|
|
31
31
|
"source-map-support": "^0.5.21",
|
|
@@ -44,6 +44,6 @@
|
|
|
44
44
|
"@types/source-map-support": "^0.5.4",
|
|
45
45
|
"@types/update-notifier": "^5.1.0",
|
|
46
46
|
"@types/yargs": "^17.0.9",
|
|
47
|
-
"isaacscript-lint": "^1.0.
|
|
47
|
+
"isaacscript-lint": "^1.0.90"
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -39,9 +39,8 @@ function publish(argv, config) {
|
|
|
39
39
|
const verbose = argv.verbose === true;
|
|
40
40
|
const modTargetDirectoryName = (0, utils_1.getModTargetDirectoryName)(config);
|
|
41
41
|
const modTargetPath = path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
42
|
+
validateVersion(setVersion);
|
|
43
|
+
validateIsaacScriptOtherCopiesNotRunning(verbose);
|
|
45
44
|
if (onlyUpload) {
|
|
46
45
|
uploadMod(modTargetPath, config.steamCmdPath, verbose);
|
|
47
46
|
return;
|
|
@@ -49,6 +48,25 @@ function publish(argv, config) {
|
|
|
49
48
|
startPublish(constants_1.MOD_SOURCE_PATH, modTargetPath, skipVersionIncrement, setVersion, config.steamCmdPath, dryRun, verbose);
|
|
50
49
|
}
|
|
51
50
|
exports.publish = publish;
|
|
51
|
+
function validateVersion(setVersion) {
|
|
52
|
+
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
53
|
+
(0, utils_1.error)(chalk_1.default.red(`The version of "${setVersion}" does not match the semantic versioning format.`));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function validateIsaacScriptOtherCopiesNotRunning(verbose) {
|
|
57
|
+
if (process.platform !== "win32") {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// From: https://securityboulevard.com/2020/01/get-process-list-with-command-line-arguments/
|
|
61
|
+
const stdout = (0, exec_1.execPowershell)("Get-WmiObject Win32_Process -Filter \"name = 'node.exe'\" | Select-Object -ExpandProperty CommandLine", verbose);
|
|
62
|
+
const lines = stdout.split("\r\n");
|
|
63
|
+
const otherCopiesOfRunningIsaacScript = lines.filter((line) => line.includes("node.exe") &&
|
|
64
|
+
line.includes("isaacscript") &&
|
|
65
|
+
!line.includes("isaacscript publish"));
|
|
66
|
+
if (otherCopiesOfRunningIsaacScript.length > 0) {
|
|
67
|
+
(0, utils_1.error)(`Other copies of ${constants_1.PROJECT_NAME} appear to be running. You must close those copies before publishing.`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
52
70
|
function startPublish(modSourcePath, modTargetPath, skipVersionIncrement, setVersion, steamCmdPath, dryRun, verbose) {
|
|
53
71
|
updateDeps(verbose);
|
|
54
72
|
let version = setVersion === undefined ? getVersionFromPackageJSON() : setVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/publish/publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAWyB;AACzB,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/publish/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/src/constants.js
CHANGED
|
@@ -16,14 +16,6 @@ exports.HOME_DIR = homeDir;
|
|
|
16
16
|
exports.FILE_SYNCED_MESSAGE = "File synced:";
|
|
17
17
|
exports.MOD_UPLOADER_PATH = "C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\tools\\ModUploader\\ModUploader.exe";
|
|
18
18
|
exports.PROJECT_NAME = "IsaacScript";
|
|
19
|
-
/**
|
|
20
|
-
* The default Node.js stack size is 984 kilobytes, but this is not large enough to compile the
|
|
21
|
-
* biggest mods, resulting in an error of "RangeError: Maximum call stack size exceeded". Thus,
|
|
22
|
-
* IsaacScript provides an option to specify a custom stack size that is bigger than the default.
|
|
23
|
-
* We choose 1968 because it is double the default.
|
|
24
|
-
*/
|
|
25
|
-
// export const CUSTOM_NODE_JS_STACK_SIZE = 1968;
|
|
26
|
-
// (commented out temporarily)
|
|
27
19
|
// isaacscript
|
|
28
20
|
const REPO_ROOT = path_1.default.join(__dirname, "..", "..");
|
|
29
21
|
// isaacscript/isaacscript-watcher
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE1B,mGAAmG;AACnG,MAAM,OAAO,GAAG,YAAE,CAAC,OAAO,EAAE,CAAC;AAE7B,gBAAgB;AACH,QAAA,sBAAsB,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,GAAG,GAAG,GAAG,CAAC;AACV,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,mBAAmB,GAAG,cAAc,CAAC;AACrC,QAAA,iBAAiB,GAC5B,sHAAsH,CAAC;AAC5G,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/src/exec.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.execShell = exports.execExe = void 0;
|
|
6
|
+
exports.execShell = exports.execPowershell = exports.execExe = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const child_process_1 = require("child_process");
|
|
9
9
|
const constants_1 = require("./constants");
|
|
@@ -28,6 +28,27 @@ function execExe(path, verbose = false, cwd = constants_1.CWD) {
|
|
|
28
28
|
return stdout;
|
|
29
29
|
}
|
|
30
30
|
exports.execExe = execExe;
|
|
31
|
+
function execPowershell(command, verbose = false, cwd = constants_1.CWD) {
|
|
32
|
+
if (verbose) {
|
|
33
|
+
console.log(`Executing PowerShell command: ${command}`);
|
|
34
|
+
}
|
|
35
|
+
let stdout;
|
|
36
|
+
try {
|
|
37
|
+
const buffer = (0, child_process_1.execSync)(command, {
|
|
38
|
+
shell: "powershell.exe",
|
|
39
|
+
cwd,
|
|
40
|
+
});
|
|
41
|
+
stdout = buffer.toString().trim();
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
(0, utils_1.error)(`Failed to run PowerShell command "${chalk_1.default.green(command)}":`, err);
|
|
45
|
+
}
|
|
46
|
+
if (verbose) {
|
|
47
|
+
console.log(`Executed PowerShell command: ${command}`);
|
|
48
|
+
}
|
|
49
|
+
return stdout;
|
|
50
|
+
}
|
|
51
|
+
exports.execPowershell = execPowershell;
|
|
31
52
|
/** Returns an array of exit status and stdout. */
|
|
32
53
|
function execShell(command, args = [], verbose = false, allowFailure = false, cwd = constants_1.CWD) {
|
|
33
54
|
// On Windows, "spawnSync()" will not account for spaces in arguments
|
package/dist/src/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/exec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ jobs:
|
|
|
7
7
|
runs-on: ubuntu-latest
|
|
8
8
|
steps:
|
|
9
9
|
- name: Install xmllint (which the "lint.sh" script uses)
|
|
10
|
-
run: sudo apt-get install libxml2-utils -y
|
|
10
|
+
run: sudo apt-get update && sudo apt-get install libxml2-utils -y
|
|
11
11
|
|
|
12
12
|
- name: Checkout the repository
|
|
13
13
|
uses: actions/checkout@v2
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.22",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript",
|
|
5
5
|
"homepage": "https://isaacscript.github.io/",
|
|
6
6
|
"bugs": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"isaacscript-tsconfig": "^1.1.8",
|
|
26
26
|
"jsonc-parser": "^3.0.0",
|
|
27
27
|
"moment": "^2.29.1",
|
|
28
|
-
"npm-check-updates": "^12.5.
|
|
28
|
+
"npm-check-updates": "^12.5.4",
|
|
29
29
|
"prompt": "^1.2.2",
|
|
30
30
|
"source-map": "^0.7.3",
|
|
31
31
|
"source-map-support": "^0.5.21",
|
|
@@ -44,6 +44,6 @@
|
|
|
44
44
|
"@types/source-map-support": "^0.5.4",
|
|
45
45
|
"@types/update-notifier": "^5.1.0",
|
|
46
46
|
"@types/yargs": "^17.0.9",
|
|
47
|
-
"isaacscript-lint": "^1.0.
|
|
47
|
+
"isaacscript-lint": "^1.0.90"
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
PUBLISH_PRE_COPY_PY_PATH,
|
|
13
13
|
VERSION_TXT_PATH,
|
|
14
14
|
} from "../../constants";
|
|
15
|
-
import { execExe, execShell } from "../../exec";
|
|
15
|
+
import { execExe, execPowershell, execShell } from "../../exec";
|
|
16
16
|
import * as file from "../../file";
|
|
17
17
|
import { Config } from "../../types/Config";
|
|
18
18
|
import { error, getModTargetDirectoryName, parseIntSafe } from "../../utils";
|
|
@@ -30,13 +30,8 @@ export function publish(argv: Record<string, unknown>, config: Config): void {
|
|
|
30
30
|
const modTargetDirectoryName = getModTargetDirectoryName(config);
|
|
31
31
|
const modTargetPath = path.join(config.modsDirectory, modTargetDirectoryName);
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
chalk.red(
|
|
36
|
-
`The version of "${setVersion}" does not match the semantic versioning format.`,
|
|
37
|
-
),
|
|
38
|
-
);
|
|
39
|
-
}
|
|
33
|
+
validateVersion(setVersion);
|
|
34
|
+
validateIsaacScriptOtherCopiesNotRunning(verbose);
|
|
40
35
|
|
|
41
36
|
if (onlyUpload) {
|
|
42
37
|
uploadMod(modTargetPath, config.steamCmdPath, verbose);
|
|
@@ -54,6 +49,40 @@ export function publish(argv: Record<string, unknown>, config: Config): void {
|
|
|
54
49
|
);
|
|
55
50
|
}
|
|
56
51
|
|
|
52
|
+
function validateVersion(setVersion: string | undefined) {
|
|
53
|
+
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
54
|
+
error(
|
|
55
|
+
chalk.red(
|
|
56
|
+
`The version of "${setVersion}" does not match the semantic versioning format.`,
|
|
57
|
+
),
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function validateIsaacScriptOtherCopiesNotRunning(verbose: boolean) {
|
|
63
|
+
if (process.platform !== "win32") {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// From: https://securityboulevard.com/2020/01/get-process-list-with-command-line-arguments/
|
|
68
|
+
const stdout = execPowershell(
|
|
69
|
+
"Get-WmiObject Win32_Process -Filter \"name = 'node.exe'\" | Select-Object -ExpandProperty CommandLine",
|
|
70
|
+
verbose,
|
|
71
|
+
);
|
|
72
|
+
const lines = stdout.split("\r\n");
|
|
73
|
+
const otherCopiesOfRunningIsaacScript = lines.filter(
|
|
74
|
+
(line) =>
|
|
75
|
+
line.includes("node.exe") &&
|
|
76
|
+
line.includes("isaacscript") &&
|
|
77
|
+
!line.includes("isaacscript publish"),
|
|
78
|
+
);
|
|
79
|
+
if (otherCopiesOfRunningIsaacScript.length > 0) {
|
|
80
|
+
error(
|
|
81
|
+
`Other copies of ${PROJECT_NAME} appear to be running. You must close those copies before publishing.`,
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
57
86
|
function startPublish(
|
|
58
87
|
modSourcePath: string,
|
|
59
88
|
modTargetPath: string,
|
package/src/constants.ts
CHANGED
|
@@ -15,15 +15,6 @@ export const MOD_UPLOADER_PATH =
|
|
|
15
15
|
"C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\tools\\ModUploader\\ModUploader.exe";
|
|
16
16
|
export const PROJECT_NAME = "IsaacScript";
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
* The default Node.js stack size is 984 kilobytes, but this is not large enough to compile the
|
|
20
|
-
* biggest mods, resulting in an error of "RangeError: Maximum call stack size exceeded". Thus,
|
|
21
|
-
* IsaacScript provides an option to specify a custom stack size that is bigger than the default.
|
|
22
|
-
* We choose 1968 because it is double the default.
|
|
23
|
-
*/
|
|
24
|
-
// export const CUSTOM_NODE_JS_STACK_SIZE = 1968;
|
|
25
|
-
// (commented out temporarily)
|
|
26
|
-
|
|
27
18
|
// isaacscript
|
|
28
19
|
const REPO_ROOT = path.join(__dirname, "..", "..");
|
|
29
20
|
|
package/src/exec.ts
CHANGED
|
@@ -25,6 +25,33 @@ export function execExe(path: string, verbose = false, cwd = CWD): string {
|
|
|
25
25
|
return stdout;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
export function execPowershell(
|
|
29
|
+
command: string,
|
|
30
|
+
verbose = false,
|
|
31
|
+
cwd = CWD,
|
|
32
|
+
): string {
|
|
33
|
+
if (verbose) {
|
|
34
|
+
console.log(`Executing PowerShell command: ${command}`);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let stdout: string;
|
|
38
|
+
try {
|
|
39
|
+
const buffer = execSync(command, {
|
|
40
|
+
shell: "powershell.exe",
|
|
41
|
+
cwd,
|
|
42
|
+
});
|
|
43
|
+
stdout = buffer.toString().trim();
|
|
44
|
+
} catch (err) {
|
|
45
|
+
error(`Failed to run PowerShell command "${chalk.green(command)}":`, err);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (verbose) {
|
|
49
|
+
console.log(`Executed PowerShell command: ${command}`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return stdout;
|
|
53
|
+
}
|
|
54
|
+
|
|
28
55
|
/** Returns an array of exit status and stdout. */
|
|
29
56
|
export function execShell(
|
|
30
57
|
command: string,
|