isaacscript 2.0.0 → 2.0.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.
@@ -8,6 +8,7 @@ FILES_TO_CHECK=(
8
8
  ".prettierrc.js"
9
9
  ".prettierignore:.prettierignore-base"
10
10
  "tsconfig.eslint.json"
11
+ "check-orphaned-words.sh"
11
12
  )
12
13
 
13
14
  set -e # Exit on any errors
@@ -2,33 +2,34 @@
2
2
 
3
3
  set -e # Exit on any errors
4
4
 
5
- # Get the directory of this script
5
+ # Get the directory of this script:
6
6
  # https://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within
7
7
  DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
8
8
 
9
9
  REPO_ROOT="$DIR"
10
10
  cd "$REPO_ROOT"
11
11
 
12
- # Do nothing if the configuration file does not exist
12
+ # Do nothing if the configuration file does not exist.
13
13
  CSPELL_CONFIGURATION_PATH="$REPO_ROOT/.cspell.json"
14
14
  if ! test -f "$CSPELL_CONFIGURATION_PATH"; then
15
15
  exit 0
16
16
  fi
17
17
 
18
- # Do nothing if the configuration file does not have any words in it
18
+ # Do nothing if the configuration file does not have any words in it.
19
19
  if ! grep -q '"words": ' "$CSPELL_CONFIGURATION_PATH"; then
20
20
  exit 0
21
21
  fi
22
22
 
23
- # Make a list of every misspelled word without any custom dictionaries
23
+ # Make a list of every misspelled word without any custom dictionaries.
24
+ # We need to move the configuration path temporarily or else the cspell command won't work properly.
24
25
  CSPELL_CONFIGURATION_PATH_TEMP="$REPO_ROOT/.cspell-temp.json"
25
- mv "$CSPELL_CONFIGURATION_PATH" "$CSPELL_CONFIGURATION_PATH_TEMP" # Otherwise the below command won't work properly
26
+ mv "$CSPELL_CONFIGURATION_PATH" "$CSPELL_CONFIGURATION_PATH_TEMP"
26
27
  MISSPELLED_WORDS_PATH="/tmp/misspelled-words.txt"
27
28
  CSPELL_CONFIGURATION_TEST_PATH="$REPO_ROOT/.cspell-check-unused.json"
28
29
  npx cspell lint --config "$CSPELL_CONFIGURATION_TEST_PATH" --dot --no-progress --no-summary --unique --words-only | sort --ignore-case --unique > "$MISSPELLED_WORDS_PATH"
29
30
  mv "$CSPELL_CONFIGURATION_PATH_TEMP" "$CSPELL_CONFIGURATION_PATH"
30
31
 
31
- # Check that each ".cspell.json" word is actually being used
32
+ # Check that each ".cspell.json" word is actually being used.
32
33
  echo "Checking for orphaned CSpell configuration words in: $CSPELL_CONFIGURATION_PATH"
33
34
  CSPELL_CONFIGURATION_WORDS=$(cat "$CSPELL_CONFIGURATION_PATH" | python -c "import sys, json; print('\n'.join(json.load(sys.stdin)['words']))")
34
35
  ONE_OR_MORE_FAILURES=0
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript",
3
- "version": "2.0.0",
3
+ "version": "2.0.3",
4
4
  "description": "A command line tool for managing Isaac mods written in TypeScript",
5
5
  "homepage": "https://isaacscript.github.io/",
6
6
  "bugs": {
@@ -34,7 +34,7 @@
34
34
  "typescript": "^4.6.4",
35
35
  "typescript-to-lua": "^1.4.4",
36
36
  "update-notifier": "^5.1.0",
37
- "yaml": "^2.0.1",
37
+ "yaml": "^2.1.0",
38
38
  "yargs": "^17.5.0"
39
39
  },
