isaacscript 5.2.4 → 5.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/banner.js +3 -4
- package/dist/banner.js.map +1 -1
- package/dist/checkForWindowsTerminalBugs.js +3 -6
- package/dist/checkForWindowsTerminalBugs.js.map +1 -1
- package/dist/commands/check/check.js +7 -7
- package/dist/commands/check/check.js.map +1 -1
- package/dist/commands/copy/copy.js +1 -1
- package/dist/commands/copy/copy.js.map +1 -1
- package/dist/commands/init/createProject.js +49 -46
- package/dist/commands/init/createProject.js.map +1 -1
- package/dist/commands/init/getProjectPath.js +1 -1
- package/dist/commands/init/getProjectPath.js.map +1 -1
- package/dist/commands/init/init.js +12 -42
- package/dist/commands/init/init.js.map +1 -1
- package/dist/commands/init/vsCode.js +15 -8
- package/dist/commands/init/vsCode.js.map +1 -1
- package/dist/commands/monitor/monitor.js +3 -3
- package/dist/commands/monitor/monitor.js.map +1 -1
- package/dist/commands/monitor/spawnSaveDatWriter.js +1 -1
- package/dist/commands/monitor/spawnSaveDatWriter.js.map +1 -1
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js +1 -1
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
- package/dist/commands/publish/isaacscriptMod.js +2 -2
- package/dist/commands/publish/isaacscriptMod.js.map +1 -1
- package/dist/commands/publish/publish.js +16 -19
- package/dist/commands/publish/publish.js.map +1 -1
- package/dist/commands/publish/validate.js +12 -8
- package/dist/commands/publish/validate.js.map +1 -1
- package/dist/configFile.js +3 -3
- package/dist/configFile.js.map +1 -1
- package/dist/constants.js +7 -2
- package/dist/constants.js.map +1 -1
- package/dist/customStage.js +1 -1
- package/dist/customStage.js.map +1 -1
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/git.js +12 -10
- package/dist/git.js.map +1 -1
- package/dist/packageManager.js +15 -15
- package/dist/packageManager.js.map +1 -1
- package/dist/parseArgs.js +24 -18
- package/dist/parseArgs.js.map +1 -1
- package/dist/tsconfig.js +7 -7
- package/dist/tsconfig.js.map +1 -1
- package/dist/validateMod.js +8 -9
- package/dist/validateMod.js.map +1 -1
- package/dist/validateNodeVersion.js +1 -2
- package/dist/validateNodeVersion.js.map +1 -1
- package/file-templates/dynamic/Node.gitignore +25 -16
- package/file-templates/dynamic/package.mod.json +5 -5
- package/file-templates/dynamic/package.ts.json +4 -4
- package/file-templates/static-mod/scripts/lint.ts +4 -3
- package/file-templates/static-ts/scripts/build.ts +3 -3
- package/package.json +24 -24
- package/plugins/addCrashDebugStatements.cjs +17 -7
- package/plugins/noExtendedEnums.cjs +17 -7
- package/dist/commands/init/getAuthorName.js +0 -23
- package/dist/commands/init/getAuthorName.js.map +0 -1
- package/dist/test.js +0 -4
- package/dist/test.js.map +0 -1
package/dist/packageManager.js
CHANGED
|
@@ -2,23 +2,23 @@ import chalk from "chalk";
|
|
|
2
2
|
import { PackageManager, commandExists, fatalError, getPackageManagerLockFileName, getPackageManagersForProject, } from "complete-node";
|
|
3
3
|
import { CWD } from "./constants.js";
|
|
4
4
|
export const PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT = PackageManager.yarn;
|
|
5
|
-
export function getPackageManagerUsedForNewProject(options) {
|
|
6
|
-
const packageManagerFromOptions = getPackageManagerFromOptions(options);
|
|
5
|
+
export async function getPackageManagerUsedForNewProject(options) {
|
|
6
|
+
const packageManagerFromOptions = await getPackageManagerFromOptions(options);
|
|
7
7
|
if (packageManagerFromOptions !== undefined) {
|
|
8
8
|
return packageManagerFromOptions;
|
|
9
9
|
}
|
|
10
10
|
return getDefaultPackageManager();
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* Previously, this function determined the package manager based on certain commands existing
|
|
14
|
-
* this is undesirable because some projects might prefer `npm`, even if they are forced to
|
|
15
|
-
* other package managers for other projects.
|
|
13
|
+
* Previously, this function determined the package manager based on certain commands existing.
|
|
14
|
+
* However, this is undesirable because some projects might prefer `npm`, even if they are forced to
|
|
15
|
+
* use other package managers for other projects.
|
|
16
16
|
*/
|
|
17
17
|
function getDefaultPackageManager() {
|
|
18
18
|
return PackageManager.npm;
|
|
19
19
|
}
|
|
20
|
-
export function getPackageManagerUsedForExistingProject() {
|
|
21
|
-
const packageManagers = getPackageManagersForProject(CWD);
|
|
20
|
+
export async function getPackageManagerUsedForExistingProject() {
|
|
21
|
+
const packageManagers = await getPackageManagersForProject(CWD);
|
|
22
22
|
if (packageManagers.length > 1) {
|
|
23
23
|
const packageManagerLockFileNames = packageManagers
|
|
24
24
|
.map((packageManager) => getPackageManagerLockFileName(packageManager))
|
|
@@ -32,32 +32,32 @@ export function getPackageManagerUsedForExistingProject() {
|
|
|
32
32
|
}
|
|
33
33
|
return getDefaultPackageManager();
|
|
34
34
|
}
|
|
35
|
-
function getPackageManagerFromOptions(options) {
|
|
35
|
+
async function getPackageManagerFromOptions(options) {
|
|
36
36
|
if (options.dev === true) {
|
|
37
|
-
const packageManagerCommandExists = commandExists(PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT);
|
|
37
|
+
const packageManagerCommandExists = await commandExists(PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT);
|
|
38
38
|
if (!packageManagerCommandExists) {
|
|
39
39
|
fatalError(`You specified the "--dev" option, but "${chalk.green(PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT)}" does not seem to be a valid command. The IsaacScript monorepo uses ${PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT}, so in order to initiate a linked development mod, you must also have ${PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT} installed. Try running "corepack enable" to install it.`);
|
|
40
40
|
}
|
|
41
41
|
return PACKAGE_MANAGER_USED_FOR_ISAACSCRIPT;
|
|
42
42
|
}
|
|
43
43
|
if (options.npm) {
|
|
44
|
-
const npmExists = commandExists("npm");
|
|
44
|
+
const npmExists = await commandExists("npm");
|
|
45
45
|
if (!npmExists) {
|
|
46
|
-
fatalError(`You specified the "--npm"
|
|
46
|
+
fatalError(`You specified the "--npm" option, but "${chalk.green("npm")}" does not seem to be a valid command.`);
|
|
47
47
|
}
|
|
48
48
|
return PackageManager.npm;
|
|
49
49
|
}
|
|
50
50
|
if (options.yarn) {
|
|
51
|
-
const yarnExists = commandExists("yarn");
|
|
51
|
+
const yarnExists = await commandExists("yarn");
|
|
52
52
|
if (!yarnExists) {
|
|
53
|
-
fatalError(`You specified the "--yarn"
|
|
53
|
+
fatalError(`You specified the "--yarn" option, but "${chalk.green("yarn")}" does not seem to be a valid command.`);
|
|
54
54
|
}
|
|
55
55
|
return PackageManager.yarn;
|
|
56
56
|
}
|
|
57
57
|
if (options.pnpm) {
|
|
58
|
-
const pnpmExists = commandExists("pnpm");
|
|
58
|
+
const pnpmExists = await commandExists("pnpm");
|
|
59
59
|
if (!pnpmExists) {
|
|
60
|
-
fatalError(`You specified the "--pnpm"
|
|
60
|
+
fatalError(`You specified the "--pnpm" option, but "${chalk.green("pnpm")}" does not seem to be a valid command.`);
|
|
61
61
|
}
|
|
62
62
|
return PackageManager.pnpm;
|
|
63
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../src/packageManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,MAAM,CAAC,MAAM,oCAAoC,GAAG,cAAc,CAAC,IAAI,CAAC;AASxE,MAAM,UAAU,kCAAkC,
|
|
1
|
+
{"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../src/packageManager.ts"],"names":[],"mappings":"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"}
|
package/dist/parseArgs.js
CHANGED
|
@@ -9,30 +9,37 @@
|
|
|
9
9
|
// - https://github.com/yargs/yargs
|
|
10
10
|
// - Sucks in TypeScript.
|
|
11
11
|
// - "commander" allows for more module command building.
|
|
12
|
-
// -
|
|
13
|
-
// - https://github.com/
|
|
14
|
-
// -
|
|
15
|
-
// - arg [X
|
|
12
|
+
// - cac (2.7K stars)
|
|
13
|
+
// - https://github.com/cacjs/cac
|
|
14
|
+
// - Last release in 2022.
|
|
15
|
+
// - arg [X] (1.2K stars)
|
|
16
16
|
// - https://github.com/vercel/arg
|
|
17
17
|
// - Does not support commands (i.e. positional arguments).
|
|
18
|
+
// - clipanion (1.1K stars)
|
|
19
|
+
// - https://github.com/arcanis/clipanion
|
|
20
|
+
// - Written in TypeScript.
|
|
21
|
+
// - Used by Yarn.
|
|
22
|
+
// - Class-based.
|
|
23
|
+
// - mri [X] (638 stars)
|
|
24
|
+
// - https://github.com/lukeed/mri
|
|
25
|
+
// - Written in JavaScript, no types.
|
|
18
26
|
// - cmd-ts (193 stars)
|
|
19
27
|
// - https://github.com/Schniz/cmd-ts
|
|
20
|
-
// -
|
|
28
|
+
// - Written in TypeScript.
|
|
29
|
+
// - Last release in 2023.
|
|
21
30
|
import { Command } from "@commander-js/extra-typings";
|
|
22
|
-
import {
|
|
31
|
+
import { nukeDependencies, updatePackageJSONDependencies } from "complete-node";
|
|
23
32
|
import { checkCommand, checkTSCommand } from "./commands/check/check.js";
|
|
24
33
|
import { copyCommand } from "./commands/copy/copy.js";
|
|
25
|
-
import { initCommand
|
|
34
|
+
import { initCommand } from "./commands/init/init.js";
|
|
26
35
|
import { monitorCommand } from "./commands/monitor/monitor.js";
|
|
27
36
|
import { publishCommand } from "./commands/publish/publish.js";
|
|
28
|
-
import { CWD } from "./constants.js";
|
|
29
|
-
const packageRoot = findPackageRoot();
|
|
30
|
-
const { name, version, description } = getPackageJSONFieldsMandatory(packageRoot, "name", "version", "description");
|
|
37
|
+
import { CWD, PROJECT_DESCRIPTION, PROJECT_VERSION } from "./constants.js";
|
|
31
38
|
export async function parseArgs() {
|
|
32
39
|
const program = new Command()
|
|
33
|
-
.name(
|
|
34
|
-
.description(`${
|
|
35
|
-
.version(
|
|
40
|
+
.name("isaacscript")
|
|
41
|
+
.description(`${PROJECT_DESCRIPTION}.`)
|
|
42
|
+
.version(PROJECT_VERSION, "-V, --version", "Output the version number.")
|
|
36
43
|
.helpOption("-h, --help", "Display the list of commands and options.")
|
|
37
44
|
.helpCommand(false)
|
|
38
45
|
.allowExcessArguments(false) // By default, Commander.js will allow extra positional arguments.
|
|
@@ -41,7 +48,6 @@ export async function parseArgs() {
|
|
|
41
48
|
.addCommand(checkTSCommand)
|
|
42
49
|
.addCommand(copyCommand)
|
|
43
50
|
.addCommand(initCommand)
|
|
44
|
-
.addCommand(initTSCommand)
|
|
45
51
|
.addCommand(nukeCommand)
|
|
46
52
|
.addCommand(publishCommand)
|
|
47
53
|
.addCommand(updateCommand)
|
|
@@ -60,8 +66,8 @@ const nukeCommand = new Command()
|
|
|
60
66
|
.allowExcessArguments(false) // By default, Commander.js will allow extra positional arguments.
|
|
61
67
|
.helpOption("-h, --help", "Display the list of options for this command.")
|
|
62
68
|
.option("-v, --verbose", "Enable verbose output.", false)
|
|
63
|
-
.action(() => {
|
|
64
|
-
nukeDependencies(CWD);
|
|
69
|
+
.action(async () => {
|
|
70
|
+
await nukeDependencies(CWD);
|
|
65
71
|
console.log("Successfully reinstalled dependencies from npm.");
|
|
66
72
|
});
|
|
67
73
|
const updateCommand = new Command()
|
|
@@ -69,8 +75,8 @@ const updateCommand = new Command()
|
|
|
69
75
|
.description("Update the npm dependencies in the current project.")
|
|
70
76
|
.allowExcessArguments(false) // By default, Commander.js will allow extra positional arguments.
|
|
71
77
|
.helpOption("-h, --help", "Display the list of options for this command.")
|
|
72
|
-
.action(() => {
|
|
73
|
-
const hasNewDependencies = updatePackageJSONDependencies(CWD);
|
|
78
|
+
.action(async () => {
|
|
79
|
+
const hasNewDependencies = await updatePackageJSONDependencies(CWD);
|
|
74
80
|
const msg = hasNewDependencies
|
|
75
81
|
? "Successfully installed new Node.js dependencies."
|
|
76
82
|
: "There were no new dependency updates from npm.";
|
package/dist/parseArgs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../src/parseArgs.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,uBAAuB;AACvB,2DAA2D;AAC3D,gDAAgD;AAChD,4BAA4B;AAC5B,yCAAyC;AACzC,sEAAsE;AACtE,4BAA4B;AAC5B,qCAAqC;AACrC,2BAA2B;AAC3B,2DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"parseArgs.js","sourceRoot":"","sources":["../src/parseArgs.ts"],"names":[],"mappings":"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"}
|
package/dist/tsconfig.js
CHANGED
|
@@ -4,14 +4,14 @@ import { isObject } from "complete-common";
|
|
|
4
4
|
import { fatalError, getJSONC } from "complete-node";
|
|
5
5
|
import { ISAACSCRIPT_SCHEMA_PATH, PROJECT_NAME, TSCONFIG_JSON, TSCONFIG_JSON_PATH, } from "./constants.js";
|
|
6
6
|
const ADVICE = `Try copying the "${TSCONFIG_JSON}" from a brand new ${PROJECT_NAME} project.`;
|
|
7
|
-
const isaacScriptSchema = getJSONC(ISAACSCRIPT_SCHEMA_PATH);
|
|
7
|
+
const isaacScriptSchema = await getJSONC(ISAACSCRIPT_SCHEMA_PATH);
|
|
8
8
|
const ajv = new Ajv();
|
|
9
9
|
const schemaValidate = ajv.compile(isaacScriptSchema);
|
|
10
|
-
function getTSConfigJSON() {
|
|
11
|
-
return getJSONC(TSCONFIG_JSON_PATH);
|
|
10
|
+
async function getTSConfigJSON() {
|
|
11
|
+
return await getJSONC(TSCONFIG_JSON_PATH);
|
|
12
12
|
}
|
|
13
|
-
function getIsaacScriptSection() {
|
|
14
|
-
const tsConfig = getTSConfigJSON();
|
|
13
|
+
async function getIsaacScriptSection() {
|
|
14
|
+
const tsConfig = await getTSConfigJSON();
|
|
15
15
|
// We allow different kinds of casing for the field name.
|
|
16
16
|
for (const fieldName of ["isaacscript", "isaacScript", "IsaacScript"]) {
|
|
17
17
|
const field = tsConfig[fieldName];
|
|
@@ -30,8 +30,8 @@ function getIsaacScriptSection() {
|
|
|
30
30
|
*
|
|
31
31
|
* Most of this function is simply performing input validation.
|
|
32
32
|
*/
|
|
33
|
-
export function getCustomStagesFromTSConfig() {
|
|
34
|
-
const isaacScriptSection = getIsaacScriptSection();
|
|
33
|
+
export async function getCustomStagesFromTSConfig() {
|
|
34
|
+
const isaacScriptSection = await getIsaacScriptSection();
|
|
35
35
|
if (isaacScriptSection === undefined) {
|
|
36
36
|
return [];
|
|
37
37
|
}
|
package/dist/tsconfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../src/tsconfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,MAAM,GAAG,oBAAoB,aAAa,sBAAsB,YAAY,WAAW,CAAC;AAE9F,MAAM,iBAAiB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../src/tsconfig.ts"],"names":[],"mappings":"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"}
|
package/dist/validateMod.js
CHANGED
|
@@ -60,30 +60,29 @@ function errorNotExists(filePath) {
|
|
|
60
60
|
console.error(`If not, then change the current working directory to an ${PROJECT_NAME} project.`);
|
|
61
61
|
process.exit(1);
|
|
62
62
|
}
|
|
63
|
-
export function validatePackageJSONDependencies() {
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
const
|
|
63
|
+
export async function validatePackageJSONDependencies() {
|
|
64
|
+
const packageManager = await getPackageManagerUsedForExistingProject();
|
|
65
|
+
const packageJSONPath = await getFilePath("package.json", CWD);
|
|
66
|
+
const packageJSON = await getPackageJSON(packageJSONPath);
|
|
67
|
+
const dependencies = (await getPackageJSONDependencies(packageJSON, "dependencies")) ?? {};
|
|
67
68
|
const dependenciesArray = Object.keys(dependencies);
|
|
68
|
-
const devDependencies = getPackageJSONDependencies(packageJSON, "devDependencies") ?? {};
|
|
69
|
+
const devDependencies = (await getPackageJSONDependencies(packageJSON, "devDependencies")) ?? {};
|
|
69
70
|
const devDependenciesArray = Object.keys(devDependencies);
|
|
70
71
|
for (const devDependency of REQUIRED_PACKAGE_JSON_DEV_DEPENDENCIES) {
|
|
71
72
|
if (dependenciesArray.includes(devDependency)) {
|
|
72
|
-
const packageManager = getPackageManagerUsedForExistingProject();
|
|
73
73
|
const addDevCommand = getPackageManagerAddDevCommand(packageManager, devDependency);
|
|
74
74
|
fatalError(`The "${devDependency}" dependency is located in the "dependencies" object instead of the "devDependencies" object in the "${packageJSONPath}" file. You can fix this with the following command:\n${chalk.green(addDevCommand)}`);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
for (const devDependency of REQUIRED_PACKAGE_JSON_DEV_DEPENDENCIES) {
|
|
78
78
|
if (!devDependenciesArray.includes(devDependency)) {
|
|
79
|
-
const packageManager = getPackageManagerUsedForExistingProject();
|
|
80
79
|
const addDevCommand = getPackageManagerAddDevCommand(packageManager, devDependency);
|
|
81
80
|
fatalError(`IsaacScript projects require a "devDependencies" entry of "${devDependency}" in the "${packageJSONPath}" file. You can add it with the following command:\n${chalk.green(addDevCommand)}`);
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
|
-
export function validateDepsInstalled(verbose) {
|
|
86
|
-
const packageManager = getPackageManagerUsedForExistingProject();
|
|
84
|
+
export async function validateDepsInstalled(verbose) {
|
|
85
|
+
const packageManager = await getPackageManagerUsedForExistingProject();
|
|
87
86
|
const command = getPackageManagerInstallCommand(packageManager);
|
|
88
87
|
console.log(`Running "${command}" to ensure that the project's dependencies are installed correctly.`);
|
|
89
88
|
execShellString(command, verbose);
|
package/dist/validateMod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateMod.js","sourceRoot":"","sources":["../src/validateMod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,WAAW,EACX,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAE9E;;;;GAIG;AACH,MAAM,sCAAsC,GAAG;IAC7C,aAAa;IACb,wCAAwC;IACxC,yCAAyC;IACzC,4CAA4C;IAC5C,YAAY;IACZ,mBAAmB;CACX,CAAC;AAEX,kFAAkF;AAClF,MAAM,UAAU,4BAA4B;IAC1C,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACpE,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;QAC5C,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,aAAqB;IAErB,QAAQ;IACR,KAAK,MAAM,QAAQ,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,KAAK,MAAM,gBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,CAAC;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,KAAK,CACX,mDAAmD,KAAK,CAAC,KAAK,CAC5D,GAAG,CACJ,eAAe,YAAY,eAAe,QAAQ,KAAK,IAAI,mBAAmB,CAChF,CAAC;IACF,OAAO,CAAC,KAAK,CACX,gCAAgC,YAAY,kBAAkB,KAAK,CAAC,KAAK,CACvE,sBAAsB,CACvB,IAAI,CACN,CAAC;IACF,OAAO,CAAC,KAAK,CACX,2DAA2D,YAAY,WAAW,CACnF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,+BAA+B;
|
|
1
|
+
{"version":3,"file":"validateMod.js","sourceRoot":"","sources":["../src/validateMod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { parseSemanticVersion } from "complete-common";
|
|
3
|
-
import { fatalError } from "complete-node";
|
|
4
3
|
import { PROJECT_NAME } from "./constants.js";
|
|
5
4
|
// 20.11 is the minimum version that supports `import.meta.dirname`.
|
|
6
5
|
const REQUIRED_NODE_JS_MAJOR_VERSION = 20;
|
|
@@ -9,7 +8,7 @@ export function validateNodeVersion() {
|
|
|
9
8
|
const { version } = process;
|
|
10
9
|
const semanticVersion = parseSemanticVersion(version);
|
|
11
10
|
if (semanticVersion === undefined) {
|
|
12
|
-
|
|
11
|
+
throw new Error(`Failed to parse the Node version: ${version}`);
|
|
13
12
|
}
|
|
14
13
|
const { majorVersion, minorVersion } = semanticVersion;
|
|
15
14
|
if (majorVersion > REQUIRED_NODE_JS_MAJOR_VERSION) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateNodeVersion.js","sourceRoot":"","sources":["../src/validateNodeVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"validateNodeVersion.js","sourceRoot":"","sources":["../src/validateNodeVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,oEAAoE;AACpE,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAC1C,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C,MAAM,UAAU,mBAAmB;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;IACvD,IAAI,YAAY,GAAG,8BAA8B,EAAE,CAAC;QAClD,OAAO;IACT,CAAC;IAED,IACE,YAAY,KAAK,8BAA8B;QAC/C,YAAY,IAAI,8BAA8B,EAC9C,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,CACX,GAAG,YAAY,kCAAkC,KAAK,CAAC,GAAG,CACxD,GAAG,8BAA8B,IAAI,8BAA8B,IAAI,CACxE,cAAc,CAChB,CAAC;IACF,OAAO,CAAC,KAAK,CACX,uDAAuD,YAAY,GAAG,CACvE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -5,7 +5,6 @@ npm-debug.log*
|
|
|
5
5
|
yarn-debug.log*
|
|
6
6
|
yarn-error.log*
|
|
7
7
|
lerna-debug.log*
|
|
8
|
-
.pnpm-debug.log*
|
|
9
8
|
|
|
10
9
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
11
10
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
@@ -57,12 +56,6 @@ web_modules/
|
|
|
57
56
|
# Optional stylelint cache
|
|
58
57
|
.stylelintcache
|
|
59
58
|
|
|
60
|
-
# Microbundle cache
|
|
61
|
-
.rpt2_cache/
|
|
62
|
-
.rts2_cache_cjs/
|
|
63
|
-
.rts2_cache_es/
|
|
64
|
-
.rts2_cache_umd/
|
|
65
|
-
|
|
66
59
|
# Optional REPL history
|
|
67
60
|
.node_repl_history
|
|
68
61
|
|
|
@@ -74,10 +67,8 @@ web_modules/
|
|
|
74
67
|
|
|
75
68
|
# dotenv environment variable files
|
|
76
69
|
.env
|
|
77
|
-
.env
|
|
78
|
-
|
|
79
|
-
.env.production.local
|
|
80
|
-
.env.local
|
|
70
|
+
.env.*
|
|
71
|
+
!.env.example
|
|
81
72
|
|
|
82
73
|
# parcel-bundler cache (https://parceljs.org/)
|
|
83
74
|
.cache
|
|
@@ -104,6 +95,15 @@ dist
|
|
|
104
95
|
.temp
|
|
105
96
|
.cache
|
|
106
97
|
|
|
98
|
+
# Sveltekit cache directory
|
|
99
|
+
.svelte-kit/
|
|
100
|
+
|
|
101
|
+
# vitepress build output
|
|
102
|
+
**/.vitepress/dist
|
|
103
|
+
|
|
104
|
+
# vitepress cache directory
|
|
105
|
+
**/.vitepress/cache
|
|
106
|
+
|
|
107
107
|
# Docusaurus cache and generated files
|
|
108
108
|
.docusaurus
|
|
109
109
|
|
|
@@ -116,15 +116,24 @@ dist
|
|
|
116
116
|
# DynamoDB Local files
|
|
117
117
|
.dynamodb/
|
|
118
118
|
|
|
119
|
+
# Firebase cache directory
|
|
120
|
+
.firebase/
|
|
121
|
+
|
|
119
122
|
# TernJS port file
|
|
120
123
|
.tern-port
|
|
121
124
|
|
|
122
125
|
# Stores VSCode versions used for testing VSCode extensions
|
|
123
126
|
.vscode-test
|
|
124
127
|
|
|
125
|
-
# yarn
|
|
126
|
-
.yarn/cache
|
|
127
|
-
.yarn/unplugged
|
|
128
|
-
.yarn/build-state.yml
|
|
129
|
-
.yarn/install-state.gz
|
|
128
|
+
# yarn v3
|
|
130
129
|
.pnp.*
|
|
130
|
+
.yarn/*
|
|
131
|
+
!.yarn/patches
|
|
132
|
+
!.yarn/plugins
|
|
133
|
+
!.yarn/releases
|
|
134
|
+
!.yarn/sdks
|
|
135
|
+
!.yarn/versions
|
|
136
|
+
|
|
137
|
+
# Vite logs files
|
|
138
|
+
vite.config.js.timestamp-*
|
|
139
|
+
vite.config.ts.timestamp-*
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
"update": "isaacscript update"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"isaac-typescript-definitions": "
|
|
18
|
-
"isaacscript-common": "
|
|
17
|
+
"isaac-typescript-definitions": "0.0.1",
|
|
18
|
+
"isaacscript-common": "0.0.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"isaacscript": "
|
|
22
|
-
"isaacscript-lint": "
|
|
21
|
+
"isaacscript": "0.0.1",
|
|
22
|
+
"isaacscript-lint": "0.0.1",
|
|
23
23
|
"typescript": "0.0.1",
|
|
24
|
-
"typescript-to-lua": "
|
|
24
|
+
"typescript-to-lua": "0.0.1"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"update": "isaacscript update"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"isaacscript": "
|
|
28
|
-
"complete-lint": "
|
|
29
|
-
"complete-node": "
|
|
30
|
-
"typescript": "
|
|
27
|
+
"isaacscript": "0.0.1",
|
|
28
|
+
"complete-lint": "0.0.1",
|
|
29
|
+
"complete-node": "0.0.1",
|
|
30
|
+
"typescript": "0.0.1"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $,
|
|
1
|
+
import { $, commandExists, lintScript } from "complete-node"; // eslint-disable-line import-x/no-extraneous-dependencies
|
|
2
2
|
|
|
3
3
|
await lintScript(async () => {
|
|
4
4
|
const promises = [
|
|
@@ -25,8 +25,9 @@ await lintScript(async () => {
|
|
|
25
25
|
$`cspell-check-unused-words`,
|
|
26
26
|
];
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const pythonExists = await commandExists("python");
|
|
29
|
+
if (pythonExists) {
|
|
30
|
+
await $`pip install isaac-xml-validator --upgrade --quiet`;
|
|
30
31
|
promises.push($`isaac-xml-validator --quiet`);
|
|
31
32
|
}
|
|
32
33
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.6",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -43,31 +43,31 @@
|
|
|
43
43
|
"test": "glob \"./src/**/*.test.ts\" --cmd=\"node --import tsx --test --test-reporter spec\""
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@commander-js/extra-typings": "
|
|
47
|
-
"@zamiell/sync-directory": "
|
|
48
|
-
"ajv": "
|
|
49
|
-
"chalk": "
|
|
50
|
-
"commander": "
|
|
51
|
-
"complete-common": "
|
|
52
|
-
"complete-node": "
|
|
53
|
-
"figlet": "
|
|
54
|
-
"jsonc-parser": "
|
|
55
|
-
"klaw-sync": "
|
|
56
|
-
"moment": "
|
|
57
|
-
"prompt": "
|
|
58
|
-
"source-map": "
|
|
59
|
-
"source-map-support": "
|
|
60
|
-
"xml2js": "
|
|
61
|
-
"yaml": "
|
|
46
|
+
"@commander-js/extra-typings": "14.0.0",
|
|
47
|
+
"@zamiell/sync-directory": "6.0.5",
|
|
48
|
+
"ajv": "8.17.1",
|
|
49
|
+
"chalk": "5.4.1",
|
|
50
|
+
"commander": "14.0.0",
|
|
51
|
+
"complete-common": "2.4.0",
|
|
52
|
+
"complete-node": "7.4.1",
|
|
53
|
+
"figlet": "1.8.2",
|
|
54
|
+
"jsonc-parser": "3.3.1",
|
|
55
|
+
"klaw-sync": "7.0.0",
|
|
56
|
+
"moment": "2.30.1",
|
|
57
|
+
"prompt": "1.3.0",
|
|
58
|
+
"source-map": "0.7.4",
|
|
59
|
+
"source-map-support": "0.5.21",
|
|
60
|
+
"xml2js": "0.6.2",
|
|
61
|
+
"yaml": "2.8.0"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@types/figlet": "
|
|
65
|
-
"@types/klaw-sync": "
|
|
66
|
-
"@types/prompt": "
|
|
67
|
-
"@types/source-map-support": "
|
|
68
|
-
"@types/xml2js": "
|
|
69
|
-
"ts-json-schema-generator": "
|
|
70
|
-
"typescript-eslint": "
|
|
64
|
+
"@types/figlet": "1.7.0",
|
|
65
|
+
"@types/klaw-sync": "6.0.5",
|
|
66
|
+
"@types/prompt": "1.1.9",
|
|
67
|
+
"@types/source-map-support": "0.5.10",
|
|
68
|
+
"@types/xml2js": "0.4.14",
|
|
69
|
+
"ts-json-schema-generator": "2.4.0",
|
|
70
|
+
"typescript-eslint": "8.37.0"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
73
|
"typescript": ">= 5.0.0",
|
|
@@ -26,13 +26,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
26
26
|
}) : function(o, v) {
|
|
27
27
|
o["default"] = v;
|
|
28
28
|
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
36
46
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
47
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
48
|
};
|
|
@@ -56,13 +56,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
56
56
|
}) : function(o, v) {
|
|
57
57
|
o["default"] = v;
|
|
58
58
|
});
|
|
59
|
-
var __importStar = (this && this.__importStar) || function (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
};
|
|
59
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
60
|
+
var ownKeys = function(o) {
|
|
61
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
62
|
+
var ar = [];
|
|
63
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
64
|
+
return ar;
|
|
65
|
+
};
|
|
66
|
+
return ownKeys(o);
|
|
67
|
+
};
|
|
68
|
+
return function (mod) {
|
|
69
|
+
if (mod && mod.__esModule) return mod;
|
|
70
|
+
var result = {};
|
|
71
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
72
|
+
__setModuleDefault(result, mod);
|
|
73
|
+
return result;
|
|
74
|
+
};
|
|
75
|
+
})();
|
|
66
76
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
67
77
|
const ts = __importStar(require("typescript"));
|
|
68
78
|
const tstl = __importStar(require("typescript-to-lua"));
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { fatalError } from "complete-node";
|
|
2
|
-
import { getGitHubUsername } from "../../git.js";
|
|
3
|
-
import { getInputString } from "../../prompt.js";
|
|
4
|
-
export async function getAuthorName(typeScript) {
|
|
5
|
-
const gitHubUsername = getGitHubUsername();
|
|
6
|
-
if (gitHubUsername !== undefined) {
|
|
7
|
-
return gitHubUsername;
|
|
8
|
-
}
|
|
9
|
-
if (!typeScript) {
|
|
10
|
-
// In IsaacScript mods, putting the author in the "package.json" file is not necessary.
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
13
|
-
return getNewAuthorName();
|
|
14
|
-
}
|
|
15
|
-
async function getNewAuthorName() {
|
|
16
|
-
console.log("The author name was not found from the GitHub CLI configuration file.");
|
|
17
|
-
const authorName = await getInputString("Enter the author of the project:");
|
|
18
|
-
if (authorName === "") {
|
|
19
|
-
fatalError("You must enter an author name.");
|
|
20
|
-
}
|
|
21
|
-
return authorName;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=getAuthorName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAuthorName.js","sourceRoot":"","sources":["../../../src/commands/init/getAuthorName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAmB;IAEnB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,uFAAuF;QACvF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,OAAO,CAAC,GAAG,CACT,uEAAuE,CACxE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,kCAAkC,CAAC,CAAC;IAC5E,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,UAAU,CAAC,gCAAgC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/test.js
DELETED
package/dist/test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,GAAG,EAAE,MAAM;CACZ,CAAC"}
|