isaacscript 3.6.1 → 3.6.3
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 -1
- package/src/commands/check/check.js +28 -7
- package/src/commands/check/check.js.map +1 -1
- package/src/commands/init/createProject.js +1 -1
- package/src/commands/init/createProject.js.map +1 -1
- package/src/commands/publish/isaacscriptMod.js +199 -0
- package/src/commands/publish/isaacscriptMod.js.map +1 -0
- package/src/commands/publish/publish.js +8 -192
- package/src/commands/publish/publish.js.map +1 -1
- package/src/commands/publish/typeScript.js +6 -0
- package/src/commands/publish/typeScript.js.map +1 -0
package/package.json
CHANGED
|
@@ -22,13 +22,33 @@ const PACKAGE_MANAGER_STRINGS = [
|
|
|
22
22
|
...(0, isaacscript_common_ts_1.getEnumValues)(PackageManager_js_1.PackageManager),
|
|
23
23
|
...(0, packageManager_js_1.getAllPackageManagerLockFileNames)(),
|
|
24
24
|
];
|
|
25
|
-
function check(args,
|
|
25
|
+
function check(args, typeScript) {
|
|
26
26
|
const ignore = args.ignore ?? "";
|
|
27
27
|
const verbose = args.verbose === true;
|
|
28
28
|
let oneOrMoreErrors = false;
|
|
29
29
|
const ignoreFileNames = ignore.split(",");
|
|
30
30
|
const ignoreFileNamesSet = new Set(ignoreFileNames);
|
|
31
|
-
|
|
31
|
+
// First, check the static files that are shared between TypeScript projects and IsaacScript mods.
|
|
32
|
+
if (checkTemplateDirectory(constants_js_1.TEMPLATES_STATIC_DIR, ignoreFileNamesSet, verbose)) {
|
|
33
|
+
oneOrMoreErrors = true;
|
|
34
|
+
}
|
|
35
|
+
// Second, check the files that are specific to either a TypeScript project or an IsaacScript mod.
|
|
36
|
+
const staticDirSuffix = typeScript ? "ts" : "mod";
|
|
37
|
+
const staticDirPath = node_path_1.default.join(constants_js_1.TEMPLATES_DIR, `static-${staticDirSuffix}`);
|
|
38
|
+
if (checkTemplateDirectory(staticDirPath, ignoreFileNamesSet, verbose)) {
|
|
39
|
+
oneOrMoreErrors = true;
|
|
40
|
+
}
|
|
41
|
+
if (checkIndividualFiles(verbose)) {
|
|
42
|
+
oneOrMoreErrors = true;
|
|
43
|
+
}
|
|
44
|
+
if (oneOrMoreErrors) {
|
|
45
|
+
(0, isaacscript_common_ts_1.error)("The check command failed.");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.check = check;
|
|
49
|
+
function checkTemplateDirectory(templateDirectory, ignoreFileNamesSet, verbose) {
|
|
50
|
+
let oneOrMoreErrors = false;
|
|
51
|
+
for (const klawItem of (0, klaw_sync_1.default)(templateDirectory)) {
|
|
32
52
|
const templateFilePath = klawItem.path;
|
|
33
53
|
if (file.isDir(templateFilePath, verbose)) {
|
|
34
54
|
continue;
|
|
@@ -37,7 +57,7 @@ function check(args, _typeScript) {
|
|
|
37
57
|
if (originalFileName === "main.ts") {
|
|
38
58
|
continue;
|
|
39
59
|
}
|
|
40
|
-
const relativeTemplateFilePath = node_path_1.default.relative(
|
|
60
|
+
const relativeTemplateFilePath = node_path_1.default.relative(templateDirectory, templateFilePath);
|
|
41
61
|
const templateFileName = node_path_1.default.basename(relativeTemplateFilePath);
|
|
42
62
|
let projectFilePath = node_path_1.default.join(constants_js_1.CWD, relativeTemplateFilePath);
|
|
43
63
|
if (templateFileName === ".eslintrc.template.cjs") {
|
|
@@ -57,6 +77,10 @@ function check(args, _typeScript) {
|
|
|
57
77
|
oneOrMoreErrors = true;
|
|
58
78
|
}
|
|
59
79
|
}
|
|
80
|
+
return oneOrMoreErrors;
|
|
81
|
+
}
|
|
82
|
+
function checkIndividualFiles(verbose) {
|
|
83
|
+
let oneOrMoreErrors = false;
|
|
60
84
|
{
|
|
61
85
|
const templateFilePath = constants_js_1.CI_YML_TEMPLATE_PATH;
|
|
62
86
|
const relativeTemplateFilePath = node_path_1.default.relative(constants_js_1.TEMPLATES_DYNAMIC_DIR, templateFilePath);
|
|
@@ -66,11 +90,8 @@ function check(args, _typeScript) {
|
|
|
66
90
|
oneOrMoreErrors = true;
|
|
67
91
|
}
|
|
68
92
|
}
|
|
69
|
-
|
|
70
|
-
(0, isaacscript_common_ts_1.error)("The check command failed.");
|
|
71
|
-
}
|
|
93
|
+
return oneOrMoreErrors;
|
|
72
94
|
}
|
|
73
|
-
exports.check = check;
|
|
74
95
|
/** @returns Whether or not the project file is valid in reference to the template file. */
|
|
75
96
|
function compareTextFiles(projectFilePath, templateFilePath, originalFileName, verbose) {
|
|
76
97
|
if (!file.exists(projectFilePath, verbose)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/check/check.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAA6D;AAC7D,kEAAiC;AACjC,kEAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/check/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ exports.createProject = createProject;
|
|
|
34
34
|
function copyStaticFiles(projectPath, typeScript, verbose) {
|
|
35
35
|
// First, copy the static files that are shared between TypeScript projects and IsaacScript mods.
|
|
36
36
|
copyTemplateDirectoryWithoutOverwriting(constants_js_1.TEMPLATES_STATIC_DIR, projectPath, verbose);
|
|
37
|
-
// Second, copy files that are specific to either a TypeScript project or an IsaacScript mod.
|
|
37
|
+
// Second, copy the files that are specific to either a TypeScript project or an IsaacScript mod.
|
|
38
38
|
const staticDirSuffix = typeScript ? "ts" : "mod";
|
|
39
39
|
const staticDirPath = node_path_1.default.join(constants_js_1.TEMPLATES_DIR, `static-${staticDirSuffix}`);
|
|
40
40
|
copyTemplateDirectoryWithoutOverwriting(staticDirPath, projectPath, verbose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/createProject.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iEAI+B;AAC/B,kEAA6B;AAC7B,uDAAiD;AACjD,uDAAuD;AACvD,qDAe4B;AAE5B,2CAA2D;AAC3D,4DAAsC;AACtC,yCAAiD;AACjD,+DAKiC;AAEjC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAE5C,SAAgB,aAAa,CAC3B,WAAmB,EACnB,UAA8B,EAC9B,WAAmB,EACnB,YAAqB,EACrB,aAAiC,EACjC,QAA4B,EAC5B,YAAgC,EAChC,WAAoB,EACpB,cAA8B,EAC9B,UAAmB,EACnB,GAAY,EACZ,OAAgB;IAEhB,IAAI,YAAY,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KACpC;IAED,MAAM,MAAM,GAAG,IAAI,kBAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxD,IAAA,gCAAgB,EAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3D,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,gBAAgB,CACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,GAAG,EACH,UAAU,EACV,OAAO,CACR,CAAC;IACF,iBAAiB,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACtE,WAAW,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAElD,qFAAqF;IACrF,IAAA,0BAAiB,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAEtD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,KAAK,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC;AAxCD,sCAwCC;AAED,qEAAqE;AACrE,SAAS,eAAe,CACtB,WAAmB,EACnB,UAAmB,EACnB,OAAgB;IAEhB,iGAAiG;IACjG,uCAAuC,CACrC,mCAAoB,EACpB,WAAW,EACX,OAAO,CACR,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/init/createProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.publishIsaacScriptMod = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const isaacscript_common_ts_1 = require("isaacscript-common-ts");
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
|
+
const constants_js_1 = require("../../constants.js");
|
|
9
|
+
const exec_js_1 = require("../../exec.js");
|
|
10
|
+
const file = tslib_1.__importStar(require("../../file.js"));
|
|
11
|
+
const git_js_1 = require("../../git.js");
|
|
12
|
+
const json_js_1 = require("../../json.js");
|
|
13
|
+
const packageManager_js_1 = require("../../packageManager.js");
|
|
14
|
+
const utils_js_1 = require("../../utils.js");
|
|
15
|
+
const copy_js_1 = require("../copy/copy.js");
|
|
16
|
+
const LINT_SCRIPT_NAME = "lint.sh";
|
|
17
|
+
const UPDATE_SCRIPT_NAME = "update.sh";
|
|
18
|
+
async function publishIsaacScriptMod(args, config) {
|
|
19
|
+
const skipIncrement = args.skipIncrement === true;
|
|
20
|
+
const { setVersion } = args;
|
|
21
|
+
const dryRun = args.dryRun === true;
|
|
22
|
+
const verbose = args.verbose === true;
|
|
23
|
+
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
24
|
+
const modTargetDirectoryName = (0, utils_js_1.getModTargetDirectoryName)(config);
|
|
25
|
+
const modTargetPath = node_path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
26
|
+
validateVersion(setVersion);
|
|
27
|
+
validateGitNotDirty(packageManager, verbose);
|
|
28
|
+
validateIsaacScriptOtherCopiesNotRunning(verbose);
|
|
29
|
+
await startPublish(constants_js_1.MOD_SOURCE_PATH, modTargetPath, skipIncrement, setVersion, dryRun, packageManager, verbose);
|
|
30
|
+
}
|
|
31
|
+
exports.publishIsaacScriptMod = publishIsaacScriptMod;
|
|
32
|
+
function validateVersion(setVersion) {
|
|
33
|
+
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
34
|
+
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`The version of "${setVersion}" does not match the semantic versioning format.`));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function validateGitNotDirty(packageManager, verbose) {
|
|
38
|
+
if ((0, git_js_1.isGitDirty)(packageManager, verbose)) {
|
|
39
|
+
(0, isaacscript_common_ts_1.error)(chalk_1.default.red("Before publishing, you must push your current changes to git. (Version commits should be not contain any code changes.)"));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function validateIsaacScriptOtherCopiesNotRunning(verbose) {
|
|
43
|
+
if (process.platform !== "win32") {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
// From: https://securityboulevard.com/2020/01/get-process-list-with-command-line-arguments/
|
|
47
|
+
const stdout = (0, exec_js_1.execPowershell)("Get-WmiObject Win32_Process -Filter \"name = 'node.exe'\" | Select-Object -ExpandProperty CommandLine", verbose);
|
|
48
|
+
const lines = stdout.split("\r\n");
|
|
49
|
+
const otherCopiesOfRunningIsaacScript = lines.filter((line) => line.includes("node.exe") &&
|
|
50
|
+
line.includes("isaacscript") &&
|
|
51
|
+
!line.includes("isaacscript publish"));
|
|
52
|
+
if (otherCopiesOfRunningIsaacScript.length > 0) {
|
|
53
|
+
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`Other copies of ${constants_js_1.PROJECT_NAME} appear to be running. You must close those copies before publishing.`));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async function startPublish(modSourcePath, modTargetPath, skipIncrement, setVersion, dryRun, packageManager, verbose) {
|
|
57
|
+
runBashScript(UPDATE_SCRIPT_NAME, verbose);
|
|
58
|
+
// Since we updated the dependencies, things may not longer compile or lint, so test those things
|
|
59
|
+
// before we update the version.
|
|
60
|
+
await (0, copy_js_1.compileAndCopy)(modSourcePath, modTargetPath, packageManager, verbose);
|
|
61
|
+
runBashScript(LINT_SCRIPT_NAME, verbose);
|
|
62
|
+
let version = setVersion === undefined ? getVersionFromPackageJSON(verbose) : setVersion;
|
|
63
|
+
if (!skipIncrement && setVersion === undefined) {
|
|
64
|
+
version = bumpVersionInPackageJSON(version, verbose);
|
|
65
|
+
}
|
|
66
|
+
else if (setVersion !== undefined) {
|
|
67
|
+
writeVersionInPackageJSON(version, verbose);
|
|
68
|
+
}
|
|
69
|
+
writeVersionToConstantsTS(version, verbose);
|
|
70
|
+
writeVersionToMetadataXML(version, verbose);
|
|
71
|
+
writeVersionToVersionTXT(version, verbose);
|
|
72
|
+
unsetDevelopmentConstant(verbose);
|
|
73
|
+
runReleaseScriptPreCopy(verbose);
|
|
74
|
+
await (0, copy_js_1.compileAndCopy)(modSourcePath, modTargetPath, packageManager, verbose);
|
|
75
|
+
purgeRoomXMLs(modTargetPath, verbose);
|
|
76
|
+
runReleaseScriptPostCopy(verbose);
|
|
77
|
+
if (!dryRun) {
|
|
78
|
+
(0, git_js_1.gitCommitIfChanges)(version, packageManager, verbose);
|
|
79
|
+
uploadMod(modTargetPath, verbose);
|
|
80
|
+
}
|
|
81
|
+
const dryRunSuffix = dryRun ? " (dry run)" : "";
|
|
82
|
+
console.log(`\nPublished version ${version} successfully${dryRunSuffix}.`);
|
|
83
|
+
}
|
|
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
|
+
function getVersionFromPackageJSON(verbose) {
|
|
91
|
+
if (!file.exists(constants_js_1.PACKAGE_JSON_PATH, verbose)) {
|
|
92
|
+
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`A "${constants_js_1.PACKAGE_JSON_PATH}" was not found in the current directory.`));
|
|
93
|
+
}
|
|
94
|
+
const packageJSON = (0, json_js_1.getJSONC)(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
95
|
+
const { version } = packageJSON;
|
|
96
|
+
if (typeof version !== "string") {
|
|
97
|
+
(0, isaacscript_common_ts_1.error)(`The "${chalk_1.default.green(constants_js_1.PACKAGE_JSON_PATH)}" file has an invalid "version" field.`);
|
|
98
|
+
}
|
|
99
|
+
return version;
|
|
100
|
+
}
|
|
101
|
+
function bumpVersionInPackageJSON(version, verbose) {
|
|
102
|
+
const semanticVersion = (0, isaacscript_common_ts_1.parseSemanticVersion)(version);
|
|
103
|
+
if (semanticVersion === undefined) {
|
|
104
|
+
(0, isaacscript_common_ts_1.error)(`Failed to parse the version in the "package.json" file: ${version}`);
|
|
105
|
+
}
|
|
106
|
+
const { majorVersion, minorVersion, patchVersion } = semanticVersion;
|
|
107
|
+
const incrementedPatchVersion = patchVersion + 1;
|
|
108
|
+
const incrementedVersion = `${majorVersion}.${minorVersion}.${incrementedPatchVersion}`;
|
|
109
|
+
const packageJSON = file.read(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
110
|
+
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${incrementedVersion}",`);
|
|
111
|
+
file.write(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
112
|
+
console.log(`The version of ${incrementedVersion} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
113
|
+
return incrementedVersion;
|
|
114
|
+
}
|
|
115
|
+
function writeVersionInPackageJSON(version, verbose) {
|
|
116
|
+
const packageJSON = file.read(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
117
|
+
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${version}",`);
|
|
118
|
+
file.write(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
119
|
+
console.log(`The version of ${version} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
120
|
+
}
|
|
121
|
+
function writeVersionToConstantsTS(version, verbose) {
|
|
122
|
+
if (!file.exists(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
123
|
+
console.log('Skipping writing the version to "constants.ts" since it was not found.');
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const constantsTS = file.read(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
127
|
+
const newConstantsTS = constantsTS.replace(/const VERSION = ".+"/, `const VERSION = "${version}"`);
|
|
128
|
+
file.write(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
129
|
+
console.log(`The version of ${version} was written to: ${constants_js_1.CONSTANTS_TS_PATH}`);
|
|
130
|
+
}
|
|
131
|
+
function writeVersionToMetadataXML(version, verbose) {
|
|
132
|
+
const metadataXML = file.read(constants_js_1.METADATA_XML_PATH, verbose);
|
|
133
|
+
const newMetadataXML = metadataXML.replace(/<version>.+<\/version>/, `<version>${version}</version>`);
|
|
134
|
+
file.write(constants_js_1.METADATA_XML_PATH, newMetadataXML, verbose);
|
|
135
|
+
console.log(`The version of ${version} was written to: ${constants_js_1.METADATA_XML_PATH}`);
|
|
136
|
+
}
|
|
137
|
+
function writeVersionToVersionTXT(version, verbose) {
|
|
138
|
+
file.write(constants_js_1.VERSION_TXT_PATH, version, verbose);
|
|
139
|
+
console.log(`The version of ${version} was written to: ${constants_js_1.VERSION_TXT_PATH}`);
|
|
140
|
+
}
|
|
141
|
+
function unsetDevelopmentConstant(verbose) {
|
|
142
|
+
if (!file.exists(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const constantsTS = file.read(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
146
|
+
const newConstantsTS = constantsTS.replace("const IS_DEV = true", "const IS_DEV = false");
|
|
147
|
+
file.write(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
148
|
+
}
|
|
149
|
+
function runReleaseScriptPreCopy(verbose) {
|
|
150
|
+
if (!file.exists(constants_js_1.PUBLISH_PRE_COPY_PY_PATH, verbose)) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
console.log(`Running the "${constants_js_1.PUBLISH_PRE_COPY_PY_PATH}" script.`);
|
|
154
|
+
const { stdout } = (0, exec_js_1.execShell)("python", [constants_js_1.PUBLISH_PRE_COPY_PY_PATH], verbose);
|
|
155
|
+
if (stdout.length > 0) {
|
|
156
|
+
console.log(stdout);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function runReleaseScriptPostCopy(verbose) {
|
|
160
|
+
if (!file.exists(constants_js_1.PUBLISH_POST_COPY_PY_PATH, verbose)) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
console.log(`Running the "${constants_js_1.PUBLISH_POST_COPY_PY_PATH}" script.`);
|
|
164
|
+
const { stdout } = (0, exec_js_1.execShell)("python", [constants_js_1.PUBLISH_POST_COPY_PY_PATH], verbose);
|
|
165
|
+
if (stdout.length > 0) {
|
|
166
|
+
console.log(stdout);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function purgeRoomXMLs(modTargetPath, verbose) {
|
|
170
|
+
const roomsPath = node_path_1.default.join(modTargetPath, "resources", "rooms");
|
|
171
|
+
if (!file.exists(roomsPath, verbose) || !file.isDir(roomsPath, verbose)) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
const roomFileList = file.getDirList(roomsPath, verbose);
|
|
175
|
+
const xmlFiles = roomFileList.filter((fileName) => node_path_1.default.extname(fileName) === ".xml");
|
|
176
|
+
for (const xmlFile of xmlFiles) {
|
|
177
|
+
const roomFilePath = node_path_1.default.join(roomsPath, xmlFile);
|
|
178
|
+
file.deleteFileOrDirectory(roomFilePath, verbose);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function uploadMod(modTargetPath, verbose) {
|
|
182
|
+
if (hasIsaacSteamWorkshopUploadGitHubAction(verbose)) {
|
|
183
|
+
// CI will automatically upload the new version to the Steam Workshop, so there is no need to
|
|
184
|
+
// open the mod uploader program.
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
console.log(`The "isaac-steam-workshop-upload" action was not found in the "${chalk_1.default.green("ci.yml")}" file; assuming that we want to use the ModUploader tool.`);
|
|
188
|
+
(0, exec_js_1.execExe)(constants_js_1.MOD_UPLOADER_PATH, [], verbose, modTargetPath);
|
|
189
|
+
}
|
|
190
|
+
function hasIsaacSteamWorkshopUploadGitHubAction(verbose) {
|
|
191
|
+
const ciYMLPath = node_path_1.default.join(constants_js_1.CWD, ".github", "workflows", "ci.yml");
|
|
192
|
+
if (!file.exists(ciYMLPath, verbose)) {
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
const ciYML = file.read(ciYMLPath, verbose);
|
|
196
|
+
const lines = ciYML.split("\n");
|
|
197
|
+
return lines.some((line) => line.match(/^\s*uses: IsaacScript\/isaac-steam-workshop-upload/) !== null);
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=isaacscriptMod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isaacscriptMod.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/isaacscriptMod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,199 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.publish = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const exec_js_1 = require("../../exec.js");
|
|
10
|
-
const file = tslib_1.__importStar(require("../../file.js"));
|
|
11
|
-
const git_js_1 = require("../../git.js");
|
|
12
|
-
const json_js_1 = require("../../json.js");
|
|
13
|
-
const packageManager_js_1 = require("../../packageManager.js");
|
|
14
|
-
const utils_js_1 = require("../../utils.js");
|
|
15
|
-
const copy_js_1 = require("../copy/copy.js");
|
|
16
|
-
const LINT_SCRIPT_NAME = "lint.sh";
|
|
17
|
-
const UPDATE_SCRIPT_NAME = "update.sh";
|
|
18
|
-
async function publish(args, config, _typeScript) {
|
|
19
|
-
const skipIncrement = args.skipIncrement === true;
|
|
20
|
-
const { setVersion } = args;
|
|
21
|
-
const dryRun = args.dryRun === true;
|
|
22
|
-
const verbose = args.verbose === true;
|
|
23
|
-
const packageManager = (0, packageManager_js_1.getPackageManagerUsedForExistingProject)(args, verbose);
|
|
24
|
-
const modTargetDirectoryName = (0, utils_js_1.getModTargetDirectoryName)(config);
|
|
25
|
-
const modTargetPath = node_path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
26
|
-
validateVersion(setVersion);
|
|
27
|
-
validateGitNotDirty(packageManager, verbose);
|
|
28
|
-
validateIsaacScriptOtherCopiesNotRunning(verbose);
|
|
29
|
-
await startPublish(constants_js_1.MOD_SOURCE_PATH, modTargetPath, skipIncrement, setVersion, dryRun, packageManager, verbose);
|
|
30
|
-
}
|
|
31
|
-
exports.publish = publish;
|
|
32
|
-
function validateVersion(setVersion) {
|
|
33
|
-
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
34
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`The version of "${setVersion}" does not match the semantic versioning format.`));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function validateGitNotDirty(packageManager, verbose) {
|
|
38
|
-
if ((0, git_js_1.isGitDirty)(packageManager, verbose)) {
|
|
39
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red("Before publishing, you must push your current changes to git. (Version commits should be not contain any code changes.)"));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function validateIsaacScriptOtherCopiesNotRunning(verbose) {
|
|
43
|
-
if (process.platform !== "win32") {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
// From: https://securityboulevard.com/2020/01/get-process-list-with-command-line-arguments/
|
|
47
|
-
const stdout = (0, exec_js_1.execPowershell)("Get-WmiObject Win32_Process -Filter \"name = 'node.exe'\" | Select-Object -ExpandProperty CommandLine", verbose);
|
|
48
|
-
const lines = stdout.split("\r\n");
|
|
49
|
-
const otherCopiesOfRunningIsaacScript = lines.filter((line) => line.includes("node.exe") &&
|
|
50
|
-
line.includes("isaacscript") &&
|
|
51
|
-
!line.includes("isaacscript publish"));
|
|
52
|
-
if (otherCopiesOfRunningIsaacScript.length > 0) {
|
|
53
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`Other copies of ${constants_js_1.PROJECT_NAME} appear to be running. You must close those copies before publishing.`));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
async function startPublish(modSourcePath, modTargetPath, skipIncrement, setVersion, dryRun, packageManager, verbose) {
|
|
57
|
-
runBashScript(UPDATE_SCRIPT_NAME, verbose);
|
|
58
|
-
// Since we updated the dependencies, things may not longer compile or lint, so test those things
|
|
59
|
-
// before we update the version.
|
|
60
|
-
await (0, copy_js_1.compileAndCopy)(modSourcePath, modTargetPath, packageManager, verbose);
|
|
61
|
-
runBashScript(LINT_SCRIPT_NAME, verbose);
|
|
62
|
-
let version = setVersion === undefined ? getVersionFromPackageJSON(verbose) : setVersion;
|
|
63
|
-
if (!skipIncrement && setVersion === undefined) {
|
|
64
|
-
version = bumpVersionInPackageJSON(version, verbose);
|
|
65
|
-
}
|
|
66
|
-
else if (setVersion !== undefined) {
|
|
67
|
-
writeVersionInPackageJSON(version, verbose);
|
|
68
|
-
}
|
|
69
|
-
writeVersionToConstantsTS(version, verbose);
|
|
70
|
-
writeVersionToMetadataXML(version, verbose);
|
|
71
|
-
writeVersionToVersionTXT(version, verbose);
|
|
72
|
-
unsetDevelopmentConstant(verbose);
|
|
73
|
-
runReleaseScriptPreCopy(verbose);
|
|
74
|
-
await (0, copy_js_1.compileAndCopy)(modSourcePath, modTargetPath, packageManager, verbose);
|
|
75
|
-
purgeRoomXMLs(modTargetPath, verbose);
|
|
76
|
-
runReleaseScriptPostCopy(verbose);
|
|
77
|
-
if (!dryRun) {
|
|
78
|
-
(0, git_js_1.gitCommitIfChanges)(version, packageManager, verbose);
|
|
79
|
-
uploadMod(modTargetPath, verbose);
|
|
80
|
-
}
|
|
81
|
-
const dryRunSuffix = dryRun ? " (dry run)" : "";
|
|
82
|
-
console.log(`\nPublished version ${version} successfully${dryRunSuffix}.`);
|
|
83
|
-
}
|
|
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
|
-
function getVersionFromPackageJSON(verbose) {
|
|
91
|
-
if (!file.exists(constants_js_1.PACKAGE_JSON_PATH, verbose)) {
|
|
92
|
-
(0, isaacscript_common_ts_1.error)(chalk_1.default.red(`A "${constants_js_1.PACKAGE_JSON_PATH}" was not found in the current directory.`));
|
|
93
|
-
}
|
|
94
|
-
const packageJSON = (0, json_js_1.getJSONC)(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
95
|
-
const { version } = packageJSON;
|
|
96
|
-
if (typeof version !== "string") {
|
|
97
|
-
(0, isaacscript_common_ts_1.error)(`The "${chalk_1.default.green(constants_js_1.PACKAGE_JSON_PATH)}" file has an invalid "version" field.`);
|
|
98
|
-
}
|
|
99
|
-
return version;
|
|
100
|
-
}
|
|
101
|
-
function bumpVersionInPackageJSON(version, verbose) {
|
|
102
|
-
const semanticVersion = (0, isaacscript_common_ts_1.parseSemanticVersion)(version);
|
|
103
|
-
if (semanticVersion === undefined) {
|
|
104
|
-
(0, isaacscript_common_ts_1.error)(`Failed to parse the version in the "package.json" file: ${version}`);
|
|
105
|
-
}
|
|
106
|
-
const { majorVersion, minorVersion, patchVersion } = semanticVersion;
|
|
107
|
-
const incrementedPatchVersion = patchVersion + 1;
|
|
108
|
-
const incrementedVersion = `${majorVersion}.${minorVersion}.${incrementedPatchVersion}`;
|
|
109
|
-
const packageJSON = file.read(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
110
|
-
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${incrementedVersion}",`);
|
|
111
|
-
file.write(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
112
|
-
console.log(`The version of ${incrementedVersion} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
113
|
-
return incrementedVersion;
|
|
114
|
-
}
|
|
115
|
-
function writeVersionInPackageJSON(version, verbose) {
|
|
116
|
-
const packageJSON = file.read(constants_js_1.PACKAGE_JSON_PATH, verbose);
|
|
117
|
-
const newPackageJSON = packageJSON.replace(/"version": ".+",/, `"version": "${version}",`);
|
|
118
|
-
file.write(constants_js_1.PACKAGE_JSON_PATH, newPackageJSON, verbose);
|
|
119
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.PACKAGE_JSON_PATH}`);
|
|
120
|
-
}
|
|
121
|
-
function writeVersionToConstantsTS(version, verbose) {
|
|
122
|
-
if (!file.exists(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
123
|
-
console.log('Skipping writing the version to "constants.ts" since it was not found.');
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
const constantsTS = file.read(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
127
|
-
const newConstantsTS = constantsTS.replace(/const VERSION = ".+"/, `const VERSION = "${version}"`);
|
|
128
|
-
file.write(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
129
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.CONSTANTS_TS_PATH}`);
|
|
130
|
-
}
|
|
131
|
-
function writeVersionToMetadataXML(version, verbose) {
|
|
132
|
-
const metadataXML = file.read(constants_js_1.METADATA_XML_PATH, verbose);
|
|
133
|
-
const newMetadataXML = metadataXML.replace(/<version>.+<\/version>/, `<version>${version}</version>`);
|
|
134
|
-
file.write(constants_js_1.METADATA_XML_PATH, newMetadataXML, verbose);
|
|
135
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.METADATA_XML_PATH}`);
|
|
136
|
-
}
|
|
137
|
-
function writeVersionToVersionTXT(version, verbose) {
|
|
138
|
-
file.write(constants_js_1.VERSION_TXT_PATH, version, verbose);
|
|
139
|
-
console.log(`The version of ${version} was written to: ${constants_js_1.VERSION_TXT_PATH}`);
|
|
140
|
-
}
|
|
141
|
-
function unsetDevelopmentConstant(verbose) {
|
|
142
|
-
if (!file.exists(constants_js_1.CONSTANTS_TS_PATH, verbose)) {
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
const constantsTS = file.read(constants_js_1.CONSTANTS_TS_PATH, verbose);
|
|
146
|
-
const newConstantsTS = constantsTS.replace("const IS_DEV = true", "const IS_DEV = false");
|
|
147
|
-
file.write(constants_js_1.CONSTANTS_TS_PATH, newConstantsTS, verbose);
|
|
148
|
-
}
|
|
149
|
-
function runReleaseScriptPreCopy(verbose) {
|
|
150
|
-
if (!file.exists(constants_js_1.PUBLISH_PRE_COPY_PY_PATH, verbose)) {
|
|
151
|
-
return;
|
|
4
|
+
const isaacscriptMod_js_1 = require("./isaacscriptMod.js");
|
|
5
|
+
const typeScript_js_1 = require("./typeScript.js");
|
|
6
|
+
async function publish(args, config, typeScript) {
|
|
7
|
+
if (typeScript) {
|
|
8
|
+
(0, typeScript_js_1.publishTypeScriptProject)();
|
|
152
9
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (stdout.length > 0) {
|
|
156
|
-
console.log(stdout);
|
|
10
|
+
else {
|
|
11
|
+
await (0, isaacscriptMod_js_1.publishIsaacScriptMod)(args, config);
|
|
157
12
|
}
|
|
158
13
|
}
|
|
159
|
-
|
|
160
|
-
if (!file.exists(constants_js_1.PUBLISH_POST_COPY_PY_PATH, verbose)) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
console.log(`Running the "${constants_js_1.PUBLISH_POST_COPY_PY_PATH}" script.`);
|
|
164
|
-
const { stdout } = (0, exec_js_1.execShell)("python", [constants_js_1.PUBLISH_POST_COPY_PY_PATH], verbose);
|
|
165
|
-
if (stdout.length > 0) {
|
|
166
|
-
console.log(stdout);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
function purgeRoomXMLs(modTargetPath, verbose) {
|
|
170
|
-
const roomsPath = node_path_1.default.join(modTargetPath, "resources", "rooms");
|
|
171
|
-
if (!file.exists(roomsPath, verbose) || !file.isDir(roomsPath, verbose)) {
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
const roomFileList = file.getDirList(roomsPath, verbose);
|
|
175
|
-
const xmlFiles = roomFileList.filter((fileName) => node_path_1.default.extname(fileName) === ".xml");
|
|
176
|
-
for (const xmlFile of xmlFiles) {
|
|
177
|
-
const roomFilePath = node_path_1.default.join(roomsPath, xmlFile);
|
|
178
|
-
file.deleteFileOrDirectory(roomFilePath, verbose);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
function uploadMod(modTargetPath, verbose) {
|
|
182
|
-
if (hasIsaacSteamWorkshopUploadGitHubAction(verbose)) {
|
|
183
|
-
// CI will automatically upload the new version to the Steam Workshop, so there is no need to
|
|
184
|
-
// open the mod uploader program.
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
console.log(`The "isaac-steam-workshop-upload" action was not found in the "${chalk_1.default.green("ci.yml")}" file; assuming that we want to use the ModUploader tool.`);
|
|
188
|
-
(0, exec_js_1.execExe)(constants_js_1.MOD_UPLOADER_PATH, [], verbose, modTargetPath);
|
|
189
|
-
}
|
|
190
|
-
function hasIsaacSteamWorkshopUploadGitHubAction(verbose) {
|
|
191
|
-
const ciYMLPath = node_path_1.default.join(constants_js_1.CWD, ".github", "workflows", "ci.yml");
|
|
192
|
-
if (!file.exists(ciYMLPath, verbose)) {
|
|
193
|
-
return false;
|
|
194
|
-
}
|
|
195
|
-
const ciYML = file.read(ciYMLPath, verbose);
|
|
196
|
-
const lines = ciYML.split("\n");
|
|
197
|
-
return lines.some((line) => line.match(/^\s*uses: IsaacScript\/isaac-steam-workshop-upload/) !== null);
|
|
198
|
-
}
|
|
14
|
+
exports.publish = publish;
|
|
199
15
|
//# sourceMappingURL=publish.js.map
|
|
@@ -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":";;;AAEA,2DAA4D;AAC5D,mDAA2D;AAEpD,KAAK,UAAU,OAAO,CAC3B,IAAU,EACV,MAAc,EACd,UAAmB;IAEnB,IAAI,UAAU,EAAE;QACd,IAAA,wCAAwB,GAAE,CAAC;KAC5B;SAAM;QACL,MAAM,IAAA,yCAAqB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC3C;AACH,CAAC;AAVD,0BAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeScript.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/publish/typeScript.ts"],"names":[],"mappings":";;;AAAA,SAAgB,wBAAwB,KAAU,CAAC;AAAnD,4DAAmD"}
|