40
40
  "devDependencies": {
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PUBLISH_POST_COPY_PY_PATH = exports.PUBLISH_PRE_COPY_PY_PATH = exports.VERSION_TXT_PATH = exports.METADATA_XML_PATH = exports.MAIN_LUA = exports.MOD_SOURCE_PATH = exports.CONSTANTS_TS_PATH = exports.PACKAGE_JSON_PATH = exports.TSCONFIG_PATH = exports.CONFIG_FILE_PATH = exports.CONFIG_FILE_NAME = exports.README_MD_TEMPLATES_PATH = exports.README_MD = exports.PACKAGE_JSON_TEMPLATE_PATH = exports.PACKAGE_JSON = exports.METADATA_VDF_TEMPLATE_PATH = exports.METADATA_VDF = exports.METADATA_XML_TEMPLATE_PATH = exports.METADATA_XML = exports.MAIN_TS_TEMPLATE_PATH = exports.MAIN_TS = exports.GITIGNORE_TEMPLATE_PATH = exports.GITIGNORE = exports.TEMPLATES_STATIC_DIR = exports.WATCHER_MOD_SOURCE_PATH = exports.WATCHER_MOD_NAME = exports.DISABLE_IT_FILE = exports.PROJECT_NAME = exports.MOD_UPLOADER_PATH = exports.FILE_SYNCED_MESSAGE = exports.HOME_DIR = exports.CWD = exports.CURRENT_DIRECTORY_NAME = void 0;
6
+ exports.PUBLISH_POST_COPY_PY_PATH = exports.PUBLISH_PRE_COPY_PY_PATH = exports.VERSION_TXT_PATH = exports.METADATA_XML_PATH = exports.MAIN_LUA = exports.MOD_SOURCE_PATH = exports.YARN_LOCK_PATH = exports.CONSTANTS_TS_PATH = exports.PACKAGE_JSON_PATH = exports.TSCONFIG_PATH = exports.CONFIG_FILE_PATH = exports.CONFIG_FILE_NAME = exports.README_MD_TEMPLATES_PATH = exports.README_MD = exports.PACKAGE_JSON_TEMPLATE_PATH = exports.PACKAGE_JSON = exports.METADATA_VDF_TEMPLATE_PATH = exports.METADATA_VDF = exports.METADATA_XML_TEMPLATE_PATH = exports.METADATA_XML = exports.MAIN_TS_TEMPLATE_PATH = exports.MAIN_TS = exports.GITIGNORE_TEMPLATE_PATH = exports.GITIGNORE = exports.TEMPLATES_STATIC_DIR = exports.WATCHER_MOD_SOURCE_PATH = exports.WATCHER_MOD_NAME = exports.DISABLE_IT_FILE = exports.PROJECT_NAME = exports.MOD_UPLOADER_PATH = exports.FILE_SYNCED_MESSAGE = exports.HOME_DIR = exports.CWD = exports.CURRENT_DIRECTORY_NAME = void 0;
7
7
  const os_1 = __importDefault(require("os"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const cwd = process.cwd();
@@ -46,6 +46,7 @@ exports.CONFIG_FILE_PATH = path_1.default.join(exports.CWD, exports.CONFIG_FILE_
46
46
  exports.TSCONFIG_PATH = path_1.default.join(exports.CWD, "tsconfig.json");
47
47
  exports.PACKAGE_JSON_PATH = path_1.default.join(exports.CWD, "package.json");
48
48
  exports.CONSTANTS_TS_PATH = path_1.default.join(exports.CWD, "src", "constants.ts");
49
+ exports.YARN_LOCK_PATH = path_1.default.join(exports.CWD, "yarn.lock");
49
50
  // project/mod
50
51
  exports.MOD_SOURCE_PATH = path_1.default.join(exports.CWD, "mod");
51
52
  exports.MAIN_LUA = "main.lua";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE1B,mGAAmG;AACnG,MAAM,OAAO,GAAG,YAAE,CAAC,OAAO,EAAE,CAAC;AAE7B,gBAAgB;AACH,QAAA,sBAAsB,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,GAAG,GAAG,GAAG,CAAC;AACV,QAAA,QAAQ,GAAG,OAAO,CAAC;AACnB,QAAA,mBAAmB,GAAG,cAAc,CAAC;AACrC,QAAA,iBAAiB,GAC5B,sHAAsH,CAAC;AAC5G,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,cAAc;AACd,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEnD,kCAAkC;AACrB,QAAA,eAAe,GAAG,YAAY,CAAC;AAC/B,QAAA,gBAAgB,GAAG,qBAAqB,CAAC;AACzC,QAAA,uBAAuB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAgB,CAAC,CAAC;AAE9E,6BAA6B;AAC7B,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAE7D,oCAAoC;AACvB,QAAA,oBAAoB,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAEvE,qCAAqC;AACrC,MAAM,qBAAqB,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACrD,QAAA,SAAS,GAAG,WAAW,CAAC,CAAC,yDAAyD;AAClF,QAAA,uBAAuB,GAAG,cAAI,CAAC,IAAI,CAC9C,qBAAqB,EACrB,iBAAS,CACV,CAAC;AACW,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,qBAAqB,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,eAAO,CAAC,CAAC;AAClE,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,0BAA0B,GAAG,cAAI,CAAC,IAAI,CACjD,qBAAqB,EACrB,oBAAY,CACb,CAAC;AACW,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,0BAA0B,GAAG,cAAI,CAAC,IAAI,CACjD,qBAAqB,EACrB,oBAAY,CACb,CAAC;AACW,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,0BAA0B,GAAG,cAAI,CAAC,IAAI,CACjD,qBAAqB,EACrB,oBAAY,CACb,CAAC;AACW,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,wBAAwB,GAAG,cAAI,CAAC,IAAI,CAC/C,qBAAqB,EACrB,iBAAS,CACV,CAAC;AAEF,UAAU;AACG,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAG,EAAE,wBAAgB,CAAC,CAAC;AACpD,QAAA,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,WAAG,EAAE,eAAe,CAAC,CAAC;AAChD,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAG,EAAE,cAAc,CAAC,CAAC;AACnD,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAG,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAEvE,cAAc;AACD,QAAA,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,WAAG,EAAE,KAAK,CAAC,CAAC;AACxC,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,uBAAe,EAAE,cAAc,CAAC,CAAC;AAC/D,QAAA,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,uBAAe,EAAE,aAAa,CAAC,CAAC;AAE1E,kBAAkB;AAClB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAG,EAAE,SAAS,CAAC,CAAC;AAClC,QAAA,wBAAwB,GAAG,cAAI,CAAC,IAAI,CAC/C,YAAY,EACZ,qBAAqB,CACtB,CAAC;AACW,QAAA,yBAAyB,GAAG,cAAI,CAAC,IAAI,CAChD,YAAY,EACZ,sBAAsB,CACvB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/src/main.js CHANGED
@@ -42,6 +42,7 @@ const publish_1 = require("./commands/publish/publish");
42
42
  const configFile = __importStar(require("./configFile"));
43
43
  const constants_1 = require("./constants");
44
44
  const exec_1 = require("./exec");
45
+ const file = __importStar(require("./file"));
45
46
  const parseArgs_1 = require("./parseArgs");
46
47
  const prompt_1 = require("./prompt");
47
48
  const Command_1 = require("./types/Command");
@@ -94,9 +95,7 @@ async function handleCommands(argv, verbose) {
94
95
  if (command !== "init") {
95
96
  (0, validateInIsaacScriptProject_1.validateInIsaacScriptProject)(verbose);
96
97
  config = await configFile.get(argv);
97
- // https://stackoverflow.com/questions/57016579/checking-if-package-json-dependencies-match-the-installed-dependencies
98
- console.log('Running "npm install" to ensure that the project\'s dependencies are installed correctly.');
99
- (0, exec_1.execShell)("npm", ["install"], verbose);
98
+ ensureDepsAreInstalled(verbose);
100
99
  }
101
100
  switch (command) {
102
101
  case "monitor": {
@@ -124,4 +123,14 @@ async function handleCommands(argv, verbose) {
124
123
  process.exit(0);
125
124
  }
126
125
  }
126
+ function ensureDepsAreInstalled(verbose) {
127
+ if (file.exists(constants_1.YARN_LOCK_PATH, verbose)) {
128
+ console.log('Running "yarn" to ensure that the project\'s dependencies are installed correctly.');
129
+ (0, exec_1.execShell)("yarn");
130
+ return;
131
+ }
132
+ // https://stackoverflow.com/questions/57016579/checking-if-package-json-dependencies-match-the-installed-dependencies
133
+ console.log('Running "npm install" to ensure that the project\'s dependencies are installed correctly.');
134
+ (0, exec_1.execShell)("npm", ["install"], verbose);
135
+ }
127
136
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+
1
3
  const MOD_NAME = "MOD-NAME-TO-REPLACE";
2
4
 
3
5
  export function main(): void {
@@ -6,7 +8,7 @@ export function main(): void {
6
8
  const mod = RegisterMod(MOD_NAME, 1);
7
9
 
8
10
  // Set a callback function that corresponds to when a new run is started.
9
- mod.AddCallback(ModCallbacks.MC_POST_GAME_STARTED, postGameStarted);
11
+ mod.AddCallback(ModCallback.POST_GAME_STARTED, postGameStarted);
10
12
 
11
13
  // Print an initialization message to the "log.txt" file.
12
14
  Isaac.DebugString(`${MOD_NAME} initialized.`);
@@ -5,5 +5,5 @@
5
5
  "./node_modules/isaac-typescript-definitions/.cspell-isaacscript.json"
6
6
  ],
7
7
  "files": ["**"],
8
- "ignorePaths": [".git/**", "node_modules/**"]
8
+ "ignorePaths": [".git/**", "dist/**", "node_modules/**", "main.lua"]
9
9
  }
@@ -2,33 +2,34 @@
2
2
 
3
3
  set -e # Exit on any errors
4
4
 
5
- # Get the directory of this script
5
+ # Get the directory of this script:
6
6
  # https://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within
7
7
  DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
8
8
 
9
9
  REPO_ROOT="$DIR"
10
10
  cd "$REPO_ROOT"
11
11
 
12
- # Do nothing if the configuration file does not exist
12
+ # Do nothing if the configuration file does not exist.
13
13
  CSPELL_CONFIGURATION_PATH="$REPO_ROOT/.cspell.json"
14
14
  if ! test -f "$CSPELL_CONFIGURATION_PATH"; then
15
15
  exit 0
16
16
  fi
17
17
 
18
- # Do nothing if the configuration file does not have any words in it
18
+ # Do nothing if the configuration file does not have any words in it.
19
19
  if ! grep -q '"words": ' "$CSPELL_CONFIGURATION_PATH"; then
20
20
  exit 0
21
21
  fi
22
22
 
23
- # Make a list of every misspelled word without any custom dictionaries
23
+ # Make a list of every misspelled word without any custom dictionaries.
24
+ # We need to move the configuration path temporarily or else the cspell command won't work properly.
24
25
  CSPELL_CONFIGURATION_PATH_TEMP="$REPO_ROOT/.cspell-temp.json"
25
- mv "$CSPELL_CONFIGURATION_PATH" "$CSPELL_CONFIGURATION_PATH_TEMP" # Otherwise the below command won't work properly
26
+ mv "$CSPELL_CONFIGURATION_PATH" "$CSPELL_CONFIGURATION_PATH_TEMP"
26
27
  MISSPELLED_WORDS_PATH="/tmp/misspelled-words.txt"
27
28
  CSPELL_CONFIGURATION_TEST_PATH="$REPO_ROOT/.cspell-check-unused.json"
28
29
  npx cspell lint --config "$CSPELL_CONFIGURATION_TEST_PATH" --dot --no-progress --no-summary --unique --words-only | sort --ignore-case --unique > "$MISSPELLED_WORDS_PATH"
29
30
  mv "$CSPELL_CONFIGURATION_PATH_TEMP" "$CSPELL_CONFIGURATION_PATH"
30
31
 
31
- # Check that each ".cspell.json" word is actually being used
32
+ # Check that each ".cspell.json" word is actually being used.
32
33
  echo "Checking for orphaned CSpell configuration words in: $CSPELL_CONFIGURATION_PATH"
33
34
  CSPELL_CONFIGURATION_WORDS=$(cat "$CSPELL_CONFIGURATION_PATH" | python -c "import sys, json; print('\n'.join(json.load(sys.stdin)['words']))")
34
35
  ONE_OR_MORE_FAILURES=0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript",
3
- "version": "2.0.0",
3
+ "version": "2.0.3",
4
4
  "description": "A command line tool for managing Isaac mods written in TypeScript",
5
5
  "homepage": "https://isaacscript.github.io/",
6
6
  "bugs": {
@@ -34,7 +34,7 @@
34
34
  "typescript": "^4.6.4",
35
35
  "typescript-to-lua": "^1.4.4",
36
36
  "update-notifier": "^5.1.0",
37
- "yaml": "^2.0.1",
37
+ "yaml": "^2.1.0",
38
38
  "yargs": "^17.5.0"
39
39
  },
40
40
  "devDependencies": {
package/src/constants.ts CHANGED
@@ -65,6 +65,7 @@ export const CONFIG_FILE_PATH = path.join(CWD, CONFIG_FILE_NAME);
65
65
  export const TSCONFIG_PATH = path.join(CWD, "tsconfig.json");
66
66
  export const PACKAGE_JSON_PATH = path.join(CWD, "package.json");
67
67
  export const CONSTANTS_TS_PATH = path.join(CWD, "src", "constants.ts");
68
+ export const YARN_LOCK_PATH = path.join(CWD, "yarn.lock");
68
69
 
69
70
  // project/mod
70
71
  export const MOD_SOURCE_PATH = path.join(CWD, "mod");
package/src/main.ts CHANGED
@@ -13,8 +13,9 @@ import { init } from "./commands/init/init";
13
13
  import { monitor } from "./commands/monitor/monitor";
14
14
  import { publish } from "./commands/publish/publish";
15
15
  import * as configFile from "./configFile";
16
- import { CWD, PROJECT_NAME } from "./constants";
16
+ import { CWD, PROJECT_NAME, YARN_LOCK_PATH } from "./constants";
17
17
  import { execShell } from "./exec";
18
+ import * as file from "./file";
18
19
  import { parseArgs } from "./parseArgs";
19
20
  import { promptInit } from "./prompt";
20
21
  import { Command, DEFAULT_COMMAND } from "./types/Command";
@@ -78,11 +79,7 @@ async function handleCommands(argv: Record<string, unknown>, verbose: boolean) {
78
79
  validateInIsaacScriptProject(verbose);
79
80
  config = await configFile.get(argv);
80
81
 
81
- // https://stackoverflow.com/questions/57016579/checking-if-package-json-dependencies-match-the-installed-dependencies
82
- console.log(
83
- 'Running "npm install" to ensure that the project\'s dependencies are installed correctly.',
84
- );
85
- execShell("npm", ["install"], verbose);
82
+ ensureDepsAreInstalled(verbose);
86
83
  }
87
84
 
88
85
  switch (command) {
@@ -116,3 +113,19 @@ async function handleCommands(argv: Record<string, unknown>, verbose: boolean) {
116
113
  process.exit(0);
117
114
  }
118
115
  }
116
+
117
+ function ensureDepsAreInstalled(verbose: boolean) {
118
+ if (file.exists(YARN_LOCK_PATH, verbose)) {
119
+ console.log(
120
+ 'Running "yarn" to ensure that the project\'s dependencies are installed correctly.',
121
+ );
122
+ execShell("yarn");
123
+ return;
124
+ }
125
+
126
+ // https://stackoverflow.com/questions/57016579/checking-if-package-json-dependencies-match-the-installed-dependencies
127
+ console.log(
128
+ 'Running "npm install" to ensure that the project\'s dependencies are installed correctly.',
129
+ );
130
+ execShell("npm", ["install"], verbose);
131
+ }