isaacscript 5.2.14 → 6.0.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 +2 -2
- package/dist/banner.js.map +1 -1
- package/dist/commands/check/check.js +32 -22
- package/dist/commands/check/check.js.map +1 -1
- package/dist/commands/copy/copy.js +4 -4
- package/dist/commands/copy/copy.js.map +1 -1
- package/dist/commands/init/checkIfProjectPathExists.js +15 -5
- package/dist/commands/init/checkIfProjectPathExists.js.map +1 -1
- package/dist/commands/init/checkModTargetDirectory.js +11 -5
- package/dist/commands/init/checkModTargetDirectory.js.map +1 -1
- package/dist/commands/init/createProject.js +38 -82
- package/dist/commands/init/createProject.js.map +1 -1
- package/dist/commands/init/getModsDirectory.js +4 -2
- package/dist/commands/init/getModsDirectory.js.map +1 -1
- package/dist/commands/init/init.js +1 -1
- package/dist/commands/init/init.js.map +1 -1
- package/dist/commands/init/vsCode.js +4 -1
- package/dist/commands/init/vsCode.js.map +1 -1
- package/dist/commands/monitor/copyWatcherMod.js +9 -9
- package/dist/commands/monitor/copyWatcherMod.js.map +1 -1
- package/dist/commands/monitor/monitor.js +18 -18
- package/dist/commands/monitor/monitor.js.map +1 -1
- package/dist/commands/monitor/saveDatWriter/saveDatWriter.js +13 -9
- package/dist/commands/monitor/saveDatWriter/saveDatWriter.js.map +1 -1
- package/dist/commands/monitor/spawnTSTLWatcher.js +39 -34
- package/dist/commands/monitor/spawnTSTLWatcher.js.map +1 -1
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js +7 -5
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -1
- package/dist/commands/publish/isaacscriptMod.js +23 -17
- package/dist/commands/publish/isaacscriptMod.js.map +1 -1
- package/dist/commands/publish/publish.js +20 -18
- package/dist/commands/publish/publish.js.map +1 -1
- package/dist/commands/publish/validate.js +2 -2
- package/dist/commands/publish/validate.js.map +1 -1
- package/dist/configFile.js +7 -4
- package/dist/configFile.js.map +1 -1
- package/dist/constants.js +2 -2
- package/dist/constants.js.map +1 -1
- package/dist/customStage.js +55 -36
- package/dist/customStage.js.map +1 -1
- package/dist/dev.js +3 -2
- package/dist/dev.js.map +1 -1
- package/dist/git.js +3 -2
- package/dist/git.js.map +1 -1
- package/dist/tsconfig.js +5 -2
- package/dist/tsconfig.js.map +1 -1
- package/dist/validateMod.js +14 -9
- package/dist/validateMod.js.map +1 -1
- package/file-templates/dynamic/Node.gitignore +3 -1
- package/file-templates/static/.vscode/settings.json +2 -2
- package/file-templates/static/eslint.config.mjs +2 -2
- package/file-templates/static/scripts/lint.ts +1 -1
- package/package.json +8 -11
package/dist/validateMod.js
CHANGED
|
@@ -18,42 +18,47 @@ const REQUIRED_PACKAGE_JSON_DEV_DEPENDENCIES = [
|
|
|
18
18
|
"typescript-to-lua",
|
|
19
19
|
];
|
|
20
20
|
/** Validate that we are in a directory that looks like an IsaacScript project. */
|
|
21
|
-
export function validateInIsaacScriptProject() {
|
|
22
|
-
const isaacScriptModMissingFile = getIsaacScriptModMissingFile(CWD);
|
|
21
|
+
export async function validateInIsaacScriptProject() {
|
|
22
|
+
const isaacScriptModMissingFile = await getIsaacScriptModMissingFile(CWD);
|
|
23
23
|
if (isaacScriptModMissingFile !== undefined) {
|
|
24
|
-
errorNotExists(isaacScriptModMissingFile);
|
|
24
|
+
await errorNotExists(isaacScriptModMissingFile);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Returns the file name missing. If undefined is returned, then the file path is an IsaacScript mod
|
|
29
29
|
* directory.
|
|
30
30
|
*/
|
|
31
|
-
export function getIsaacScriptModMissingFile(directoryPath) {
|
|
31
|
+
export async function getIsaacScriptModMissingFile(directoryPath) {
|
|
32
32
|
// Files
|
|
33
33
|
for (const fileName of ["package.json"]) {
|
|
34
34
|
const filePath = path.join(directoryPath, fileName);
|
|
35
|
-
|
|
35
|
+
// eslint-disable-next-line no-await-in-loop
|
|
36
|
+
const file = await isFile(filePath);
|
|
37
|
+
if (!file) {
|
|
36
38
|
return filePath;
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
// Subdirectories
|
|
40
42
|
for (const subdirectoryName of ["src", "mod"]) {
|
|
41
43
|
const subdirectoryPath = path.join(directoryPath, subdirectoryName);
|
|
42
|
-
|
|
44
|
+
// eslint-disable-next-line no-await-in-loop
|
|
45
|
+
const directory = await isDirectory(subdirectoryPath);
|
|
46
|
+
if (!directory) {
|
|
43
47
|
return subdirectoryPath;
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
// Specific files in subdirectories.
|
|
47
51
|
{
|
|
48
52
|
const filePath = path.join(directoryPath, "mod", METADATA_XML);
|
|
49
|
-
|
|
53
|
+
const file = await isFile(filePath);
|
|
54
|
+
if (!file) {
|
|
50
55
|
return filePath;
|
|
51
56
|
}
|
|
52
57
|
}
|
|
53
58
|
return undefined;
|
|
54
59
|
}
|
|
55
|
-
function errorNotExists(filePath) {
|
|
56
|
-
const directory = isDirectory(filePath);
|
|
60
|
+
async function errorNotExists(filePath) {
|
|
61
|
+
const directory = await isDirectory(filePath);
|
|
57
62
|
const noun = directory ? "subdirectory" : "file";
|
|
58
63
|
console.error(`It looks like the current working directory of "${chalk.green(CWD)}" is not an ${PROJECT_NAME} project. ("${filePath}" ${noun} does not exist.)`);
|
|
59
64
|
console.error(`Did you mean to create a new ${PROJECT_NAME} project with "${chalk.green("npx isaacscript init")}"?`);
|
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;
|
|
1
|
+
{"version":3,"file":"validateMod.js","sourceRoot":"","sources":["../src/validateMod.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,7 @@ out
|
|
|
81
81
|
# Nuxt.js build / generate output
|
|
82
82
|
.nuxt
|
|
83
83
|
dist
|
|
84
|
+
.output
|
|
84
85
|
|
|
85
86
|
# Gatsby files
|
|
86
87
|
.cache/
|
|
@@ -134,6 +135,7 @@ dist
|
|
|
134
135
|
!.yarn/sdks
|
|
135
136
|
!.yarn/versions
|
|
136
137
|
|
|
137
|
-
# Vite
|
|
138
|
+
# Vite files
|
|
138
139
|
vite.config.js.timestamp-*
|
|
139
140
|
vite.config.ts.timestamp-*
|
|
141
|
+
.vite/
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"typescript.suggest.completeFunctionCalls": true,
|
|
53
53
|
|
|
54
54
|
// By default, VSCode will prefer non-relative paths for deeply nested files.
|
|
55
|
-
"javascript.preferences.importModuleSpecifier": "relative",
|
|
56
|
-
"typescript.preferences.importModuleSpecifier": "relative",
|
|
55
|
+
"javascript.preferences.importModuleSpecifier": "project-relative",
|
|
56
|
+
"typescript.preferences.importModuleSpecifier": "project-relative",
|
|
57
57
|
|
|
58
58
|
// By default, VSCode will not add `import type` automatically.
|
|
59
59
|
"typescript.preferences.preferTypeOnlyAutoImports": true,
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
import { completeConfigBase } from "eslint-config-complete";
|
|
7
7
|
import { isaacScriptModConfigBase } from "eslint-config-isaacscript"; // eslint-disable-line import-x/no-extraneous-dependencies
|
|
8
|
-
import
|
|
8
|
+
import { defineConfig } from "eslint/config";
|
|
9
9
|
|
|
10
|
-
export default
|
|
10
|
+
export default defineConfig(
|
|
11
11
|
// https://github.com/complete-ts/complete/blob/main/packages/eslint-config-complete/src/base.js
|
|
12
12
|
...completeConfigBase,
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { $, commandExists, lintScript } from "complete-node"; // eslint-disable-line import-x/no-extraneous-dependencies
|
|
2
2
|
|
|
3
|
-
await lintScript(async () => {
|
|
3
|
+
await lintScript(import.meta.dirname, async () => {
|
|
4
4
|
const promises = [
|
|
5
5
|
// Use TypeScript to type-check the code.
|
|
6
6
|
$`tsc --noEmit`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -31,10 +31,7 @@
|
|
|
31
31
|
"file-templates",
|
|
32
32
|
"isaacscript-watcher",
|
|
33
33
|
"plugins",
|
|
34
|
-
"schemas"
|
|
35
|
-
"LICENSE",
|
|
36
|
-
"package.json",
|
|
37
|
-
"README.md"
|
|
34
|
+
"schemas"
|
|
38
35
|
],
|
|
39
36
|
"scripts": {
|
|
40
37
|
"build": "tsx ./scripts/build.ts",
|
|
@@ -46,11 +43,11 @@
|
|
|
46
43
|
"@commander-js/extra-typings": "14.0.0",
|
|
47
44
|
"@zamiell/sync-directory": "6.0.5",
|
|
48
45
|
"ajv": "8.17.1",
|
|
49
|
-
"chalk": "5.
|
|
50
|
-
"commander": "14.0.
|
|
46
|
+
"chalk": "5.6.2",
|
|
47
|
+
"commander": "14.0.1",
|
|
51
48
|
"complete-common": "2.5.0",
|
|
52
|
-
"complete-node": "
|
|
53
|
-
"figlet": "1.
|
|
49
|
+
"complete-node": "12.0.0",
|
|
50
|
+
"figlet": "1.9.2-beta.0",
|
|
54
51
|
"jsonc-parser": "3.3.1",
|
|
55
52
|
"klaw-sync": "7.0.0",
|
|
56
53
|
"moment": "2.30.1",
|
|
@@ -58,7 +55,7 @@
|
|
|
58
55
|
"source-map": "0.7.6",
|
|
59
56
|
"source-map-support": "0.5.21",
|
|
60
57
|
"xml2js": "0.6.2",
|
|
61
|
-
"yaml": "2.8.
|
|
58
|
+
"yaml": "2.8.1"
|
|
62
59
|
},
|
|
63
60
|
"devDependencies": {
|
|
64
61
|
"@types/figlet": "1.7.0",
|
|
@@ -67,7 +64,7 @@
|
|
|
67
64
|
"@types/source-map-support": "0.5.10",
|
|
68
65
|
"@types/xml2js": "0.4.14",
|
|
69
66
|
"ts-json-schema-generator": "2.4.0",
|
|
70
|
-
"typescript-eslint": "8.
|
|
67
|
+
"typescript-eslint": "8.43.0"
|
|
71
68
|
},
|
|
72
69
|
"peerDependencies": {
|
|
73
70
|
"typescript": ">= 5.0.0",
|