isaacscript 2.15.0 → 2.16.1
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/file-templates/dynamic/README.md +19 -0
- package/file-templates/dynamic/package.json +0 -2
- package/file-templates/static/.prettierignore +3 -6
- package/file-templates/static/.vscode/extensions.json +1 -1
- package/file-templates/static/.vscode/settings.json +3 -10
- package/file-templates/static/check-orphaned-words.sh +5 -1
- package/file-templates/static/cspell.json.template +5 -1
- package/file-templates/static/gitattributes +7 -3
- package/file-templates/static/tsconfig.json +3 -3
- package/file-templates/static-alt/check-file-updates.sh +3 -1
- package/package.json +3 -2
- package/src/commands/monitor/monitor.js +0 -2
- package/src/commands/monitor/monitor.js.map +1 -1
- package/src/plugins/addCrashDebugStatements.js +33 -0
- package/src/plugins/addCrashDebugStatements.js.map +1 -0
- package/{file-templates/static/plugins/addIsaacScriptCommentHeader.ts → src/plugins/addIsaacScriptCommentHeader.js} +11 -18
- package/src/plugins/addIsaacScriptCommentHeader.js.map +1 -0
- package/src/plugins/noExtendedEnums.js +73 -0
- package/src/plugins/noExtendedEnums.js.map +1 -0
- package/file-templates/static/plugins/addCrashDebugStatements.ts +0 -40
- package/file-templates/static/plugins/noExtendedEnums.ts +0 -69
- package/isaacscript-watcher/.luacheckrc +0 -96
|
@@ -1,3 +1,22 @@
|
|
|
1
1
|
# MOD-NAME-TO-REPLACE
|
|
2
2
|
|
|
3
3
|
MOD-NAME-TO-REPLACE is a mod for _[The Binding of Isaac: Repentance](https://store.steampowered.com/app/1426300/The_Binding_of_Isaac_Repentance/)_, written in [TypeScript](https://www.typescriptlang.org/) using the [IsaacScript](https://isaacscript.github.io/) framework.
|
|
4
|
+
|
|
5
|
+
## How To Play
|
|
6
|
+
|
|
7
|
+
For normal people, you can play the mod by subscribing to it on [the Steam Workshop](https://steamcommunity.com/app/250900/workshop/). (Subscribing to the mod will automatically download and install it once you launch the game.)
|
|
8
|
+
|
|
9
|
+
### How To Compile
|
|
10
|
+
|
|
11
|
+
If you are a developer, or the mod is not yet uploaded to the Steam Workshop, you can play the mod by compiling the TypeScript code into a "main.lua" file. Perform the following steps:
|
|
12
|
+
|
|
13
|
+
- Download and install [Node.js](https://nodejs.org/en/download/) (Windows Installer .msi, 64-bit).
|
|
14
|
+
- Download and install [Git](https://git-scm.com/download/win) (64-bit Git for Windows setup).
|
|
15
|
+
- Download (or clone) this repository:
|
|
16
|
+
- Click on the "Code" button in the top-right-corner of this page.
|
|
17
|
+
- Click on "Download ZIP".
|
|
18
|
+
- Unzip the zip file to a new directory.
|
|
19
|
+
- Open up the repository folder and double-click on the `run.sh` script. If prompted, choose to open it with Git for Windows. You will see a Git Bash terminal window open.
|
|
20
|
+
- The script might ask you some questions, like which save file that you use for testing.
|
|
21
|
+
- If the script is successful, you will see "Compilation successful". (You can continue to leave the terminal window open; it will monitor for changes in your project, and recompile if necessary.)
|
|
22
|
+
- Completely close Isaac if it is already open, and then open the game again, and the mod should be in the list of mods. You can now play or test the mod.
|
|
@@ -12,13 +12,11 @@
|
|
|
12
12
|
"license": "GPL-3.0",
|
|
13
13
|
"type": "commonjs",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@types/node": "^0.0.1",
|
|
16
15
|
"isaac-typescript-definitions": "^0.0.1",
|
|
17
16
|
"isaacscript": "^0.0.1",
|
|
18
17
|
"isaacscript-common": "^0.0.1",
|
|
19
18
|
"isaacscript-lint": "^0.0.1",
|
|
20
19
|
"isaacscript-spell": "^0.0.1",
|
|
21
|
-
"ts-node": "^0.0.1",
|
|
22
20
|
"typescript": "^0.0.1",
|
|
23
21
|
"typescript-to-lua": "^0.0.1"
|
|
24
22
|
}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Compiled output
|
|
2
2
|
dist
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
cspell.json
|
|
6
|
-
|
|
7
|
-
# Ignore all of the XML files created by Basement Renovator.
|
|
4
|
+
# XML files created by Basement Renovator
|
|
8
5
|
mod/content/rooms/**/*.xml
|
|
9
6
|
mod/content/luarooms/**/*.xml
|
|
10
7
|
mod/resources/rooms/**/*.xml
|
|
11
8
|
mod/resources/luarooms/**/*.xml
|
|
12
9
|
|
|
13
|
-
#
|
|
10
|
+
# XML files created by the animation editor
|
|
14
11
|
mod/resources/**/*.anm2
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"recommendations": [
|
|
5
5
|
"esbenp.prettier-vscode", // The TypeScript formatter
|
|
6
6
|
"dbaeumer.vscode-eslint", // The TypeScript linter
|
|
7
|
-
"streetsidesoftware.code-spell-checker", // A spell-checker extension based on
|
|
7
|
+
"streetsidesoftware.code-spell-checker", // A spell-checker extension based on CSpell
|
|
8
8
|
"typescript-to-lua.vscode-typescript-to-lua", // The TypeScriptToLua extension
|
|
9
9
|
"redhat.vscode-xml", // The XML language server
|
|
10
10
|
],
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"files.associations": {
|
|
12
12
|
"*.anm2": "xml", // anm2 files are just XML files.
|
|
13
13
|
"*.dat": "json", // Nearly all mods save JSON to the "save#.dat" file.
|
|
14
|
+
".env*": "shellscript", // e.g. ".env.example" is the same as ".env".
|
|
14
15
|
},
|
|
15
16
|
|
|
16
17
|
// We want to always use "lf" to be consistent with all platforms.
|
|
@@ -20,19 +21,11 @@
|
|
|
20
21
|
"files.trimTrailingWhitespace": true,
|
|
21
22
|
|
|
22
23
|
// Configure glob patterns for excluding files and folders in full text searches and quick open.
|
|
23
|
-
// (File extensions must be specified or the glob won't work properly.)
|
|
24
24
|
"search.exclude": {
|
|
25
25
|
"**/*.png": true,
|
|
26
26
|
"**/*.wav": true,
|
|
27
|
-
"dist
|
|
28
|
-
"
|
|
29
|
-
"dist/**/*.map": true,
|
|
30
|
-
"dist/**/*.json": true,
|
|
31
|
-
"dist/**/*.lua": true,
|
|
32
|
-
"node_modules/**/*.ts": true,
|
|
33
|
-
"node_modules/**/*.js": true,
|
|
34
|
-
"node_modules/**/*.json": true,
|
|
35
|
-
"node_modules/**/*.lua": true,
|
|
27
|
+
"**/dist/": true,
|
|
28
|
+
"**/node_modules/": true,
|
|
36
29
|
},
|
|
37
30
|
|
|
38
31
|
// -----------------
|
|
@@ -41,7 +41,11 @@ ONE_OR_MORE_FAILURES=0
|
|
|
41
41
|
set +e
|
|
42
42
|
for LINE in $CSPELL_CONFIG_WORDS; do
|
|
43
43
|
LINE_TRIMMED=$(echo "$LINE" | xargs)
|
|
44
|
-
|
|
44
|
+
grep --line-regexp "$LINE_TRIMMED" "$MISSPELLED_WORDS_PATH" --ignore-case --quiet
|
|
45
|
+
MATCH1=$?
|
|
46
|
+
grep --line-regexp "$LINE_TRIMMED's" "$MISSPELLED_WORDS_PATH" --ignore-case --quiet
|
|
47
|
+
MATCH2=$?
|
|
48
|
+
if [ $MATCH1 != 0 ] && [ $MATCH2 != 0 ]; then
|
|
45
49
|
echo "The following word in the CSpell config is not being used: $LINE_TRIMMED"
|
|
46
50
|
ONE_OR_MORE_FAILURES=1
|
|
47
51
|
fi
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"files": [
|
|
8
8
|
"**"
|
|
9
9
|
],
|
|
10
|
+
"enableFiletypes": [
|
|
11
|
+
"*"
|
|
12
|
+
],
|
|
13
|
+
"enableGlobDot": true,
|
|
10
14
|
"ignorePaths": [
|
|
11
15
|
"*.anm2",
|
|
12
16
|
"*.pyc",
|
|
@@ -14,8 +18,8 @@
|
|
|
14
18
|
".git/**",
|
|
15
19
|
"dist/**",
|
|
16
20
|
"node_modules/**",
|
|
17
|
-
"mod/**/*.anm2",
|
|
18
21
|
"mod/main.lua",
|
|
22
|
+
"mod/content/rooms/**",
|
|
19
23
|
"mod/resources/rooms/**"
|
|
20
24
|
],
|
|
21
25
|
"words": []
|
|
@@ -8,10 +8,14 @@ pull.rebase=true
|
|
|
8
8
|
# Convert all files to use "\n" line endings.
|
|
9
9
|
* text=auto eol=lf
|
|
10
10
|
|
|
11
|
-
# Specify the file type for
|
|
11
|
+
# Specify the file type for some binary files to prevent Git from changing the line endings upon
|
|
12
|
+
# cloning the repository.
|
|
13
|
+
*.png binary
|
|
14
|
+
*.wav binary
|
|
15
|
+
|
|
16
|
+
# Specify the file type for some files that GitHub will not automatically characterize properly.
|
|
17
|
+
# https://github.com/github/linguist/blob/master/lib/linguist/languages.yml
|
|
12
18
|
.vscode/extensions.json linguist-language=JSON-with-Comments
|
|
13
19
|
.vscode/settings.json linguist-language=JSON-with-Comments
|
|
14
|
-
api-extractor.json linguist-language=JSON-with-Comments
|
|
15
20
|
tsconfig.*.json linguist-language=JSON-with-Comments
|
|
16
21
|
tsconfig.json linguist-language=JSON-with-Comments
|
|
17
|
-
typedoc.json linguist-language=JSON-with-Comments
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"luaBundleEntry": "./src/main.ts",
|
|
24
24
|
"luaPlugins": [
|
|
25
25
|
// A plugin to add an explanatory comment at the top of the compiled "main.lua" file.
|
|
26
|
-
{ "name": "
|
|
26
|
+
{ "name": "isaacscript/src/plugins/addIsaacScriptCommentHeader.js" },
|
|
27
27
|
|
|
28
28
|
// A plugin to make enums safe from global variables.
|
|
29
|
-
{ "name": "
|
|
29
|
+
{ "name": "isaacscript/src/plugins/noExtendedEnums.js" },
|
|
30
30
|
|
|
31
31
|
// Uncomment this and recompile the mod to enable crash debugging, which will tell you the
|
|
32
32
|
// exact line of the mod that is causing the crash.
|
|
33
|
-
// { "name": "
|
|
33
|
+
// { "name": "isaacscript/src/plugins//addCrashDebugStatements.js" },
|
|
34
34
|
],
|
|
35
35
|
"noHeader": true,
|
|
36
36
|
"noImplicitGlobalVariables": true,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
+
REMOTE_FILE_TEMPLATES_URL="https://raw.githubusercontent.com/IsaacScript/isaacscript/main/packages/isaacscript-cli/file-templates"
|
|
4
|
+
|
|
3
5
|
set -e # Exit on any errors
|
|
4
6
|
|
|
5
7
|
# Get the directory of this script:
|
|
@@ -29,7 +31,7 @@ for FILE_SPECIFICATION in $(cat "$TEMPLATE_FILES_PATH"); do
|
|
|
29
31
|
|
|
30
32
|
echo "Checking for an updated version of: $LOCAL_FILE"
|
|
31
33
|
TMP_FILE_PATH="/tmp/base-file"
|
|
32
|
-
URL="
|
|
34
|
+
URL="$REMOTE_FILE_TEMPLATES_URL/$STATIC_DIRECTORY/$REMOTE_FILE"
|
|
33
35
|
curl "$URL" --output "$TMP_FILE_PATH" --silent --show-error
|
|
34
36
|
if grep "^404: Not Found" "$TMP_FILE_PATH" --silent; then
|
|
35
37
|
echo
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.1",
|
|
4
4
|
"description": "A command line tool for managing Isaac mods written in TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaac",
|
|
@@ -39,10 +39,11 @@
|
|
|
39
39
|
"moment": "^2.29.4",
|
|
40
40
|
"npm-check-updates": "^16.0.5",
|
|
41
41
|
"prompt": "^1.3.0",
|
|
42
|
+
"source-map": "^0.7.4",
|
|
42
43
|
"source-map-support": "^0.5.21",
|
|
43
44
|
"sync-directory": "^5.1.7",
|
|
44
45
|
"tslib": "^2.4.0",
|
|
45
|
-
"typescript-to-lua": "^1.
|
|
46
|
+
"typescript-to-lua": "^1.9.0",
|
|
46
47
|
"update-notifier": "5.1.0",
|
|
47
48
|
"xml2js": "^0.4.23",
|
|
48
49
|
"yaml": "^2.1.1",
|
|
@@ -18,13 +18,11 @@ const notifyGame = tslib_1.__importStar(require("./notifyGame"));
|
|
|
18
18
|
const spawnSaveDatWriter_1 = require("./spawnSaveDatWriter");
|
|
19
19
|
const touchWatcherSaveDatFiles_1 = require("./touchWatcherSaveDatFiles");
|
|
20
20
|
const REQUIRED_PACKAGE_JSON_DEPENDENCIES = [
|
|
21
|
-
"@types/node",
|
|
22
21
|
"isaac-typescript-definitions",
|
|
23
22
|
"isaacscript",
|
|
24
23
|
// - "isaacscript-common" is not required.
|
|
25
24
|
// - "isaacscript-lint" is not required.
|
|
26
25
|
// - "isaacscript-spell" is not required.
|
|
27
|
-
"ts-node",
|
|
28
26
|
"typescript",
|
|
29
27
|
"typescript-to-lua",
|
|
30
28
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,iDAA4C;AAC5C,wDAAwB;AAExB,+CAOyB;AACzB,mDAAwD;AACxD,yDAAmC;AACnC,qCAAsC;AACtC,yDAG8B;AAE9B,6CAA6D;AAC7D,uCAAyE;AACzE,2CAAqD;AACrD,qDAAkD;AAClD,iEAA2C;AAC3C,6DAA0D;AAC1D,yEAAsE;AAEtE,MAAM,kCAAkC,GAAG;IACzC,
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../../../packages/isaacscript-cli/src/commands/monitor/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* When you write code that causes the game to crash, it can be difficult to find the exact line of
|
|
4
|
+
* code that is causing the crash.
|
|
5
|
+
*
|
|
6
|
+
* In these situations, you can enable this plugin, which will add a log statement in between every
|
|
7
|
+
* line of Lua code with a randomly-generated UUID. That way, you can cause the crash, and then look
|
|
8
|
+
* at the bottom of the "log.txt" for the final UUID that shows up.
|
|
9
|
+
*
|
|
10
|
+
* Next, you can Ctrl + f in the "main.lua" file for the matching UUID, which will bring you to the
|
|
11
|
+
* exact point in the code where the crash happened.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
const tslib_1 = require("tslib");
|
|
15
|
+
const crypto = tslib_1.__importStar(require("crypto"));
|
|
16
|
+
const tstl = tslib_1.__importStar(require("typescript-to-lua"));
|
|
17
|
+
class CustomPrinter extends tstl.LuaPrinter {
|
|
18
|
+
printStatement(statement) {
|
|
19
|
+
const uuid = crypto.randomUUID();
|
|
20
|
+
const debugLineToInsert = `Isaac.DebugString("CRASH DEBUG ${uuid}")\n`;
|
|
21
|
+
const originalResult = super.printStatement(statement);
|
|
22
|
+
return this.createSourceNode(statement, [
|
|
23
|
+
debugLineToInsert,
|
|
24
|
+
originalResult,
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const plugin = {
|
|
29
|
+
printer: (program, emitHost, fileName, file) => new CustomPrinter(emitHost, program, fileName).print(file),
|
|
30
|
+
};
|
|
31
|
+
// ts-prune-ignore-next
|
|
32
|
+
exports.default = plugin;
|
|
33
|
+
//# sourceMappingURL=addCrashDebugStatements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addCrashDebugStatements.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/plugins/addCrashDebugStatements.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,uDAAiC;AAGjC,gEAA0C;AAE1C,MAAM,aAAc,SAAQ,IAAI,CAAC,UAAU;IAChC,cAAc,CAAC,SAAyB;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,iBAAiB,GAAG,kCAAkC,IAAI,MAAM,CAAC;QACvE,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;YACtC,iBAAiB;YACjB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,MAAM,GAAgB;IAC1B,OAAO,EAAE,CACP,OAAmB,EACnB,QAAuB,EACvB,QAAgB,EAChB,IAAe,EACf,EAAE,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;CAChE,CAAC;AAEF,uBAAuB;AACvB,kBAAe,MAAM,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/** This plugin adds an explanatory header to the top of the generated Lua code. */
|
|
2
|
-
|
|
3
|
-
import * as ts from "typescript";
|
|
4
|
-
import * as tstl from "typescript-to-lua";
|
|
5
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
4
|
const INFORMATIONAL_HEADER = `--[[
|
|
7
5
|
|
|
8
6
|
This Isaac mod was created with the IsaacScript tool.
|
|
@@ -20,18 +18,13 @@ see the official website: https://isaacscript.github.io/
|
|
|
20
18
|
--]]
|
|
21
19
|
|
|
22
20
|
`;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
result: tstl.EmitFile[],
|
|
30
|
-
) {
|
|
31
|
-
for (const file of result) {
|
|
32
|
-
file.code = `${INFORMATIONAL_HEADER}${file.code}`;
|
|
33
|
-
}
|
|
34
|
-
},
|
|
21
|
+
const plugin = {
|
|
22
|
+
beforeEmit(_program, _options, _emitHost, result) {
|
|
23
|
+
for (const file of result) {
|
|
24
|
+
file.code = `${INFORMATIONAL_HEADER}${file.code}`;
|
|
25
|
+
}
|
|
26
|
+
},
|
|
35
27
|
};
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
// ts-prune-ignore-next
|
|
29
|
+
exports.default = plugin;
|
|
30
|
+
//# sourceMappingURL=addIsaacScriptCommentHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addIsaacScriptCommentHeader.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/plugins/addIsaacScriptCommentHeader.ts"],"names":[],"mappings":";AAAA,mFAAmF;;AAKnF,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;CAgB5B,CAAC;AAEF,MAAM,MAAM,GAAgB;IAC1B,UAAU,CACR,QAAoB,EACpB,QAA8B,EAC9B,SAAwB,EACxB,MAAuB;QAEvB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,IAAI,GAAG,GAAG,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;SACnD;IACH,CAAC;CACF,CAAC;AAEF,uBAAuB;AACvB,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* This plugin prevents transpiled enums from using global variables as a base (if present).
|
|
4
|
+
*
|
|
5
|
+
* For example, by default, the following enum:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* export enum Foo {
|
|
9
|
+
* Value1,
|
|
10
|
+
* Value2,
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* Will be transpiled to this:
|
|
15
|
+
*
|
|
16
|
+
* ```lua
|
|
17
|
+
* local ____exports = {}
|
|
18
|
+
* ____exports.Foo = Foo or ({})
|
|
19
|
+
* ____exports.Foo.Value1 = 0
|
|
20
|
+
* ____exports.Foo[____exports.Foo.Value1] = "Value1"
|
|
21
|
+
* ____exports.Foo.Value2 = 1
|
|
22
|
+
* ____exports.Foo[____exports.Foo.Value2] = "Value2"
|
|
23
|
+
* return ____exports
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* As we can see, the first line uses the existing global variable of "Foo" as a base, if present.
|
|
27
|
+
* The reason it does this is because TSTL needs to support the TypeScript feature of combining
|
|
28
|
+
* enums, like this:
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* enum Foo {
|
|
32
|
+
* Value1,
|
|
33
|
+
* }
|
|
34
|
+
* enum Foo {
|
|
35
|
+
* Value2,
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Unfortunately, this design decision means that local enums will essentially turn into global
|
|
40
|
+
* variables. This plugin removes this behavior, always making enums local variables.
|
|
41
|
+
*/
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
const tslib_1 = require("tslib");
|
|
44
|
+
const ts = tslib_1.__importStar(require("typescript"));
|
|
45
|
+
const tstl = tslib_1.__importStar(require("typescript-to-lua"));
|
|
46
|
+
const plugin = {
|
|
47
|
+
visitors: {
|
|
48
|
+
[ts.SyntaxKind.EnumDeclaration]: (node, context) => {
|
|
49
|
+
// Call the normal TSTL enum transpilation method.
|
|
50
|
+
const statements = context.superTransformStatements(node);
|
|
51
|
+
// Get the first element, which will be equal to something like:
|
|
52
|
+
//
|
|
53
|
+
// ```lua
|
|
54
|
+
// local ____exports.Foo = Foo or ({})
|
|
55
|
+
// ```
|
|
56
|
+
const oldDeclaration = statements[0];
|
|
57
|
+
if (oldDeclaration !== undefined &&
|
|
58
|
+
tstl.isAssignmentStatement(oldDeclaration)) {
|
|
59
|
+
// Replace the right side of the assignment with a blank Lua table, e.g.
|
|
60
|
+
//
|
|
61
|
+
// ```lua
|
|
62
|
+
// local ____exports.Foo = {}
|
|
63
|
+
// ```
|
|
64
|
+
const blankTable = tstl.createTableExpression();
|
|
65
|
+
oldDeclaration.right = [blankTable];
|
|
66
|
+
}
|
|
67
|
+
return statements;
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
// ts-prune-ignore-next
|
|
72
|
+
exports.default = plugin;
|
|
73
|
+
//# sourceMappingURL=noExtendedEnums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noExtendedEnums.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/plugins/noExtendedEnums.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAEH,uDAAiC;AACjC,gEAA0C;AAE1C,MAAM,MAAM,GAAgB;IAC1B,QAAQ,EAAE;QACR,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACjD,kDAAkD;YAClD,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE1D,gEAAgE;YAChE,EAAE;YACF,SAAS;YACT,sCAAsC;YACtC,MAAM;YACN,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IACE,cAAc,KAAK,SAAS;gBAC5B,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAC1C;gBACA,wEAAwE;gBACxE,EAAE;gBACF,SAAS;gBACT,6BAA6B;gBAC7B,MAAM;gBACN,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAChD,cAAc,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;aACrC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;CACF,CAAC;AAEF,uBAAuB;AACvB,kBAAe,MAAM,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* When you write code that causes the game to crash, it can be difficult to find the exact line of
|
|
3
|
-
* code that is causing the crash.
|
|
4
|
-
*
|
|
5
|
-
* In these situations, you can enable this plugin, which will add a log statement in between every
|
|
6
|
-
* line of Lua code with a randomly-generated UUID. That way, you can cause the crash, and then look
|
|
7
|
-
* at the bottom of the "log.txt" for the final UUID that shows up.
|
|
8
|
-
*
|
|
9
|
-
* Next, you can Ctrl + f in the "main.lua" file for the matching UUID, which will bring you to the
|
|
10
|
-
* exact point in the code where the crash happened.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import * as crypto from "crypto";
|
|
14
|
-
import { SourceNode } from "source-map";
|
|
15
|
-
import * as ts from "typescript";
|
|
16
|
-
import * as tstl from "typescript-to-lua";
|
|
17
|
-
|
|
18
|
-
class CustomPrinter extends tstl.LuaPrinter {
|
|
19
|
-
printStatement(statement: tstl.Statement): SourceNode {
|
|
20
|
-
const uuid = crypto.randomUUID();
|
|
21
|
-
const debugLineToInsert = `Isaac.DebugString("CRASH DEBUG ${uuid}")\n`;
|
|
22
|
-
const originalResult = super.printStatement(statement);
|
|
23
|
-
return this.createSourceNode(statement, [
|
|
24
|
-
debugLineToInsert,
|
|
25
|
-
originalResult,
|
|
26
|
-
]);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const plugin: tstl.Plugin = {
|
|
31
|
-
printer: (
|
|
32
|
-
program: ts.Program,
|
|
33
|
-
emitHost: tstl.EmitHost,
|
|
34
|
-
fileName: string,
|
|
35
|
-
file: tstl.File,
|
|
36
|
-
) => new CustomPrinter(emitHost, program, fileName).print(file),
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
// ts-prune-ignore-next
|
|
40
|
-
export default plugin;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This plugin prevents transpiled enums from using global variables as a base (if present).
|
|
3
|
-
*
|
|
4
|
-
* For example, by default, the following enum:
|
|
5
|
-
*
|
|
6
|
-
* ```ts
|
|
7
|
-
* export enum Foo {
|
|
8
|
-
* Value1,
|
|
9
|
-
* Value2,
|
|
10
|
-
* }
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* Will be transpiled to this:
|
|
14
|
-
*
|
|
15
|
-
* ```lua
|
|
16
|
-
* local ____exports = {}
|
|
17
|
-
* ____exports.Foo = Foo or ({})
|
|
18
|
-
* ____exports.Foo.Value1 = 0
|
|
19
|
-
* ____exports.Foo[____exports.Foo.Value1] = "Value1"
|
|
20
|
-
* ____exports.Foo.Value2 = 1
|
|
21
|
-
* ____exports.Foo[____exports.Foo.Value2] = "Value2"
|
|
22
|
-
* return ____exports
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* As we can see, the first line uses the existing global variable of "Foo" as a base, if present.
|
|
26
|
-
* The reason it does this is because TSTL needs to support the TypeScript feature of combining
|
|
27
|
-
* enums, like this:
|
|
28
|
-
*
|
|
29
|
-
* ```ts
|
|
30
|
-
* enum Foo {
|
|
31
|
-
* Value1,
|
|
32
|
-
* }
|
|
33
|
-
* enum Foo {
|
|
34
|
-
* Value2,
|
|
35
|
-
* }
|
|
36
|
-
* ```
|
|
37
|
-
*
|
|
38
|
-
* Unfortunately, this design decision means that local enums will essentially turn into global
|
|
39
|
-
* variables. This plugin removes this behavior, always making enums local variables.
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
import * as ts from "typescript";
|
|
43
|
-
import * as tstl from "typescript-to-lua";
|
|
44
|
-
|
|
45
|
-
const plugin: tstl.Plugin = {
|
|
46
|
-
visitors: {
|
|
47
|
-
[ts.SyntaxKind.EnumDeclaration]: (node, context) => {
|
|
48
|
-
// Call the normal TSTL enum transpilation method
|
|
49
|
-
const statements = context.superTransformStatements(node);
|
|
50
|
-
|
|
51
|
-
// Get the first element, which will be equal to something like:
|
|
52
|
-
// local ____exports.Foo = Foo or ({})
|
|
53
|
-
const oldDeclaration = statements[0];
|
|
54
|
-
if (
|
|
55
|
-
oldDeclaration !== undefined &&
|
|
56
|
-
tstl.isAssignmentStatement(oldDeclaration)
|
|
57
|
-
) {
|
|
58
|
-
// Replace the right side of the assignment with a blank Lua table, e.g.
|
|
59
|
-
// local ____exports.Foo = {}
|
|
60
|
-
const blankTable = tstl.createTableExpression();
|
|
61
|
-
oldDeclaration.right = [blankTable];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return statements;
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
export default plugin;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
-- These are all of the declarations in the "enums.lua" file in the "scripts" subdirectory, sorted
|
|
2
|
-
-- alphabetically.
|
|
3
|
-
globals = {
|
|
4
|
-
"ActionTriggers",
|
|
5
|
-
"BabySubType",
|
|
6
|
-
"BombSubType",
|
|
7
|
-
"BombVariant",
|
|
8
|
-
"ButtonAction",
|
|
9
|
-
"CacheFlag",
|
|
10
|
-
"Card",
|
|
11
|
-
"Challenge",
|
|
12
|
-
"ChestSubType",
|
|
13
|
-
"CoinSubType",
|
|
14
|
-
"CollectibleType",
|
|
15
|
-
"Color",
|
|
16
|
-
"DamageFlag",
|
|
17
|
-
"Difficulty",
|
|
18
|
-
"Direction",
|
|
19
|
-
"DoorSlot",
|
|
20
|
-
"DoorState",
|
|
21
|
-
"DoorVariant",
|
|
22
|
-
"EffectVariant",
|
|
23
|
-
"EntityCollisionClass",
|
|
24
|
-
"EntityFlag",
|
|
25
|
-
"EntityGridCollisionClass",
|
|
26
|
-
"EntityPartition",
|
|
27
|
-
"EntityPtr",
|
|
28
|
-
"EntityRef",
|
|
29
|
-
"EntityType",
|
|
30
|
-
"FamiliarVariant",
|
|
31
|
-
"Font",
|
|
32
|
-
"Game",
|
|
33
|
-
"GameStateFlag",
|
|
34
|
-
"GetPtrHash",
|
|
35
|
-
"GridCollisionClass",
|
|
36
|
-
"GridEntityType",
|
|
37
|
-
"GridRooms",
|
|
38
|
-
"HeartSubType",
|
|
39
|
-
"Input",
|
|
40
|
-
"InputHook",
|
|
41
|
-
"Isaac",
|
|
42
|
-
"ItemConfig",
|
|
43
|
-
"ItemPoolType",
|
|
44
|
-
"ItemType",
|
|
45
|
-
"KColor",
|
|
46
|
-
"Keyboard",
|
|
47
|
-
"KeySubType",
|
|
48
|
-
"LaserOffset",
|
|
49
|
-
"LevelCurse",
|
|
50
|
-
"LevelStage",
|
|
51
|
-
"LevelStateFlag",
|
|
52
|
-
"LocustSubtypes",
|
|
53
|
-
"ModCallbacks",
|
|
54
|
-
"Mouse",
|
|
55
|
-
"Music",
|
|
56
|
-
"MusicManager",
|
|
57
|
-
"NpcState",
|
|
58
|
-
"NullItemID",
|
|
59
|
-
"PickupPrice",
|
|
60
|
-
"PickupVariant",
|
|
61
|
-
"PillColor",
|
|
62
|
-
"PillEffect",
|
|
63
|
-
"PlayerForm",
|
|
64
|
-
"PlayerItemState",
|
|
65
|
-
"PlayerSpriteLayer",
|
|
66
|
-
"PlayerType",
|
|
67
|
-
"ProjectileFlags",
|
|
68
|
-
"ProjectileParams",
|
|
69
|
-
"ProjectileVariant",
|
|
70
|
-
"Random",
|
|
71
|
-
"RandomVector",
|
|
72
|
-
"RegisterMod",
|
|
73
|
-
"RNG",
|
|
74
|
-
"RoomShape",
|
|
75
|
-
"RoomType",
|
|
76
|
-
"SeedEffect",
|
|
77
|
-
"SFXManager",
|
|
78
|
-
"SortingLayer",
|
|
79
|
-
"SoundEffect",
|
|
80
|
-
"Sprite",
|
|
81
|
-
"StageType",
|
|
82
|
-
"TearFlags",
|
|
83
|
-
"TearVariant",
|
|
84
|
-
"TrinketType",
|
|
85
|
-
"Vector",
|
|
86
|
-
"WeaponType",
|
|
87
|
-
|
|
88
|
-
-- Global variables
|
|
89
|
-
"ModConfigMenu",
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
max_line_length = 100
|
|
93
|
-
|
|
94
|
-
-- Luacheck complains about functions in a module declared with a colon if self is unused;
|
|
95
|
-
-- we may want all functions to be declared with a colon for uniformity.
|
|
96
|
-
unused_args = false
|