isaacscript-lint 6.20.0 → 7.0.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/LICENSE +1 -1
- package/README.md +8 -254
- package/package.json +6 -22
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2022 IsaacScript
|
|
3
|
+
Copyright (c) 2022 The IsaacScript Contributors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
6
|
|
package/README.md
CHANGED
|
@@ -1,261 +1,15 @@
|
|
|
1
|
-
# isaacscript-lint
|
|
1
|
+
# `isaacscript-lint`
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/isaacscript-lint)
|
|
4
4
|
|
|
5
|
-
This is a
|
|
5
|
+
This is a meta package to install all of the dependencies necessary for [Prettier](https://prettier.io/) & [ESLint](https://eslint.org/) to work with a typical IsaacScript project. (Prettier is the best code formatter and ESLint is the best code problem checker.)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## Why This Package Is Useful
|
|
10
|
-
|
|
11
|
-
It's a pain to get Prettier & ESLint working with TypeScript. So, `isaacscript-lint` is designed to make it as easy as possible. Don't clutter your `package.json` file with 15+ different ESLint-related dependencies. Don't bother researching which of the hundreds of existing ESLint rules to turn on and turn off. Just use `isaacscript-lint`.
|
|
12
|
-
|
|
13
|
-
If you are ready to start, see the [installation instructions](#installation-instructions-for-typescript-projects) below.
|
|
14
|
-
|
|
15
|
-
<br>
|
|
16
|
-
|
|
17
|
-
## Why Code Formatting is Important
|
|
18
|
-
|
|
19
|
-
In the 90's, the most popular scripting language in the world was [Perl](https://www.perl.org/), invented by [Larry Wall](https://en.wikipedia.org/wiki/Larry_Wall). One of Larry's slogans was that "There Is Always More Than One Way To Do It", abbreviated as the TIAMTOWTDI principle. In Perl, there were many different ways to do even the most basic thing, like adding an element to an array. This resulted in a Perl ecosystem where programs often looked nothing like each other, where everyone had different coding styles, and where everything was hard to read and comprehend. <!-- cspell:ignore TIAMTOWTDI -->
|
|
20
|
-
|
|
21
|
-
One of the key insights of [Guido van Rossum](https://en.wikipedia.org/wiki/Guido_van_Rossum), the creator of the [Python](https://www.python.org/) programming language, was that [code is read much more often than it is written](https://www.python.org/dev/peps/pep-0008/). Python was designed to be concise, clean, and readable. It had standard ways of doing things and recommended that everyone follow the [PEP-8 coding standard](https://www.python.org/dev/peps/pep-0008/). And so, in the 90s, there was a massive movement away from Perl and towards Python. Now, Python is the [most popular programming language in the world](https://pypl.github.io/PYPL.html). <!-- cspell:ignore Rossum -->
|
|
22
|
-
|
|
23
|
-
[Go](https://golang.org/), the programming language designed at Google in 2009, took this concept a step further. They included a code formatter inside of the language itself, called `gofmt` (which is short for "Go formatter"). When you are coding a Go program, it will automatically format all of the code as soon as you save the file. This can be surprising and disturbing for newcomers: "Why does `gofmt` make my code ugly?!" <!-- cspell:ignore gofmt -->
|
|
24
|
-
|
|
25
|
-
However, once people get used to the formatter, they realize that it saves them a _tremendous amount of time_. By ignoring all formatting and typing out code "raw", and then summoning the formatter to instantly fix everything, you can quite literally code twice as fast. Rob Pike, one of the creators of Go, famously said that "gofmt's style is no one's favorite, yet gofmt is everyone's favorite". ([This YouTube clip](https://www.youtube.com/embed/PAAkCSZUG1c?start=523&end=568) of Rob is a much-watch!)
|
|
26
|
-
|
|
27
|
-
`gofmt` is nice because it saves people from mundane code formatting. But there is also a benefit that is entirely separate and not readily apparent. When looking at other people's Go code on StackOverflow or GitHub, you realize that it looks exactly like your code. It's easy to read and comprehend. And you can copy-paste code snippets from other programs into your own applications without having to change anything! For programmers, this is not the norm, and it feels great - it's the hidden superpower of Go.
|
|
28
|
-
|
|
29
|
-
When Rob says that everyone loves `gofmt`, he isn't lying. Programmers across the world have taken this concept and ran with it. People now use [rustfmt](https://github.com/rust-lang/rustfmt) in [Rust](https://www.rust-lang.org/), [Black](https://github.com/psf/black) in [Python](https://www.python.org/), and [Prettier](https://prettier.io/) in [JavaScript](https://www.javascript.com/) & [TypeScript](https://www.typescriptlang.org/). <!-- cspell:ignore rustfmt -->
|
|
30
|
-
|
|
31
|
-
The root of the problem here is that when people try out a new programming language, they often use the same formatting and conventions that they used in their previous language. This fractures the ecosystem and makes everyone's code inconsistent and hard to read. The lesson of Go is that whenever you code in a new language, you should use the standard style that everyone else uses for that language. In this way, every language can have the superpower that Go has.
|
|
32
|
-
|
|
33
|
-
<br>
|
|
34
|
-
|
|
35
|
-
## Why We Use Prettier & ESLint
|
|
36
|
-
|
|
37
|
-
### Prettier
|
|
38
|
-
|
|
39
|
-
In JavaScript and TypeScript land, there isn't an official code formatting standard like there is in Go, but we can get close.
|
|
40
|
-
|
|
41
|
-
[Prettier](https://prettier.io/) is an auto-formatter for JavaScript/TypeScript. First released in 2017, it has become widespread and is probably considered to be the industry standard in 2023. Prettier works by completely rebuilding your code from scratch using the [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree), which allows it to make better transformations than other tools.
|
|
42
|
-
|
|
43
|
-
In `isaacscript-lint`, we choose we choose the Prettier style for code formatting, since it is the most popular TypeScript style. Any ESLint rules that conflict with Prettier are turned off with [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier).
|
|
44
|
-
|
|
45
|
-
Prettier handles almost everything, but the `isaacscript-lint` linting config also has a few formatting-related rules turned on, like [`isaacscript/format-jsdoc-comments`](https://github.com/IsaacScript/isaacscript/blob/main/packages/eslint-plugin-isaacscript/docs/rules/format-jsdoc-comments.md) (since Prettier does not format comments).
|
|
46
|
-
|
|
47
|
-
### ESLint
|
|
48
|
-
|
|
49
|
-
ESLint is the best tool to lint JavaScript and TypeScript, as it has a massive ecosystem of rules and plugins that can help find errors in your codebase.
|
|
50
|
-
|
|
51
|
-
With `isaacscript-lint`, the philosophy is that we want to enable as many lint rules as possible, so that we can catch as many bugs as possible. It takes a lot of work to figure out which rules to turn on and which to not bother with, but we've done it for you. This is documented in more detail on [the docs for `eslint-config-isaacscript`](https://isaacscript.github.io/eslint-config-isaacscript).
|
|
52
|
-
|
|
53
|
-
### Using Prettier & ESLint Together
|
|
54
|
-
|
|
55
|
-
In order to avoid running two different tools, we could use [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) to run Prettier as an ESLint rule. However, doing this [is not recommended by Prettier](https://prettier.io/docs/en/integrating-with-linters.html). Thus, in order to use `isaacscript-lint`, you should be running both Prettier and ESLint on save. (More info on that is below.)
|
|
56
|
-
|
|
57
|
-
<br>
|
|
58
|
-
|
|
59
|
-
## Installation Instructions for TypeScript Projects
|
|
60
|
-
|
|
61
|
-
### Step 0 - Get a TypeScript Project Set Up
|
|
62
|
-
|
|
63
|
-
It should have a `package.json` file, a `tsconfig.json` file, and so on.
|
|
64
|
-
|
|
65
|
-
### Step 1 - Install the Dependency
|
|
66
|
-
|
|
67
|
-
```sh
|
|
68
|
-
# If you use npm:
|
|
69
|
-
npm install isaacscript-lint --save-dev
|
|
70
|
-
|
|
71
|
-
# If you use yarn:
|
|
72
|
-
yarn install isaacscript-lint --dev
|
|
73
|
-
|
|
74
|
-
# If you use pnpm:
|
|
75
|
-
pnpm install isaacscript-lint --save-dev
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
(It should be a development dependency because it is only used to lint your code pre-production.)
|
|
79
|
-
|
|
80
|
-
### Step 2 - `.eslintrc.cjs`
|
|
81
|
-
|
|
82
|
-
Create a `.eslintrc.cjs` file in the root of your repository:
|
|
83
|
-
|
|
84
|
-
```js
|
|
85
|
-
// This is the configuration file for ESLint, the TypeScript linter:
|
|
86
|
-
// https://eslint.org/docs/latest/use/configure/
|
|
87
|
-
module.exports = {
|
|
88
|
-
extends: [
|
|
89
|
-
// The linter base is the shared IsaacScript config:
|
|
90
|
-
// https://github.com/IsaacScript/isaacscript/blob/main/packages/eslint-config-isaacscript/base.js
|
|
91
|
-
"eslint-config-isaacscript/base",
|
|
92
|
-
],
|
|
93
|
-
|
|
94
|
-
parserOptions: {
|
|
95
|
-
// ESLint needs to know about the project's TypeScript settings in order for TypeScript-specific
|
|
96
|
-
// things to lint correctly. We do not point this at "./tsconfig.json" because certain files
|
|
97
|
-
// (such at this file) should be linted but not included in the actual project output.
|
|
98
|
-
project: "./tsconfig.eslint.json",
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
rules: {
|
|
102
|
-
// Insert changed or disabled rules here, if necessary.
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
This file must have a period at the beginning!
|
|
108
|
-
|
|
109
|
-
Note that [the new config format for ESLint that was released in 2023](https://eslint.org/docs/latest/use/configure/configuration-files-new) is not yet recommended for production use.
|
|
110
|
-
|
|
111
|
-
### Step 3 - `tsconfig.eslint.json`
|
|
112
|
-
|
|
113
|
-
Create a `tsconfig.eslint.json` file in the root of your repository:
|
|
114
|
-
|
|
115
|
-
```ts
|
|
116
|
-
// A special TypeScript configuration file, used by ESLint only.
|
|
117
|
-
{
|
|
118
|
-
"extends": "./tsconfig.json",
|
|
119
|
-
|
|
120
|
-
// We want to lint every file in the repository, regardless of whether it is actually bundled into
|
|
121
|
-
// the TypeScript output. Two entries for each file extension are needed because TypeScript will
|
|
122
|
-
// exclude files that begin with a period from an asterisk glob by default.
|
|
123
|
-
"include": [
|
|
124
|
-
"./**/*.js",
|
|
125
|
-
"./**/.*.js",
|
|
126
|
-
"./**/*.cjs",
|
|
127
|
-
"./**/.*.cjs",
|
|
128
|
-
"./**/*.mjs",
|
|
129
|
-
"./**/.*.mjs",
|
|
130
|
-
"./**/*.jsx",
|
|
131
|
-
"./**/.*.jsx",
|
|
132
|
-
"./**/*.ts",
|
|
133
|
-
"./**/.*.ts",
|
|
134
|
-
"./**/*.cts",
|
|
135
|
-
"./**/.*.cts",
|
|
136
|
-
"./**/*.mts",
|
|
137
|
-
"./**/.*.mts",
|
|
138
|
-
"./**/*.tsx",
|
|
139
|
-
"./**/.*.tsx"
|
|
140
|
-
],
|
|
141
|
-
}
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Step 4 - Enabling Auto-Fix on Save
|
|
145
|
-
|
|
146
|
-
- You will probably want to set up your code editor such that both Prettier and ESLint are automatically run every time the file is saved.
|
|
147
|
-
- If you see VSCode, see [the VSCode section below](#integration-with-vscode).
|
|
148
|
-
- It's also possible to set this up in other editors such as [Webstorm](https://www.jetbrains.com/webstorm/) and [Neovim](https://neovim.io/), but we don't provide detailed instructions for that here.
|
|
149
|
-
|
|
150
|
-
<br>
|
|
151
|
-
|
|
152
|
-
## Adding or Removing Rules
|
|
153
|
-
|
|
154
|
-
You can add extra ESLint rules (or ignore existing ESLint rules) by editing the `rules` section of your `.eslintrc.cjs` file. For example:
|
|
155
|
-
|
|
156
|
-
```js
|
|
157
|
-
rules: {
|
|
158
|
-
"@typescript-eslint/no-unused-vars": "off",
|
|
159
|
-
},
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
<br>
|
|
163
|
-
|
|
164
|
-
## Integration with VSCode
|
|
165
|
-
|
|
166
|
-
[Visual Studio Code](https://code.visualstudio.com/), or VSCode for short, is the most popular TypeScript editor / IDE.
|
|
167
|
-
|
|
168
|
-
<br>
|
|
169
|
-
|
|
170
|
-
### Extensions
|
|
171
|
-
|
|
172
|
-
In order for the linter to work inside of VSCode, you will have to install the following extensions:
|
|
173
|
-
|
|
174
|
-
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
|
|
175
|
-
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
|
|
176
|
-
|
|
177
|
-
Additionally, you might also want to install the CSpell extension, which is extremely useful to spell check an entire codebase:
|
|
178
|
-
|
|
179
|
-
- [CSpell](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
|
|
180
|
-
|
|
181
|
-
Once installed, these extensions provide a nice dichotomy:
|
|
182
|
-
|
|
183
|
-
- Red squiggly underlines are type-errors from the TypeScript compiler.
|
|
184
|
-
- Yellow squiggly underlines are warnings from ESLint. (Our config uses `eslint-plugin-only-warn` to convert all ESLint errors to warnings.)
|
|
185
|
-
- Blue squiggly underlines are misspelled words. (You can use "Quick Fix" to find suggestions for the proper spelling. Or, you can right click --> `Spelling` --> `Add Words to CSpell Configuration` to ignore a specific word.)
|
|
186
|
-
|
|
187
|
-
#### `.vscode/settings.json`
|
|
188
|
-
|
|
189
|
-
Furthermore, you will probably want Prettier and ESLint to be run automatically every time you save a TypeScript file. You can tell VSCode to do this by adding the following to your project's `.vscode/settings.json` file:
|
|
190
|
-
|
|
191
|
-
```ts
|
|
192
|
-
// These are Visual Studio Code settings that should apply to this particular repository.
|
|
193
|
-
{
|
|
194
|
-
"[javascript]": {
|
|
195
|
-
"editor.codeActionsOnSave": {
|
|
196
|
-
"source.fixAll.eslint": "explicit",
|
|
197
|
-
},
|
|
198
|
-
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
199
|
-
"editor.formatOnSave": true,
|
|
200
|
-
"editor.tabSize": 2,
|
|
201
|
-
},
|
|
202
|
-
|
|
203
|
-
"[typescript]": {
|
|
204
|
-
"editor.codeActionsOnSave": {
|
|
205
|
-
"source.fixAll.eslint": "explicit",
|
|
206
|
-
},
|
|
207
|
-
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
208
|
-
"editor.formatOnSave": true,
|
|
209
|
-
"editor.tabSize": 2,
|
|
210
|
-
},
|
|
211
|
-
}
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
(Create this file if it does not already exist.)
|
|
215
|
-
|
|
216
|
-
You can also commit this file to your project's repository so that this behavior is automatically inherited by anyone who clones the project (and uses VSCode).
|
|
217
|
-
|
|
218
|
-
#### `.vscode/extensions.json`
|
|
219
|
-
|
|
220
|
-
Optionally, you can also provide a hint to anyone cloning your repository that they should install the required extensions:
|
|
221
|
-
|
|
222
|
-
```ts
|
|
223
|
-
// These are Visual Studio Code extensions that are intended to be used with this particular
|
|
224
|
-
// repository: https://go.microsoft.com/fwlink/?LinkId=827846
|
|
225
|
-
{
|
|
226
|
-
"recommendations": [
|
|
227
|
-
"esbenp.prettier-vscode", // The TypeScript formatter
|
|
228
|
-
"dbaeumer.vscode-eslint", // The TypeScript linter
|
|
229
|
-
"streetsidesoftware.code-spell-checker", // A spell-checker extension based on CSpell
|
|
230
|
-
],
|
|
231
|
-
}
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
<br>
|
|
7
|
+
(By default, IsaacScript mods are automatically configured to use this meta package.)
|
|
235
8
|
|
|
236
9
|
## Package Documentation
|
|
237
10
|
|
|
238
|
-
- [
|
|
239
|
-
- [
|
|
240
|
-
- [
|
|
241
|
-
- [`
|
|
242
|
-
- [`
|
|
243
|
-
- [`eslint`](https://github.com/eslint/eslint) - The main linter engine for JavaScript/TypeScript, as explained above.
|
|
244
|
-
- [`eslint-config-isaacscript`](https://github.com/IsaacScript/isaacscript/tree/main/packages/eslint-config-isaacscript) - Contains the master ESLint configuration.
|
|
245
|
-
- [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier) - Turns off all rules that conflict with Prettier.
|
|
246
|
-
- [`eslint-plugin-deprecation`](https://github.com/gund/eslint-plugin-deprecation) - Provides an ESLint rule that finds deprecated code.
|
|
247
|
-
- [`eslint-plugin-eslint-comments`](https://github.com/mysticatea/eslint-plugin-eslint-comments) - Provides ESLint rules relating to ESLint comments.
|
|
248
|
-
- [`eslint-plugin-import`](https://github.com/benmosher/eslint-plugin-import) - Provides ESLint rules relating to importing and exporting. (Note that this uses the [`eslint-plugin-i`](https://github.com/un-es/eslint-plugin-i) fork under the hood.)
|
|
249
|
-
- [`eslint-plugin-isaacscript`](https://github.com/IsaacScript/isaacscript/tree/main/packages/eslint-plugin-isaacscript) - Provides ESLint rules that format comments and other miscellaneous things.
|
|
250
|
-
- [`eslint-plugin-jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc) - Provides ESLint rules relating to [JSDoc comments](https://en.wikipedia.org/wiki/JSDoc)
|
|
251
|
-
- [`eslint-plugin-n`](https://github.com/eslint-community/eslint-plugin-n) - Provides ESLint rules relating to [Node.js](https://nodejs.org/en). (`eslint-plugin-n` is a fork of [`eslint-plugin-node`](https://github.com/mysticatea/eslint-plugin-node).)
|
|
252
|
-
- [`eslint-plugin-no-autofix`](https://github.com/aladdin-add/eslint-plugin/tree/master) - Provides modified ESLint rules that have the auto-fixer disabled.
|
|
253
|
-
- [`eslint-plugin-only-warn`](https://github.com/bfanger/eslint-plugin-only-warn) - Turns all ESLint errors to warnings.
|
|
254
|
-
- [`eslint-plugin-unicorn`](https://github.com/sindresorhus/eslint-plugin-unicorn) - Provides various miscellaneous ESLint rules.
|
|
255
|
-
- [`knip`](https://github.com/webpro/knip) - A tool to look for unused files, dependencies, and exports.
|
|
256
|
-
- [`prettier`](https://github.com/prettier/prettier) - The main code formatter, as explained above.
|
|
257
|
-
- [`prettier-plugin-organize-imports`](https://github.com/simonhaenisch/prettier-plugin-organize-imports) - A plugin used because Prettier will not organize imports automatically.
|
|
258
|
-
- [`prettier-plugin-packagejson`](https://github.com/matzkoh/prettier-plugin-packagejson) - A plugin used because Prettier will not organize "package.json" files automatically.
|
|
259
|
-
- [`ts-prune`](https://github.com/nadeesha/ts-prune) - A tool to look for unused exports. (This is not needed if you use `knip`.)
|
|
260
|
-
|
|
261
|
-
<br>
|
|
11
|
+
- [`complete-lint`](https://complete-ts.github.io/overview.html) - A meta-package to install all of the necessary ESLint and Prettier dependencies.
|
|
12
|
+
- [`isaacscript-spell](https://github.com/IsaacScript/isaacscript/tree/main/packages/isaacscript-spell) - A collection of CSpell dictionaries for IsaacScript mods.
|
|
13
|
+
- [`isaacscript-tsconfig`](https://github.com/IsaacScript/isaacscript/tree/main/packages/isaacscript-tsconfig) - A TypeScript configuration file for IsaacScript mods.
|
|
14
|
+
- [`eslint-import-resolver-typescript`](https://github.com/import-js/eslint-import-resolver-typescript) - Necessary for `eslint-plugin-import-x` to work properly, which is part of `eslint-config-complete`. (Even though it is a direct dependency of `eslint-config-complete`, it does not work properly when it is a nested transitive dependency, so it must explicitly be in this package.)
|
|
15
|
+
- [`ts-prune`](https://github.com/nadeesha/ts-prune) - A tool to look for unused exports.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "isaacscript-lint",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.1",
|
|
4
4
|
"description": "A linting dependency meta-package for IsaacScript and TypeScript projects.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"isaacscript",
|
|
@@ -26,27 +26,11 @@
|
|
|
26
26
|
"README.md"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"eslint": "^8.56.0",
|
|
35
|
-
"eslint-config-isaacscript": "^4.20.0",
|
|
36
|
-
"eslint-config-prettier": "^9.1.0",
|
|
37
|
-
"eslint-plugin-deprecation": "^2.0.0",
|
|
38
|
-
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
39
|
-
"eslint-plugin-import": "npm:eslint-plugin-i@latest",
|
|
40
|
-
"eslint-plugin-isaacscript": "^3.12.2",
|
|
41
|
-
"eslint-plugin-jsdoc": "^48.0.6",
|
|
42
|
-
"eslint-plugin-n": "^16.6.2",
|
|
43
|
-
"eslint-plugin-no-autofix": "^1.2.3",
|
|
44
|
-
"eslint-plugin-only-warn": "^1.1.0",
|
|
45
|
-
"eslint-plugin-unicorn": "^51.0.1",
|
|
46
|
-
"knip": "^4.6.0",
|
|
47
|
-
"prettier": "^3.2.5",
|
|
48
|
-
"prettier-plugin-organize-imports": "^3.2.4",
|
|
49
|
-
"prettier-plugin-packagejson": "^2.4.10",
|
|
29
|
+
"complete-lint": "^1.7.1",
|
|
30
|
+
"eslint-config-isaacscript": "^5.0.1",
|
|
31
|
+
"eslint-import-resolver-typescript": "^3.6.3",
|
|
32
|
+
"isaacscript-spell": "^1.15.1",
|
|
33
|
+
"isaacscript-tsconfig": "^7.0.0",
|
|
50
34
|
"ts-prune-2": "^0.10.7"
|
|
51
35
|
},
|
|
52
36
|
"peerDependencies": {
|