isaacscript 3.18.4 → 3.18.6-dev.0
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/banner.js +20 -0
- package/dist/banner.js.map +1 -0
- package/dist/checkForWindowsTerminalBugs.js +1 -0
- package/dist/checkForWindowsTerminalBugs.js.map +1 -0
- package/dist/classes/Config.js +1 -0
- package/dist/classes/Config.js.map +1 -0
- package/dist/classes/ValidatedConfig.js +1 -0
- package/dist/classes/ValidatedConfig.js.map +1 -0
- package/dist/commands/check/check.js +29 -4
- package/dist/commands/check/check.js.map +1 -0
- package/dist/commands/check/check.test.js +1 -0
- package/dist/commands/check/check.test.js.map +1 -0
- package/dist/commands/copy/copy.js +16 -3
- package/dist/commands/copy/copy.js.map +1 -0
- package/dist/commands/init/checkIfProjectPathExists.js +1 -0
- package/dist/commands/init/checkIfProjectPathExists.js.map +1 -0
- package/dist/commands/init/checkModSubdirectory.js +1 -0
- package/dist/commands/init/checkModSubdirectory.js.map +1 -0
- package/dist/commands/init/checkModTargetDirectory.js +1 -0
- package/dist/commands/init/checkModTargetDirectory.js.map +1 -0
- package/dist/commands/init/createProject.js +27 -8
- package/dist/commands/init/createProject.js.map +1 -0
- package/dist/commands/init/getAuthorName.js +1 -0
- package/dist/commands/init/getAuthorName.js.map +1 -0
- package/dist/commands/init/{getModsDir.js → getModsDirectory.js} +4 -8
- package/dist/commands/init/getModsDirectory.js.map +1 -0
- package/dist/commands/init/getProjectPath.js +3 -6
- package/dist/commands/init/getProjectPath.js.map +1 -0
- package/dist/commands/init/{promptSaveSlot.js → getSaveSlot.js} +9 -5
- package/dist/commands/init/getSaveSlot.js.map +1 -0
- package/dist/commands/init/init.js +59 -16
- package/dist/commands/init/init.js.map +1 -0
- package/dist/commands/init/installVSCodeExtensions.js +1 -0
- package/dist/commands/init/installVSCodeExtensions.js.map +1 -0
- package/dist/commands/init/promptVSCode.js +1 -0
- package/dist/commands/init/promptVSCode.js.map +1 -0
- package/dist/commands/monitor/copyWatcherMod.js +1 -0
- package/dist/commands/monitor/copyWatcherMod.js.map +1 -0
- package/dist/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +1 -0
- package/dist/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +1 -0
- package/dist/commands/monitor/monitor.js +27 -65
- package/dist/commands/monitor/monitor.js.map +1 -0
- package/dist/commands/monitor/notifyGame.js +4 -3
- package/dist/commands/monitor/notifyGame.js.map +1 -0
- package/dist/commands/monitor/saveDatWriter/saveDatWriter.js +1 -0
- package/dist/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -0
- package/dist/commands/monitor/saveDatWriter/types.js +1 -0
- package/dist/commands/monitor/saveDatWriter/types.js.map +1 -0
- package/dist/commands/monitor/spawnModDirectorySyncer.js +10 -5
- package/dist/commands/monitor/spawnModDirectorySyncer.js.map +1 -0
- package/dist/commands/monitor/spawnSaveDatWriter.js +1 -0
- package/dist/commands/monitor/spawnSaveDatWriter.js.map +1 -0
- package/dist/commands/monitor/spawnTSTLWatcher.js +8 -7
- package/dist/commands/monitor/spawnTSTLWatcher.js.map +1 -0
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js +1 -0
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -0
- package/dist/commands/publish/isaacscriptMod.js +5 -4
- package/dist/commands/publish/isaacscriptMod.js.map +1 -0
- package/dist/commands/publish/publish.js +147 -23
- package/dist/commands/publish/publish.js.map +1 -0
- package/dist/commands/publish/validate.js +2 -1
- package/dist/commands/publish/validate.js.map +1 -0
- package/dist/common.js +1 -0
- package/dist/common.js.map +1 -0
- package/dist/configFile.js +9 -13
- package/dist/configFile.js.map +1 -0
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -0
- package/dist/customStage.js +1 -0
- package/dist/customStage.js.map +1 -0
- package/dist/dev.js +1 -0
- package/dist/dev.js.map +1 -0
- package/dist/enums/copied/DoorSlot.js +1 -0
- package/dist/enums/copied/DoorSlot.js.map +1 -0
- package/dist/enums/copied/DoorSlotFlag.js +1 -0
- package/dist/enums/copied/DoorSlotFlag.js.map +1 -0
- package/dist/enums/copied/RoomShape.js +1 -0
- package/dist/enums/copied/RoomShape.js.map +1 -0
- package/dist/exec.js +1 -0
- package/dist/exec.js.map +1 -0
- package/dist/git.js +7 -3
- package/dist/git.js.map +1 -0
- package/dist/interfaces/GitHubCLIHostsYAML.js +1 -0
- package/dist/interfaces/GitHubCLIHostsYAML.js.map +1 -0
- package/dist/interfaces/IsaacScriptTSConfig.js +1 -0
- package/dist/interfaces/IsaacScriptTSConfig.js.map +1 -0
- package/dist/interfaces/ShadersXML.js +1 -0
- package/dist/interfaces/ShadersXML.js.map +1 -0
- package/dist/interfaces/copied/CustomStageTSConfig.js +1 -0
- package/dist/interfaces/copied/CustomStageTSConfig.js.map +1 -0
- package/dist/interfaces/copied/JSONRoomsFile.js +1 -0
- package/dist/interfaces/copied/JSONRoomsFile.js.map +1 -0
- package/dist/main.js +2 -119
- package/dist/main.js.map +1 -0
- package/dist/objects/copied/doorSlotToDoorSlotFlag.js +1 -0
- package/dist/objects/copied/doorSlotToDoorSlotFlag.js.map +1 -0
- package/dist/objects/copied/roomShapeToDoorSlotCoordinates.js +1 -0
- package/dist/objects/copied/roomShapeToDoorSlotCoordinates.js.map +1 -0
- package/dist/packageManager.js +16 -16
- package/dist/packageManager.js.map +1 -0
- package/dist/parseArgs.js +62 -270
- package/dist/parseArgs.js.map +1 -0
- package/dist/prompt.js +1 -0
- package/dist/prompt.js.map +1 -0
- package/dist/tsconfig.js +1 -0
- package/dist/tsconfig.js.map +1 -0
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -0
- package/dist/validateMod.js +72 -0
- package/dist/validateMod.js.map +1 -0
- package/dist/validateNodeVersion.js +11 -1
- package/dist/validateNodeVersion.js.map +1 -0
- package/package.json +5 -4
- package/dist/commands/publish/prePublish.js +0 -105
- package/dist/types/Command.js +0 -4
- package/dist/validateInIsaacScriptProject.js +0 -29
|
@@ -1,55 +1,43 @@
|
|
|
1
|
+
import { Command } from "@commander-js/extra-typings";
|
|
1
2
|
import chalk from "chalk";
|
|
2
|
-
import {
|
|
3
|
+
import { PackageManager, deleteFileOrDirectory, fatalError, getPackageManagerInstallCommand, isDirectory, isLink, touch, } from "isaacscript-common-node";
|
|
3
4
|
import path from "node:path";
|
|
4
|
-
import {
|
|
5
|
+
import { printBanner } from "../../banner.js";
|
|
6
|
+
import { getConfigFromFile } from "../../configFile.js";
|
|
7
|
+
import { CWD, MOD_SOURCE_PATH } from "../../constants.js";
|
|
5
8
|
import { prepareCustomStages } from "../../customStage.js";
|
|
6
9
|
import { getAndValidateIsaacScriptMonorepoDirectory } from "../../dev.js";
|
|
7
10
|
import { execShell, execShellString } from "../../exec.js";
|
|
8
11
|
import { PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT, getPackageManagerUsedForExistingProject, } from "../../packageManager.js";
|
|
9
12
|
import { getFirstTSConfigIncludePath } from "../../tsconfig.js";
|
|
10
13
|
import { getModTargetDirectoryName } from "../../utils.js";
|
|
14
|
+
import { validateDepsInstalled, validateInIsaacScriptProject, validatePackageJSONDependencies, } from "../../validateMod.js";
|
|
11
15
|
import { copyWatcherMod } from "./copyWatcherMod.js";
|
|
12
|
-
import
|
|
16
|
+
import { notifyGamePing } from "./notifyGame.js";
|
|
13
17
|
import { spawnModDirectorySyncer } from "./spawnModDirectorySyncer.js";
|
|
14
18
|
import { spawnSaveDatWriter } from "./spawnSaveDatWriter.js";
|
|
15
19
|
import { spawnTSTLWatcher } from "./spawnTSTLWatcher.js";
|
|
16
20
|
import { touchWatcherSaveDatFiles } from "./touchWatcherSaveDatFiles.js";
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// - "isaacscript-tsconfig" is not required.
|
|
32
|
-
"typescript",
|
|
33
|
-
"typescript-to-lua",
|
|
34
|
-
];
|
|
35
|
-
export async function monitor(args, config) {
|
|
36
|
-
const verbose = args.verbose === true;
|
|
37
|
-
const skipProjectChecks = args.skipProjectChecks === true;
|
|
38
|
-
const packageManager = getPackageManagerUsedForExistingProject(args);
|
|
39
|
-
// If they specified some command-line flags, override the values found in the config file.
|
|
40
|
-
if (args.modsDirectory !== undefined) {
|
|
41
|
-
config.modsDirectory = args.modsDirectory; // eslint-disable-line no-param-reassign
|
|
42
|
-
}
|
|
43
|
-
if (args.saveSlot !== undefined) {
|
|
44
|
-
config.saveSlot = args.saveSlot; // eslint-disable-line no-param-reassign
|
|
45
|
-
}
|
|
46
|
-
if (args.dev !== undefined) {
|
|
47
|
-
config.isaacScriptCommonDev = args.dev; // eslint-disable-line no-param-reassign
|
|
48
|
-
}
|
|
49
|
-
// Pre-flight checks
|
|
21
|
+
export const monitorCommand = new Command()
|
|
22
|
+
.command("monitor")
|
|
23
|
+
.description("Monitor an IsaacScript mod project for changes.")
|
|
24
|
+
.helpOption("-h, --help", "Display the list of options for this command.")
|
|
25
|
+
.option("--skip-project-checks", 'Skip checking for "package.json" and "node_modules".', false)
|
|
26
|
+
.option("-v, --verbose", "Enable verbose output.", false)
|
|
27
|
+
.action(async (options) => {
|
|
28
|
+
await monitor(options);
|
|
29
|
+
});
|
|
30
|
+
const monitorOptions = monitorCommand.opts();
|
|
31
|
+
export async function monitor(options) {
|
|
32
|
+
const { skipProjectChecks, verbose } = options;
|
|
33
|
+
printBanner();
|
|
34
|
+
const packageManager = getPackageManagerUsedForExistingProject();
|
|
50
35
|
if (!skipProjectChecks) {
|
|
51
|
-
|
|
36
|
+
validateInIsaacScriptProject();
|
|
37
|
+
validatePackageJSONDependencies();
|
|
38
|
+
validateDepsInstalled(verbose);
|
|
52
39
|
}
|
|
40
|
+
const config = await getConfigFromFile();
|
|
53
41
|
// Read the "tsconfig.json" file.
|
|
54
42
|
const tsConfigInclude = getFirstTSConfigIncludePath();
|
|
55
43
|
const resolvedIncludePath = path.resolve(CWD, tsConfigInclude);
|
|
@@ -89,7 +77,7 @@ export async function monitor(args, config) {
|
|
|
89
77
|
}
|
|
90
78
|
// Also, start constantly pinging the watcher mod.
|
|
91
79
|
setInterval(() => {
|
|
92
|
-
|
|
80
|
+
notifyGamePing();
|
|
93
81
|
}, 1000); // Every second
|
|
94
82
|
console.log("Automatically monitoring the following for changes:");
|
|
95
83
|
console.log(`1) your TypeScript code: ${chalk.green(resolvedIncludePath)}`);
|
|
@@ -99,33 +87,6 @@ export async function monitor(args, config) {
|
|
|
99
87
|
console.log("");
|
|
100
88
|
// (The process will now continue indefinitely for as long as the subprocesses exist.)
|
|
101
89
|
}
|
|
102
|
-
function validatePackageJSONDependencies(args) {
|
|
103
|
-
const packageJSON = getJSONC(PACKAGE_JSON_PATH);
|
|
104
|
-
validatePackageJSONNormalDependencies(packageJSON, args);
|
|
105
|
-
validatePackageJSONDevDependencies(packageJSON, args);
|
|
106
|
-
}
|
|
107
|
-
function validatePackageJSONNormalDependencies(packageJSON, args) {
|
|
108
|
-
const dependencies = getPackageJSONDependencies(packageJSON, "dependencies") ?? {};
|
|
109
|
-
const dependenciesArray = Object.keys(dependencies);
|
|
110
|
-
for (const dependency of REQUIRED_PACKAGE_JSON_DEPENDENCIES) {
|
|
111
|
-
if (!dependenciesArray.includes(dependency)) {
|
|
112
|
-
const packageManager = getPackageManagerUsedForExistingProject(args);
|
|
113
|
-
const addCommand = getPackageManagerAddCommand(packageManager, dependency);
|
|
114
|
-
fatalError(`${chalk.red(`IsaacScript projects require a "dependencies" of "${dependency}" in the "${PACKAGE_JSON}" file. You can add it with the following command:`)} ${chalk.green(addCommand)}`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
function validatePackageJSONDevDependencies(packageJSON, args) {
|
|
119
|
-
const devDependencies = getPackageJSONDependencies(packageJSON, "devDependencies") ?? {};
|
|
120
|
-
const devDependenciesArray = Object.keys(devDependencies);
|
|
121
|
-
for (const devDependency of REQUIRED_PACKAGE_JSON_DEV_DEPENDENCIES) {
|
|
122
|
-
if (!devDependenciesArray.includes(devDependency)) {
|
|
123
|
-
const packageManager = getPackageManagerUsedForExistingProject(args);
|
|
124
|
-
const addDevCommand = getPackageManagerAddDevCommand(packageManager, devDependency);
|
|
125
|
-
fatalError(`${chalk.red(`IsaacScript projects require a "devDependencies" of "${devDependency}" in the "${PACKAGE_JSON}" file. You can add it with the following command:`)} ${chalk.green(addDevCommand)}`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
90
|
function linkDevelopmentIsaacScriptCommon(projectPath, packageManager, verbose) {
|
|
130
91
|
if (packageManager !== PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT) {
|
|
131
92
|
fatalError(`If you want to use this mod to develop/test "isaacscript-common", then the mod must be set up using the ${PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT} package manager instead of: ${packageManager}`);
|
|
@@ -152,3 +113,4 @@ function warnIfIsaacScriptCommonLinkExists(projectPath, packageManager) {
|
|
|
152
113
|
fatalError(`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 via: ${PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT} unlink isaacscript-common`);
|
|
153
114
|
}
|
|
154
115
|
}
|
|
116
|
+
//# sourceMappingURL=monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,+BAA+B,EAC/B,WAAW,EACX,MAAM,EACN,KAAK,GACN,MAAM,yBAAyB,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,0CAA0C,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,oCAAoC,EACpC,uCAAuC,GACxC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE;KACxC,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,UAAU,CAAC,YAAY,EAAE,+CAA+C,CAAC;KACzE,MAAM,CACL,uBAAuB,EACvB,sDAAsD,EACtD,KAAK,CACN;KACA,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;AAG7C,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE/C,WAAW,EAAE,CAAC;IAEd,MAAM,cAAc,GAAG,uCAAuC,EAAE,CAAC;IAEjE,IAAI,CAAC,iBAAiB,EAAE;QACtB,4BAA4B,EAAE,CAAC;QAC/B,+BAA+B,EAAE,CAAC;QAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KAChC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAEzC,iCAAiC;IACjC,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAC;IACtD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC/D,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE9E,uCAAuC;IACvC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEjC,kGAAkG;IAClG,6CAA6C;IAC7C,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE;QACxC,gCAAgC,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;KAChE;SAAM;QACL,iCAAiC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;KACxD;IAED,mDAAmD;IACnD,MAAM,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEnD,+FAA+F;IAC/F,kBAAkB;IAClB,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAErC,+CAA+C;IAC/C,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3B,4CAA4C;IAC5C,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAEhC,+EAA+E;IAC/E,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAE9C,wFAAwF;IACxF,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE;QACxC,MAAM,4BAA4B,GAChC,0CAA0C,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAC1C,4BAA4B,EAC5B,UAAU,EACV,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE;YAC5C,OAAO,CAAC,KAAK,CACX,yDAAyD,0BAA0B,EAAE,CACtF,CAAC;YACF,UAAU,CACR,sOAAsO,CACvO,CAAC;SACH;QAED,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;KAC3E;IAED,kDAAkD;IAClD,WAAW,CAAC,GAAG,EAAE;QACf,cAAc,EAAE,CAAC;IACnB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe;IAEzB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CACT,gCAAgC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CACnE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,sFAAsF;AACxF,CAAC;AAED,SAAS,gCAAgC,CACvC,WAAmB,EACnB,cAA8B,EAC9B,OAAgB;IAEhB,IAAI,cAAc,KAAK,oCAAoC,EAAE;QAC3D,UAAU,CACR,2GAA2G,oCAAoC,gCAAgC,cAAc,EAAE,CAChM,CAAC;KACH;IAED,MAAM,4BAA4B,GAChC,0CAA0C,CAAC,WAAW,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAEhD,kDAAkD;IAClD,MAAM,cAAc,GAAG,+BAA+B,CAAC,cAAc,CAAC,CAAC;IACvE,eAAe,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,4BAA4B,CAAC,CAAC;IAE9E,8BAA8B;IAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,4BAA4B,EAC5B,UAAU,EACV,oBAAoB,CACrB,CAAC;IACF,MAAM,YAAY,GAAG,eAAe,CAAC;IACrC,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAE9D,OAAO,CAAC,GAAG,CACT,+EAA+E,CAChF,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC5D,KAAK,CAAC,YAAY,CAAC,CAAC;IACpB,SAAS,CACP,oCAAoC,EACpC,CAAC,MAAM,EAAE,cAAc,CAAC,EACxB,OAAO,EACP,KAAK,EACL,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,WAAmB,EACnB,cAA8B;IAE9B,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CACrC,WAAW,EACX,cAAc,EACd,oBAAoB,CACrB,CAAC;IAEF,IACE,MAAM,CAAC,qBAAqB,CAAC;QAC7B,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,sDAAsD;MAC7F;QACA,UAAU,CACR,8MAA8M,oCAAoC,4BAA4B,CAC/Q,CAAC;KACH;AACH,CAAC"}
|
|
@@ -2,7 +2,7 @@ import chalk from "chalk";
|
|
|
2
2
|
import { COMPILATION_SUCCESSFUL_MESSAGE } from "../../constants.js";
|
|
3
3
|
import { getTime } from "../../utils.js";
|
|
4
4
|
import { sendMsgToSaveDatWriter } from "./spawnSaveDatWriter.js";
|
|
5
|
-
export function
|
|
5
|
+
export function notifyGameMsg(data) {
|
|
6
6
|
const formattedData = data
|
|
7
7
|
.replaceAll("/\r\n", "\n") // Replace Windows newlines with Unix newlines
|
|
8
8
|
.trim(); // Trim whitespace
|
|
@@ -36,15 +36,16 @@ function printMsgToStandardOut(data) {
|
|
|
36
36
|
}
|
|
37
37
|
console.log(coloredData);
|
|
38
38
|
}
|
|
39
|
-
export function
|
|
39
|
+
export function notifyGameCommand(data) {
|
|
40
40
|
sendMsgToSaveDatWriter({
|
|
41
41
|
type: "command",
|
|
42
42
|
data,
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
export function
|
|
45
|
+
export function notifyGamePing() {
|
|
46
46
|
sendMsgToSaveDatWriter({
|
|
47
47
|
type: "ping",
|
|
48
48
|
data: "",
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
//# sourceMappingURL=notifyGame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyGame.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/notifyGame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,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,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;QAEtD,sBAAsB,CAAC;YACrB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;QAEH,4FAA4F;QAC5F,0FAA0F;QAC1F,qBAAqB,CAAC,aAAa,CAAC,CAAC;KACtC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,IAAI,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE;QACjD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACjC;SAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,sBAAsB,CAAC;QACrB,IAAI,EAAE,SAAS;QACf,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,sBAAsB,CAAC;QACrB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveDatWriter.js","sourceRoot":"","sources":["../../../../../../src/commands/monitor/saveDatWriter/saveDatWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/commands/monitor/saveDatWriter/types.ts"],"names":[],"mappings":""}
|
|
@@ -3,7 +3,7 @@ import { fork } from "node:child_process";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { FILE_SYNCED_MESSAGE, MAIN_LUA, MOD_SOURCE_PATH, } from "../../constants.js";
|
|
5
5
|
import { getModTargetDirectoryName } from "../../utils.js";
|
|
6
|
-
import
|
|
6
|
+
import { notifyGameCommand, notifyGameMsg } from "./notifyGame.js";
|
|
7
7
|
const __dirname = dirName();
|
|
8
8
|
const SUBPROCESS_NAME = "modDirectorySyncer";
|
|
9
9
|
const SUBPROCESS_DESCRIPTION = "Directory syncer";
|
|
@@ -13,13 +13,17 @@ export function spawnModDirectorySyncer(config) {
|
|
|
13
13
|
const modTargetPath = path.join(config.modsDirectory, modTargetName);
|
|
14
14
|
const directorySyncer = fork(processPath, [MOD_SOURCE_PATH, modTargetPath]);
|
|
15
15
|
directorySyncer.on("message", (msg) => {
|
|
16
|
-
|
|
16
|
+
// It is possible for a sub-process to send a non-string message.
|
|
17
|
+
if (typeof msg !== "string") {
|
|
18
|
+
fatalError(`Received a non-string message from the "${SUBPROCESS_NAME}" subprocess:`, msg);
|
|
19
|
+
}
|
|
20
|
+
notifyGameMsg(msg);
|
|
17
21
|
// If the "main.lua" file was successfully copied over, we also have to tell isaacscript-watcher
|
|
18
22
|
// to reload the mod. Look for something like: "File synced: \main.lua"
|
|
19
23
|
if (msg === `${FILE_SYNCED_MESSAGE} ${path.sep}${MAIN_LUA}`) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
notifyGameCommand(`luamod ${modTargetName}`);
|
|
25
|
+
notifyGameCommand("restart");
|
|
26
|
+
notifyGameMsg("Reloaded the mod.");
|
|
23
27
|
}
|
|
24
28
|
});
|
|
25
29
|
directorySyncer.on("close", (code) => {
|
|
@@ -29,3 +33,4 @@ export function spawnModDirectorySyncer(config) {
|
|
|
29
33
|
fatalError(`Error: ${SUBPROCESS_DESCRIPTION} subprocess exited with code: ${code}`);
|
|
30
34
|
});
|
|
31
35
|
}
|
|
36
|
+
//# sourceMappingURL=spawnModDirectorySyncer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawnModDirectorySyncer.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/spawnModDirectorySyncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;AAE5B,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAC7C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAElD,MAAM,UAAU,uBAAuB,CAAC,MAAuB;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5E,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;QAC5C,iEAAiE;QACjE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,UAAU,CACR,2CAA2C,eAAe,eAAe,EACzE,GAAG,CACJ,CAAC;SACH;QAED,aAAa,CAAC,GAAG,CAAC,CAAC;QAEnB,gGAAgG;QAChG,uEAAuE;QACvE,IAAI,GAAG,KAAK,GAAG,mBAAmB,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE,EAAE;YAC3D,iBAAiB,CAAC,UAAU,aAAa,EAAE,CAAC,CAAC;YAC7C,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7B,aAAa,CAAC,mBAAmB,CAAC,CAAC;SACpC;IACH,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;QAClD,UAAU,CACR,UAAU,sBAAsB,iCAAiC,IAAI,EAAE,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE;QACjD,UAAU,CACR,UAAU,sBAAsB,iCAAiC,IAAI,EAAE,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawnSaveDatWriter.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/spawnSaveDatWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;AAC5B,MAAM,eAAe,GAAG,eAAe,CAAC;AACxC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAElD,IAAI,aAAuC,CAAC;AAE5C,MAAM,UAAU,kBAAkB,CAAC,MAAuB;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,QAAQ,MAAM,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAEnE,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE;QAC/C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;KACvC,CAAC,CAAC;IAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;QAChD,UAAU,CACR,UAAU,sBAAsB,iCAAiC,IAAI,EAAE,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE;QAC/C,UAAU,CACR,UAAU,sBAAsB,iCAAiC,IAAI,EAAE,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAmB;IACxD,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;AACH,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { appendFile, fatalError, getPackageManagerExecCommand, isFile, } from "i
|
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { COMPILATION_SUCCESSFUL_MESSAGE, PROJECT_NAME, } from "../../constants.js";
|
|
5
|
-
import
|
|
5
|
+
import { notifyGameMsg } from "./notifyGame.js";
|
|
6
6
|
let compilationStartTime = new Date();
|
|
7
7
|
export function spawnTSTLWatcher(config, cwd, packageManager, modCWD) {
|
|
8
8
|
const processDescription = "tstl";
|
|
@@ -16,24 +16,24 @@ export function spawnTSTLWatcher(config, cwd, packageManager, modCWD) {
|
|
|
16
16
|
const suffix = getMonitorMessageSuffix(config, cwd);
|
|
17
17
|
if (msg.includes("Starting compilation in watch mode...")) {
|
|
18
18
|
const newMsg1 = `${PROJECT_NAME} is now watching for future changes${suffix}.`;
|
|
19
|
-
|
|
19
|
+
notifyGameMsg(newMsg1);
|
|
20
20
|
const target = suffix.includes("isaacscript-common")
|
|
21
21
|
? '"isaacscript-common"'
|
|
22
22
|
: "the mod";
|
|
23
23
|
const newMsg2 = `Compiling ${target} for the first time...`;
|
|
24
|
-
|
|
24
|
+
notifyGameMsg(newMsg2);
|
|
25
25
|
}
|
|
26
26
|
else if (msg.includes("File change detected. Starting incremental compilation...")) {
|
|
27
27
|
compilationStartTime = new Date();
|
|
28
28
|
const newMsg = `TypeScript change detected${suffix}. Compiling...`;
|
|
29
|
-
|
|
29
|
+
notifyGameMsg(newMsg);
|
|
30
30
|
}
|
|
31
31
|
else if (msg.includes("Found 0 errors. Watching for file changes.")) {
|
|
32
32
|
const compilationFinishTime = new Date();
|
|
33
33
|
const elapsedTimeMilliseconds = compilationFinishTime.getTime() - compilationStartTime.getTime();
|
|
34
34
|
const elapsedTimeSeconds = elapsedTimeMilliseconds / 1000;
|
|
35
35
|
const newMsg = `${COMPILATION_SUCCESSFUL_MESSAGE} (in ${elapsedTimeSeconds} seconds)${suffix}`;
|
|
36
|
-
|
|
36
|
+
notifyGameMsg(newMsg);
|
|
37
37
|
// Successful compilation of "isaacscript-common" will not trigger a recompilation in the mod.
|
|
38
38
|
// Thus, we must arbitrarily change a file to trigger a mod recompilation.
|
|
39
39
|
if (modCWD !== undefined) {
|
|
@@ -44,7 +44,7 @@ export function spawnTSTLWatcher(config, cwd, packageManager, modCWD) {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
|
-
|
|
47
|
+
notifyGameMsg(msg);
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
tstl.stderr.on("data", (data) => {
|
|
@@ -53,7 +53,7 @@ export function spawnTSTLWatcher(config, cwd, packageManager, modCWD) {
|
|
|
53
53
|
// Hide the line that appears when you cancel the program with `Ctrl + c`.
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
notifyGameMsg(`Error: ${msg}`);
|
|
57
57
|
});
|
|
58
58
|
tstl.on("close", (code) => {
|
|
59
59
|
fatalError(`Error: ${processDescription} subprocess exited with code: ${code}`);
|
|
@@ -72,3 +72,4 @@ function getMonitorMessageSuffix(config, cwd) {
|
|
|
72
72
|
? ' (in "isaacscript-common")'
|
|
73
73
|
: " (in this mod)";
|
|
74
74
|
}
|
|
75
|
+
//# sourceMappingURL=spawnTSTLWatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawnTSTLWatcher.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/spawnTSTLWatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touchWatcherSaveDatFiles.js","sourceRoot":"","sources":["../../../../../src/commands/monitor/touchWatcherSaveDatFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,MAAM,EACN,aAAa,EACb,KAAK,GACN,MAAM,yBAAyB,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,wBAAwB,CAAC,MAAuB;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE;QACpC,aAAa,CAAC,kBAAkB,CAAC,CAAC;KACnC;IACD,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,QAAQ,MAAM,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACxB,KAAK,CAAC,WAAW,CAAC,CAAC;KACpB;AACH,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { deleteFileOrDirectory, getFileNamesInDirectory, getPackageJSONVersion, isDirectory, isFile, readFile, writeFile, } from "isaacscript-common-node";
|
|
3
3
|
import path from "node:path";
|
|
4
|
+
import { getConfigFromFile } from "../../configFile.js";
|
|
4
5
|
import { CONSTANTS_TS_PATH, CWD, MOD_SOURCE_PATH, MOD_UPLOADER_PATH, PUBLISH_POST_COPY_PY_PATH, PUBLISH_PRE_COPY_PY_PATH, } from "../../constants.js";
|
|
5
6
|
import { execExe, execShell, execShellString } from "../../exec.js";
|
|
6
7
|
import { getReleaseGitCommitMessage, gitCommitAllAndPush } from "../../git.js";
|
|
7
8
|
import { getPackageManagerUsedForExistingProject } from "../../packageManager.js";
|
|
8
9
|
import { getModTargetDirectoryName } from "../../utils.js";
|
|
9
10
|
import { compileAndCopy } from "../copy/copy.js";
|
|
10
|
-
export async function publishIsaacScriptMod(
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const packageManager = getPackageManagerUsedForExistingProject(args);
|
|
11
|
+
export async function publishIsaacScriptMod(dryRun, verbose) {
|
|
12
|
+
const packageManager = getPackageManagerUsedForExistingProject();
|
|
13
|
+
const config = await getConfigFromFile();
|
|
14
14
|
const modTargetDirectoryName = getModTargetDirectoryName(config);
|
|
15
15
|
const modTargetPath = path.join(config.modsDirectory, modTargetDirectoryName);
|
|
16
16
|
const version = getPackageJSONVersion(undefined);
|
|
@@ -88,3 +88,4 @@ function hasIsaacSteamWorkshopUploadGitHubAction() {
|
|
|
88
88
|
const lines = ciYML.split("\n");
|
|
89
89
|
return lines.some((line) => line.match(/^\s*uses: IsaacScript\/isaac-steam-workshop-upload/) !== null);
|
|
90
90
|
}
|
|
91
|
+
//# sourceMappingURL=isaacscriptMod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isaacscriptMod.js","sourceRoot":"","sources":["../../../../../src/commands/publish/isaacscriptMod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,152 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Command } from "@commander-js/extra-typings";
|
|
2
|
+
import { PACKAGE_JSON, fatalError, getPackageJSONField, getPackageJSONVersion, getPackageManagerInstallCommand, isFile, readFile, updatePackageJSON, writeFile, } from "isaacscript-common-node";
|
|
3
|
+
import { CONSTANTS_TS_PATH, METADATA_XML_PATH, VERSION_TXT_PATH, } from "../../constants.js";
|
|
4
|
+
import { execShell, execShellString } from "../../exec.js";
|
|
3
5
|
import { getReleaseGitCommitMessage, gitCommitAllAndPush } from "../../git.js";
|
|
4
|
-
import {
|
|
6
|
+
import { getPackageManagerUsedForExistingProject } from "../../packageManager.js";
|
|
5
7
|
import { publishIsaacScriptMod } from "./isaacscriptMod.js";
|
|
6
|
-
import { prePublish } from "./prePublish.js";
|
|
7
8
|
import { validate } from "./validate.js";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
export const publishCommand = new Command()
|
|
10
|
+
.command("publish")
|
|
11
|
+
.description("Bump the version & release on the Steam Workshop.")
|
|
12
|
+
.helpOption("-h, --help", "Display the list of options for this command.")
|
|
13
|
+
.option("--major", "Perform a major version bump.", false)
|
|
14
|
+
.option("--minor", "Perform a minor version bump.", false)
|
|
15
|
+
.option("--patch", "Perform a patch version bump.", false)
|
|
16
|
+
.option("--skip-increment", "Skip incrementing the version number.", false)
|
|
17
|
+
.option("--set-version <version>", "Specify the version number instead of incrementing it.")
|
|
18
|
+
.option("--dry-run", "Skip committing/uploading & perform a Git reset afterward.", false)
|
|
19
|
+
.option("--skip-update", "Skip updating the npm dependencies.", false)
|
|
20
|
+
.option("--skip-lint", "Skip linting before publishing.", false)
|
|
21
|
+
.option("-v, --verbose", "Enable verbose output.", false)
|
|
22
|
+
.action(async (options) => {
|
|
23
|
+
await publish(options, false);
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Even though all of the options are identical, we make a "-ts" version of the command to keep the
|
|
27
|
+
* symmetry with the "init" and "init-ts" commands.
|
|
28
|
+
*/
|
|
29
|
+
export const publishTSCommand = new Command()
|
|
30
|
+
.command("publish-ts")
|
|
31
|
+
.description("Bump the version & publish the package on npm.")
|
|
32
|
+
.helpOption("-h, --help", "Display the list of options for this command.")
|
|
33
|
+
.option("--major", "Perform a major version bump.", false)
|
|
34
|
+
.option("--minor", "Perform a minor version bump.", false)
|
|
35
|
+
.option("--patch", "Perform a patch version bump.", false)
|
|
36
|
+
.option("--skip-increment", "Skip incrementing the version number.", false)
|
|
37
|
+
.option("--set-version <version>", "Specify the version number instead of incrementing it.")
|
|
38
|
+
.option("--dry-run", "Skip committing/uploading & perform a Git reset afterward.", false)
|
|
39
|
+
.option("--skip-update", "Skip updating the npm dependencies.", false)
|
|
40
|
+
.option("--skip-lint", "Skip linting before publishing.", false)
|
|
41
|
+
.option("-v, --verbose", "Enable verbose output.", false)
|
|
42
|
+
.action(async (options) => {
|
|
43
|
+
await publish(options, true);
|
|
44
|
+
});
|
|
45
|
+
const publishOptions = publishCommand.opts();
|
|
46
|
+
export async function publish(options, typeScript) {
|
|
47
|
+
const { dryRun, setVersion, verbose } = options;
|
|
11
48
|
validate(typeScript, setVersion, verbose);
|
|
12
|
-
await prePublish(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
49
|
+
await prePublish(options, typeScript);
|
|
50
|
+
if (typeScript) {
|
|
51
|
+
publishTypeScriptProject(dryRun, verbose);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
await publishIsaacScriptMod(dryRun, verbose);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Before uploading the project, we want to update dependencies, increment the version, and perform
|
|
59
|
+
* some other steps.
|
|
60
|
+
*/
|
|
61
|
+
export async function prePublish(options, typeScript) {
|
|
62
|
+
const { dryRun, skipLint, skipUpdate, verbose } = options;
|
|
63
|
+
const packageManager = getPackageManagerUsedForExistingProject();
|
|
64
|
+
execShellString("git pull --rebase");
|
|
65
|
+
execShellString("git push");
|
|
66
|
+
await updateDependencies(skipUpdate, dryRun, packageManager, verbose);
|
|
67
|
+
incrementVersion(options, typeScript);
|
|
68
|
+
tryRunNPMScript("build", verbose);
|
|
69
|
+
if (!skipLint) {
|
|
70
|
+
tryRunNPMScript("lint", verbose);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async function updateDependencies(skipUpdate, dryRun, packageManager, verbose) {
|
|
74
|
+
if (skipUpdate) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
console.log(`Updating dependencies in the "${PACKAGE_JSON}" file...`);
|
|
78
|
+
const hasNewDependencies = await updatePackageJSON(undefined);
|
|
79
|
+
if (hasNewDependencies) {
|
|
80
|
+
const command = getPackageManagerInstallCommand(packageManager);
|
|
81
|
+
execShellString(command, verbose);
|
|
82
|
+
if (!dryRun) {
|
|
83
|
+
gitCommitAllAndPush("chore: update dependencies", verbose);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function incrementVersion(options, typeScript) {
|
|
88
|
+
const { skipIncrement, verbose } = options;
|
|
89
|
+
if (skipIncrement) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const versionCommandArgument = getVersionCommandArgument(options);
|
|
93
|
+
// We always use `npm` here to avoid differences with the version command between package
|
|
94
|
+
// managers. The "--no-git-tag-version" flag will prevent npm from both making a commit and adding
|
|
95
|
+
// a tag.
|
|
96
|
+
execShell("npm", ["version", versionCommandArgument, "--no-git-tag-version"], verbose);
|
|
97
|
+
if (!typeScript) {
|
|
98
|
+
const version = getPackageJSONVersion(undefined);
|
|
99
|
+
writeVersionToConstantsTS(version);
|
|
100
|
+
writeVersionToMetadataXML(version);
|
|
101
|
+
writeVersionToVersionTXT(version);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function getVersionCommandArgument(options) {
|
|
105
|
+
if (options.setVersion !== undefined) {
|
|
106
|
+
// They want to use a specific version, which was manually specified.
|
|
107
|
+
return options.setVersion;
|
|
108
|
+
}
|
|
109
|
+
if (options.major) {
|
|
110
|
+
return "major";
|
|
111
|
+
}
|
|
112
|
+
if (options.minor) {
|
|
113
|
+
return "minor";
|
|
114
|
+
}
|
|
115
|
+
if (options.patch) {
|
|
116
|
+
return "patch";
|
|
117
|
+
}
|
|
118
|
+
// Default to a patch version.
|
|
119
|
+
return "patch";
|
|
120
|
+
}
|
|
121
|
+
function writeVersionToConstantsTS(version) {
|
|
122
|
+
if (!isFile(CONSTANTS_TS_PATH)) {
|
|
123
|
+
console.log('Skipping writing the version to "constants.ts" since it was not found.');
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const constantsTS = readFile(CONSTANTS_TS_PATH);
|
|
127
|
+
const newConstantsTS = constantsTS.replace(/const VERSION = ".+"/, `const VERSION = "${version}"`);
|
|
128
|
+
writeFile(CONSTANTS_TS_PATH, newConstantsTS);
|
|
129
|
+
console.log(`The version of ${version} was written to: ${CONSTANTS_TS_PATH}`);
|
|
130
|
+
}
|
|
131
|
+
function writeVersionToMetadataXML(version) {
|
|
132
|
+
const metadataXML = readFile(METADATA_XML_PATH);
|
|
133
|
+
const newMetadataXML = metadataXML.replace(/<version>.+<\/version>/, `<version>${version}</version>`);
|
|
134
|
+
writeFile(METADATA_XML_PATH, newMetadataXML);
|
|
135
|
+
console.log(`The version of ${version} was written to: ${METADATA_XML_PATH}`);
|
|
136
|
+
}
|
|
137
|
+
function writeVersionToVersionTXT(version) {
|
|
138
|
+
writeFile(VERSION_TXT_PATH, version);
|
|
139
|
+
console.log(`The version of ${version} was written to: ${VERSION_TXT_PATH}`);
|
|
140
|
+
}
|
|
141
|
+
function tryRunNPMScript(scriptName, verbose) {
|
|
142
|
+
console.log(`Running: ${scriptName}`);
|
|
143
|
+
const { exitStatus, stdout } = execShell("npm", ["run", scriptName], verbose, true);
|
|
144
|
+
if (exitStatus !== 0) {
|
|
145
|
+
execShellString("git reset --hard", verbose); // Revert the version changes.
|
|
146
|
+
fatalError(`Failed to run "${scriptName}":`, stdout);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function publishTypeScriptProject(dryRun, verbose) {
|
|
20
150
|
const projectName = getPackageJSONField(undefined, "name");
|
|
21
151
|
const version = getPackageJSONVersion(undefined);
|
|
22
152
|
if (dryRun) {
|
|
@@ -25,15 +155,9 @@ async function publishTypeScriptProject(args) {
|
|
|
25
155
|
else {
|
|
26
156
|
const releaseGitCommitMessage = getReleaseGitCommitMessage(version);
|
|
27
157
|
gitCommitAllAndPush(releaseGitCommitMessage, verbose);
|
|
28
|
-
|
|
29
|
-
if (args.otp === true) {
|
|
30
|
-
const otpCode = await getInputString("Type in the two-factor OTP code tied to the npm account. (Just press enter if you do not have 2FA enabled on your npm account.)");
|
|
31
|
-
if (otpCode !== "") {
|
|
32
|
-
command += ` --otp=${otpCode}`;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
execShellString(command, verbose);
|
|
158
|
+
execShellString("npm publish --access=public", verbose);
|
|
36
159
|
}
|
|
37
160
|
const dryRunSuffix = dryRun ? " (dry-run)" : "";
|
|
38
161
|
console.log(`Published ${projectName} version ${version} successfully${dryRunSuffix}.`);
|
|
39
162
|
}
|
|
163
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/commands/publish/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export function validate(typeScript, setVersion, verbose) {
|
|
|
13
13
|
fatalError(`Failed to find the "${PACKAGE_JSON}" file in the current working directory.`);
|
|
14
14
|
}
|
|
15
15
|
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
16
|
-
fatalError(chalk.red(`The version of "${setVersion}" does not match the semantic versioning format
|
|
16
|
+
fatalError(chalk.red(`The version of "${setVersion}" does not match the semantic versioning format of: #.#.#`));
|
|
17
17
|
}
|
|
18
18
|
if (typeScript) {
|
|
19
19
|
validateTypeScriptProject();
|
|
@@ -44,3 +44,4 @@ function validateIsaacScriptOtherCopiesNotRunning(verbose) {
|
|
|
44
44
|
fatalError(chalk.red(`Other copies of ${PROJECT_NAME} appear to be running. You must close those copies before publishing.`));
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/commands/publish/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,UAAU,QAAQ,CACtB,UAAmB,EACnB,UAA8B,EAC9B,OAAgB;IAEhB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;QACzB,UAAU,CACR,0FAA0F,CAC3F,CAAC;KACH;IAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;QAC9B,UAAU,CACR,2KAA2K,CAC5K,CAAC;KACH;IAED,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QACzB,UAAU,CACR,uBAAuB,YAAY,0CAA0C,CAC9E,CAAC;KACH;IAED,IAAI,UAAU,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QAC3E,UAAU,CACR,KAAK,CAAC,GAAG,CACP,mBAAmB,UAAU,2DAA2D,CACzF,CACF,CAAC;KACH;IAED,IAAI,UAAU,EAAE;QACd,yBAAyB,EAAE,CAAC;KAC7B;SAAM;QACL,sBAAsB,CAAC,OAAO,CAAC,CAAC;KACjC;AACH,CAAC;AAED,SAAS,yBAAyB;IAChC,IAAI,CAAC,eAAe,EAAE,EAAE;QACtB,UAAU,CACR,8EAA8E,CAC/E,CAAC;KACH;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB;IAC9C,wCAAwC,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,wCAAwC,CAAC,OAAgB;IAChE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,OAAO;KACR;IAED,4FAA4F;IAC5F,MAAM,MAAM,GAAG,cAAc,CAC3B,uGAAuG,EACvG,OAAO,CACR,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,+BAA+B,GAAG,KAAK,CAAC,MAAM,CAClD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CACxC,CAAC;IACF,IAAI,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9C,UAAU,CACR,KAAK,CAAC,GAAG,CACP,mBAAmB,YAAY,uEAAuE,CACvG,CACF,CAAC;KACH;AACH,CAAC"}
|
package/dist/common.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":"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"}
|