Skip to content

Commit 5973d35

Browse files
committed
chore: remove isaacscript-common-ts and isaacscript-common-node
1 parent ff9fb70 commit 5973d35

File tree

169 files changed

+191
-5401
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+191
-5401
lines changed

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ Each project in the monorepo is contained within the "packages" directory.
2727
| [isaac-typescript-definitions](./packages/isaac-typescript-definitions) | TypeScript definitions for the _The Binding of Isaac: Repentance_ API. | [![npm version](https://img.shields.io/npm/v/isaac-typescript-definitions.svg)](https://www.npmjs.com/package/isaac-typescript-definitions) |
2828
| [isaacscript-cli](./packages/isaacscript-cli) | The command-line tool for managing Isaac mods written in TypeScript. | [![npm version](https://img.shields.io/npm/v/isaacscript.svg)](https://www.npmjs.com/package/isaacscript) |
2929
| [isaacscript-common](./packages/isaacscript-common) | Helper functions and features for IsaacScript mods. | [![npm version](https://img.shields.io/npm/v/isaacscript-common.svg)](https://www.npmjs.com/package/isaacscript-common) |
30-
| [isaacscript-common-node](./packages/isaacscript-common-node) | Helper functions for Node.js projects. | [![npm version](https://img.shields.io/npm/v/isaacscript-common-node.svg)](https://www.npmjs.com/package/isaacscript-common-node) |
31-
| [isaacscript-common-ts](./packages/isaacscript-common-ts) | Helper functions for TypeScript projects. | [![npm version](https://img.shields.io/npm/v/isaacscript-common-ts.svg)](https://www.npmjs.com/package/isaacscript-common-ts) |
3230
| [isaacscript-lint](./packages/isaacscript-lint) | A linting dependency meta-package for IsaacScript and TypeScript projects. | [![npm version](https://img.shields.io/npm/v/isaacscript-lint.svg)](https://www.npmjs.com/package/isaacscript-lint) |
3331
| [isaacscript-lua](./packages/isaacscript-lua) | A tool for managing IsaacScript libraries in Lua projects. | [![pypi version](https://img.shields.io/pypi/v/isaacscript-lua.svg)](https://pypi.org/project/isaacscript-lua/) |
3432
| [isaacscript-spell](./packages/isaacscript-spell) | Spelling dictionaries for _The Binding of Isaac: Repentance_. | [![npm version](https://img.shields.io/npm/v/isaacscript-spell.svg)](https://www.npmjs.com/package/isaacscript-spell) |

cspell.jsonc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,9 @@
3838
],
3939
"words": [
4040
"adduser",
41-
"Alicè",
4241
"APPDATA",
4342
"arktype",
4443
"Basarat",
45-
"bunx",
4644
"celsiusnarhwal",
4745
"chunkname",
4846
"cloc",

knip.jsonc

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,7 @@
4949
"typedoc.config.mjs",
5050
],
5151
},
52-
"packages/isaacscript-common-node": {},
53-
"packages/isaacscript-common-ts": {},
5452
"packages/isaacscript-spell": {},
5553
},
56-
"ignoreDependencies": [
57-
"eslint-plugin-isaacscript",
58-
"isaacscript-common-node",
59-
"isaacscript-common-ts",
60-
],
54+
"ignoreDependencies": ["eslint-plugin-isaacscript"],
6155
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
"typedoc": "^0.26.7",
125125
"typedoc-plugin-markdown": "^4.2.7",
126126
"typedoc-plugin-rename": "^1.1.1",
127-
"typescript": "^5.6.2",
127+
"typescript": "5.5.4",
128128
"typescript-eslint": "^8.5.0",
129129
"typescript-to-lua": "^1.26.2",
130130
"unbuild": "^2.0.0",

packages/docs/docs/main/directory-structure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,8 @@ IsaacScript projects start with some dependencies: <!-- This corresponds to "pac
152152

153153
It also starts with some development dependencies (which are only used when compiling, linting, and so on):
154154

155+
1. `complete-node` - Provides helper functions to use in scripts.
155156
1. `isaacscript` - Provides the command-line program that monitors your project.
156-
1. `isaacscript-common-node` - Provides helper functions to use in scripts.
157157
1. `isaacscript-lint` - Provides `eslint` and all of the linting-related packages that `eslint` uses, including the official IsaacScript linting rule-set.
158158
1. `isaacscript-spell` - Provides spell checking dictionaries for The Binding of Isaac words and IsaacScript words.
159159
1. `isaacscript-tsconfig` - Provides a standard TypeScript configuration file ("tsconfig.json").

packages/docs/scripts/build.mts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { $, $op, $s, buildScript, rm } from "isaacscript-common-node";
1+
import { $, $op, $s, buildScript, rm } from "complete-node";
22
import path from "node:path";
33
import { makeECIDocs } from "./docs.mjs";
44

@@ -14,7 +14,7 @@ const GENERATED_DOC_DIRECTORY_NAMES = [
1414
"eslint-config-isaacscript",
1515
] as const;
1616

17-
await buildScript(async ({ packageRoot }) => {
17+
await buildScript(async (packageRoot) => {
1818
if (!DOCS_BUILD_ENABLED) {
1919
return;
2020
}

packages/docs/scripts/deploy.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
mv,
1212
rm,
1313
sleep,
14-
} from "isaacscript-common-node";
14+
} from "complete-node";
1515
import path from "node:path";
1616

1717
const DOCS_REPO_NAME = "isaacscript.github.io";

packages/docs/scripts/docs.mts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,8 @@
22

33
import ESLintJS from "@eslint/js";
44
import TypeScriptESLintPlugin from "@typescript-eslint/eslint-plugin";
5-
import type { Linter } from "eslint";
6-
import ESLintConfigPrettier from "eslint-config-prettier";
7-
import ESLintPluginImportX from "eslint-plugin-import-x";
8-
import ESLintPluginJSDoc from "eslint-plugin-jsdoc";
9-
import ESLintPluginN from "eslint-plugin-n";
10-
import ESLintPluginUnicorn from "eslint-plugin-unicorn";
11-
import extractComments from "extract-comments";
5+
import type { ReadonlyRecord } from "complete-common";
6+
import { assertDefined, isArray, isObject } from "complete-common";
127
import {
138
echo,
149
fatalError,
@@ -17,9 +12,14 @@ import {
1712
mkdir,
1813
readFile,
1914
writeFile,
20-
} from "isaacscript-common-node";
21-
import type { ReadonlyRecord } from "isaacscript-common-ts";
22-
import { assertDefined, isArray, isObject } from "isaacscript-common-ts";
15+
} from "complete-node";
16+
import type { Linter } from "eslint";
17+
import ESLintConfigPrettier from "eslint-config-prettier";
18+
import ESLintPluginImportX from "eslint-plugin-import-x";
19+
import ESLintPluginJSDoc from "eslint-plugin-jsdoc";
20+
import ESLintPluginN from "eslint-plugin-n";
21+
import ESLintPluginUnicorn from "eslint-plugin-unicorn";
22+
import extractComments from "extract-comments";
2323
import path from "node:path";
2424
import url from "node:url";
2525

packages/docs/scripts/fixIsaacScriptCommon.mts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ custom_edit_url: null
3737
3838
*/
3939

40-
import { globSync } from "glob";
40+
import {
41+
ReadonlyMap,
42+
assertDefined,
43+
capitalizeFirstLetter,
44+
trimSuffix,
45+
} from "complete-common";
4146
import {
4247
deleteFileOrDirectory,
4348
echo,
@@ -46,13 +51,8 @@ import {
4651
readFile,
4752
renameFile,
4853
writeFile,
49-
} from "isaacscript-common-node";
50-
import {
51-
ReadonlyMap,
52-
assertDefined,
53-
capitalizeFirstLetter,
54-
trimSuffix,
55-
} from "isaacscript-common-ts";
54+
} from "complete-node";
55+
import { globSync } from "glob";
5656
import fs from "node:fs";
5757
import path from "node:path";
5858

packages/docs/scripts/fixIsaacTypeScriptDefinitions.mts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
// See the comment in "fixIsaacScriptCommon.ts".
22

3+
import {
4+
ReadonlyMap,
5+
assertDefined,
6+
capitalizeFirstLetter,
7+
trimSuffix,
8+
} from "complete-common";
39
import {
410
deleteFileOrDirectory,
511
isMain,
612
readFile,
713
renameFile,
814
writeFile,
9-
} from "isaacscript-common-node";
10-
import {
11-
ReadonlyMap,
12-
assertDefined,
13-
capitalizeFirstLetter,
14-
trimSuffix,
15-
} from "isaacscript-common-ts";
15+
} from "complete-node";
1616
import fs from "node:fs";
1717
import path from "node:path";
1818

packages/docs/scripts/lint.mts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { $, lintScript } from "isaacscript-common-node";
1+
import { $, lintScript } from "complete-node";
22

33
await lintScript(async () => {
44
const promises = [
55
$`tsc --noEmit`,
66
$`tsc --noEmit --project ./scripts/tsconfig.json`,
77
$`eslint --max-warnings 0 .`,
88
];
9+
910
await Promise.all(promises);
1011
});

packages/docs/scripts/tsconfig.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"extends": [
55
"../../isaacscript-tsconfig/tsconfig.base.json",
66
"../../isaacscript-tsconfig/tsconfig.node.json",
7-
"../../../tsconfig.monorepo.json",
87
],
98

109
"include": ["*.ts", "*.mts"],
Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,11 @@
11
import tseslint from "typescript-eslint";
22

33
/** This config is only meant to be used in this monorepo. */
4-
export const monorepo = tseslint.config(
5-
// The "isaacscript-common-node" dependency is used in scripts and should never appear in a
6-
// "package.json" file (if it is only used in script files). This has to be a monorepo disable
7-
// because in a normal project, "isaacscript-common-node" should be required in "devDependencies".
8-
{
9-
files: ["**/scripts/*.{js,cjs,mjs,ts,cts,mts}"],
10-
rules: {
11-
// https://github.com/un-ts/eslint-plugin-import-x/issues/141
12-
"import-x/no-extraneous-dependencies": "off",
13-
},
4+
export const monorepo = tseslint.config({
5+
files: ["eslint.config.mjs"],
6+
rules: {
7+
// ESLint configs in this monorepo intentionally import from the "packages" subdirectory
8+
// (because we do not want the complexity of ESLint using tsconfig-paths).
9+
"import-x/no-relative-packages": "off",
1410
},
15-
16-
{
17-
files: ["eslint.config.mjs"],
18-
rules: {
19-
// ESLint configs in this monorepo intentionally import from the "packages" subdirectory
20-
// (because we do not want the complexity of ESLint using tsconfig-paths).
21-
"import-x/no-relative-packages": "off",
22-
23-
// ESLint configs import from "typescript-eslint", but this is installed at the monorepo root
24-
// instead of in the individual package "package.json" file.
25-
// https://github.com/un-ts/eslint-plugin-import-x/issues/141
26-
"import-x/no-extraneous-dependencies": "off",
27-
},
28-
},
29-
);
11+
});
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { $, lintScript } from "isaacscript-common-node";
1+
import { $, lintScript } from "complete-node";
22

33
await lintScript(async () => {
44
const promises = [
55
$`tsc --noEmit`,
66
$`tsc --noEmit --project ./scripts/tsconfig.json`,
77
$`eslint --max-warnings 0 .`,
88
];
9+
910
await Promise.all(promises);
1011
});

packages/eslint-config-isaacscript/scripts/tsconfig.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"extends": [
55
"../../isaacscript-tsconfig/tsconfig.base.json",
66
"../../isaacscript-tsconfig/tsconfig.node.json",
7-
"../../../tsconfig.monorepo.json",
87
],
98

109
"include": ["*.ts"],

packages/eslint-config-isaacscript/tsconfig.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"extends": [
55
"../isaacscript-tsconfig/tsconfig.base.json",
66
"../isaacscript-tsconfig/tsconfig.node.json",
7-
"../../tsconfig.monorepo.json",
87
],
98

109
"include": ["./**/*.js"],
Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,6 @@
1-
import { $s, buildScript, cp, mkdir, rm } from "isaacscript-common-node";
2-
import { assertDefined } from "isaacscript-common-ts";
3-
import path from "node:path";
4-
5-
await buildScript(({ outDir, packageRoot }) => {
6-
assertDefined(
7-
outDir,
8-
'Failed to get the "outDir" from the "tsconfig.json" file.',
9-
);
1+
import { $s, buildScript, copyToMonorepoNodeModules } from "complete-node";
102

3+
await buildScript((packageRoot) => {
114
$s`tsc`;
12-
copyToMonorepoNodeModules(packageRoot, outDir);
5+
copyToMonorepoNodeModules(packageRoot);
136
});
14-
15-
/**
16-
* We copy the build output to the "node_modules" folder at the root of the monorepo. This obviates
17-
* the need for the monorepo to consume the actual npm package. (The ESLint config for the monorepo
18-
* needs the compiled JavaScript in order to work properly.)
19-
*/
20-
function copyToMonorepoNodeModules(packageRoot: string, outDir: string) {
21-
const monorepoRoot = path.join(packageRoot, "..", "..");
22-
const packageName = path.basename(packageRoot);
23-
const monorepoPluginDir = path.join(
24-
monorepoRoot,
25-
"node_modules",
26-
packageName,
27-
);
28-
rm(monorepoPluginDir);
29-
mkdir(monorepoPluginDir);
30-
31-
// We only need to copy the "package.json" file and the "dist" directory in order for it to work
32-
// properly.
33-
const packageJSONPath = path.join(packageRoot, "package.json");
34-
const newPackageJSONPath = path.join(monorepoPluginDir, "package.json");
35-
cp(packageJSONPath, newPackageJSONPath);
36-
const monorepoPluginDistDir = path.join(monorepoPluginDir, "dist");
37-
cp(outDir, monorepoPluginDistDir);
38-
}

packages/eslint-plugin-isaacscript/scripts/constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { findPackageRoot } from "isaacscript-common-node";
1+
import { findPackageRoot } from "complete-node";
22
import path from "node:path";
33

44
const packageRoot = findPackageRoot();

packages/eslint-plugin-isaacscript/scripts/createRule.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { echo, readFile, writeFile } from "isaacscript-common-node";
2-
import { isKebabCase, trimSuffix } from "isaacscript-common-ts";
1+
import { isKebabCase, trimSuffix } from "complete-common";
2+
import { echo, readFile, writeFile } from "complete-node";
33
import path from "node:path";
44
import { PACKAGE_ROOT, PLUGIN_NAME } from "./constants.js";
55
import { generateAll } from "./generate.js";

packages/eslint-plugin-isaacscript/scripts/generate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { echo, isMain } from "isaacscript-common-node";
1+
import { echo, isMain } from "complete-node";
22
import { generateConfigs } from "./generateConfigs.js";
33
import { generateReadme } from "./generateReadme.js";
44
import { generateRules } from "./generateRules.js";

packages/eslint-plugin-isaacscript/scripts/generateConfigs.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// This generates the files in the "src/configs" directory.
22

33
import type { TSESLint } from "@typescript-eslint/utils";
4-
import { writeFile } from "isaacscript-common-node";
4+
import { writeFile } from "complete-node";
55
import path from "node:path";
66
import { PACKAGE_ROOT } from "./constants.js";
77
import type { RuleDefinition } from "./utils.js";

packages/eslint-plugin-isaacscript/scripts/generateReadme.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Generates the rules table in "README.md".
22

3-
import { readFile, writeFile } from "isaacscript-common-node";
4-
import { assertDefined } from "isaacscript-common-ts";
3+
import { assertDefined } from "complete-common";
4+
import { readFile, writeFile } from "complete-node";
55
import path from "node:path";
66
import { PACKAGE_ROOT } from "./constants.js";
77
import type { RuleDefinition } from "./utils.js";

packages/eslint-plugin-isaacscript/scripts/generateRules.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Generates the "src/rules.ts" file.
22

3-
import { getFileNamesInDirectory, writeFile } from "isaacscript-common-node";
3+
import { getFileNamesInDirectory, writeFile } from "complete-node";
44
import path from "node:path";
55
import { PACKAGE_ROOT } from "./constants.js";
66
import {

packages/eslint-plugin-isaacscript/scripts/lint.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import chalk from "chalk";
2-
import { $, echo, exit, lintScript, readFile } from "isaacscript-common-node";
3-
import { assertDefined } from "isaacscript-common-ts";
2+
import { assertDefined } from "complete-common";
3+
import { $, echo, exit, lintScript, readFile } from "complete-node";
44
import path from "node:path";
55
import { generateAll } from "./generate.js";
66
import { CONFIGS_DIRECTORY_PATH } from "./generateConfigs.js";
@@ -23,6 +23,7 @@ await lintScript(async () => {
2323
$`tsc --noEmit --project ./tests/tsconfig.json`,
2424
$`eslint --max-warnings 0 .`,
2525
];
26+
2627
await Promise.all(promises);
2728

2829
// We cannot do generation at the same time as the other linting because it changes the

packages/eslint-plugin-isaacscript/scripts/tsconfig.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"extends": [
55
"../../isaacscript-tsconfig/tsconfig.base.json",
66
"../../isaacscript-tsconfig/tsconfig.node.json",
7-
"../../../tsconfig.monorepo.json",
87
],
98

109
"include": ["*.ts"],

packages/eslint-plugin-isaacscript/scripts/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { TSESLint } from "@typescript-eslint/utils";
2-
import { kebabCaseToCamelCase } from "isaacscript-common-ts";
2+
import { kebabCaseToCamelCase } from "complete-common";
33
import * as prettier from "prettier";
44
import { PLUGIN_NAME, REPO_ROOT } from "./constants.js";
55

packages/eslint-plugin-isaacscript/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { TSESLint } from "@typescript-eslint/utils";
2+
import type { ReadonlyRecord } from "complete-common";
23
import fs from "node:fs";
34
import path from "node:path";
45
import { configs } from "./configs.js";
5-
import type { ReadonlyRecord } from "./isaacScriptCommon.js";
66
import { rules } from "./rules.js";
77

88
const { name, version } = getPackageJSON();

0 commit comments

Comments
 (0)