Skip to content

Commit d5b2250

Browse files
committed
Enable TypeScript ESLint type-aware linting with defineConfig
1 parent 2d76b88 commit d5b2250

5 files changed

Lines changed: 191 additions & 12 deletions

File tree

eslint.config.mjs

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import { defineConfig } from 'eslint/config';
12
import js from '@eslint/js';
3+
import tseslint from 'typescript-eslint';
24
import tsParser from '@typescript-eslint/parser';
3-
import tsPlugin from '@typescript-eslint/eslint-plugin';
45
import babelPlugin from '@babel/eslint-plugin';
56
import reactPlugin from 'eslint-plugin-react';
67
import importPlugin from 'eslint-plugin-import';
@@ -11,7 +12,7 @@ import jestDomPlugin from 'eslint-plugin-jest-dom';
1112
import prettierConfig from 'eslint-config-prettier';
1213
import globals from 'globals';
1314

14-
export default [
15+
export default defineConfig(
1516
// Global ignores
1617
{
1718
ignores: [
@@ -27,8 +28,8 @@ export default [
2728
// Base JavaScript config
2829
js.configs.recommended,
2930

30-
// TypeScript config
31-
...tsPlugin.configs['flat/recommended'],
31+
// TypeScript config with type checking
32+
...tseslint.configs.recommendedTypeChecked,
3233

3334
// React config
3435
reactPlugin.configs.flat.recommended,
@@ -50,6 +51,7 @@ export default [
5051
ecmaFeatures: {
5152
jsx: true,
5253
},
54+
// Note: projectService is configured per file type below
5355
},
5456
},
5557
plugins: {
@@ -178,6 +180,32 @@ export default [
178180
},
179181
],
180182
'@typescript-eslint/no-require-imports': 'off',
183+
184+
// Disable "no-unsafe" checks which complain about using "any" freely.
185+
'@typescript-eslint/no-unsafe-member-access': 'off',
186+
'@typescript-eslint/no-unsafe-assignment': 'off',
187+
'@typescript-eslint/no-unsafe-call': 'off',
188+
'@typescript-eslint/no-unsafe-argument': 'off',
189+
'@typescript-eslint/no-unsafe-return': 'off',
190+
191+
// Disable this one due to false positives when narrowing return types,
192+
// see https://github.com/typescript-eslint/typescript-eslint/issues/6951
193+
// (it can make `yarn ts` fail after `yarn lint-fix`)
194+
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
195+
196+
// Consider enabling these in the future
197+
'@typescript-eslint/unbound-method': 'off',
198+
'@typescript-eslint/only-throw-error': 'off',
199+
'@typescript-eslint/no-floating-promises': 'off',
200+
'@typescript-eslint/require-await': 'off',
201+
'@typescript-eslint/no-redundant-type-constituents': 'off',
202+
'@typescript-eslint/no-misused-promises': 'off',
203+
'@typescript-eslint/await-thenable': 'off',
204+
'@typescript-eslint/restrict-plus-operands': 'off',
205+
'@typescript-eslint/no-base-to-string': 'off',
206+
'@typescript-eslint/restrict-template-expressions': 'off',
207+
'@typescript-eslint/prefer-promise-reject-errors': 'off',
208+
'@typescript-eslint/no-array-delete': 'off',
181209
},
182210
linterOptions: {
183211
// This property is specified both here in addition to the command line in
@@ -189,6 +217,23 @@ export default [
189217
},
190218
},
191219

220+
// TypeScript files - enable type checking
221+
{
222+
files: ['**/*.ts', '**/*.tsx'],
223+
languageOptions: {
224+
parserOptions: {
225+
projectService: true,
226+
tsconfigRootDir: import.meta.dirname,
227+
},
228+
},
229+
},
230+
231+
// JavaScript files - disable type-aware rules (they can't run on JS anyway)
232+
{
233+
files: ['**/*.js', '**/*.mjs', '**/*.cjs'],
234+
...tseslint.configs.disableTypeChecked,
235+
},
236+
192237
// Source files - enable stricter TypeScript rules
193238
{
194239
files: ['src/**/*.ts', 'src/**/*.tsx'],
@@ -255,7 +300,7 @@ export default [
255300
},
256301
},
257302

258-
// __mocks__ directory configuration
303+
// __mocks__ directory configuration - globals
259304
{
260305
files: ['__mocks__/**/*'],
261306
languageOptions: {
@@ -266,5 +311,5 @@ export default [
266311
},
267312

268313
// Prettier config (must be last to override other formatting rules)
269-
prettierConfig,
270-
];
314+
prettierConfig
315+
);

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
"stylelint-config-idiomatic-order": "^10.0.0",
185185
"stylelint-config-standard": "^39.0.0",
186186
"typescript": "^5.8.3",
187+
"typescript-eslint": "^8.44.0",
187188
"webpack": "^5.101.3",
188189
"webpack-cli": "^6.0.1",
189190
"webpack-dev-server": "^5.2.2",

src/app-logic/web-channel.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ export type ResponseFromBrowser =
9696
| GetSymbolTableResponse
9797
| QuerySymbolicationApiResponse
9898
| GetPageFaviconsResponse
99+
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
99100
| OpenScriptInTabDebuggerResponse;
100101

101102
type StatusQueryResponse = {

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@
3838
// React & JSX
3939
"jsx": "react-jsx"
4040
},
41-
"include": ["src/**/*.ts", "src/**/*.tsx"],
41+
"include": ["src/**/*.ts", "src/**/*.tsx", "__mocks__/**/*.ts"],
4242
"exclude": ["node_modules", "dist"]
4343
}

yarn.lock

Lines changed: 136 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2492,6 +2492,21 @@
24922492
dependencies:
24932493
"@types/yargs-parser" "*"
24942494

2495+
"@typescript-eslint/eslint-plugin@8.44.0":
2496+
version "8.44.0"
2497+
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.44.0.tgz#d72bf8b2d3052afee919ba38f38c57138eee0396"
2498+
integrity sha512-EGDAOGX+uwwekcS0iyxVDmRV9HX6FLSM5kzrAToLTsr9OWCIKG/y3lQheCq18yZ5Xh78rRKJiEpP0ZaCs4ryOQ==
2499+
dependencies:
2500+
"@eslint-community/regexpp" "^4.10.0"
2501+
"@typescript-eslint/scope-manager" "8.44.0"
2502+
"@typescript-eslint/type-utils" "8.44.0"
2503+
"@typescript-eslint/utils" "8.44.0"
2504+
"@typescript-eslint/visitor-keys" "8.44.0"
2505+
graphemer "^1.4.0"
2506+
ignore "^7.0.0"
2507+
natural-compare "^1.4.0"
2508+
ts-api-utils "^2.1.0"
2509+
24952510
"@typescript-eslint/eslint-plugin@^8.41.0":
24962511
version "8.41.0"
24972512
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.41.0.tgz#42209e2ce3e2274de0f5f9b75c777deedacaa558"
@@ -2507,6 +2522,17 @@
25072522
natural-compare "^1.4.0"
25082523
ts-api-utils "^2.1.0"
25092524

2525+
"@typescript-eslint/parser@8.44.0":
2526+
version "8.44.0"
2527+
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.44.0.tgz#0436fbe0a72f86d3366d2d157d480524b0ab3f26"
2528+
integrity sha512-VGMpFQGUQWYT9LfnPcX8ouFojyrZ/2w3K5BucvxL/spdNehccKhB4jUyB1yBCXpr2XFm0jkECxgrpXBW2ipoAw==
2529+
dependencies:
2530+
"@typescript-eslint/scope-manager" "8.44.0"
2531+
"@typescript-eslint/types" "8.44.0"
2532+
"@typescript-eslint/typescript-estree" "8.44.0"
2533+
"@typescript-eslint/visitor-keys" "8.44.0"
2534+
debug "^4.3.4"
2535+
25102536
"@typescript-eslint/parser@^8.41.0":
25112537
version "8.41.0"
25122538
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.41.0.tgz#677f5b2b3fa947ee1eac4129220c051b1990d898"
@@ -2527,6 +2553,15 @@
25272553
"@typescript-eslint/types" "^8.41.0"
25282554
debug "^4.3.4"
25292555

2556+
"@typescript-eslint/project-service@8.44.0":
2557+
version "8.44.0"
2558+
resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.44.0.tgz#89060651dcecde946e758441fe94dceb6f769a29"
2559+
integrity sha512-ZeaGNraRsq10GuEohKTo4295Z/SuGcSq2LzfGlqiuEvfArzo/VRrT0ZaJsVPuKZ55lVbNk8U6FcL+ZMH8CoyVA==
2560+
dependencies:
2561+
"@typescript-eslint/tsconfig-utils" "^8.44.0"
2562+
"@typescript-eslint/types" "^8.44.0"
2563+
debug "^4.3.4"
2564+
25302565
"@typescript-eslint/scope-manager@8.41.0", "@typescript-eslint/scope-manager@^8.15.0":
25312566
version "8.41.0"
25322567
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz#c8aba12129cb9cead1f1727f58e6a0fcebeecdb5"
@@ -2535,11 +2570,24 @@
25352570
"@typescript-eslint/types" "8.41.0"
25362571
"@typescript-eslint/visitor-keys" "8.41.0"
25372572

2573+
"@typescript-eslint/scope-manager@8.44.0":
2574+
version "8.44.0"
2575+
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.44.0.tgz#c37f1e786fd0e5b40607985c769a61c24c761c26"
2576+
integrity sha512-87Jv3E+al8wpD+rIdVJm/ItDBe/Im09zXIjFoipOjr5gHUhJmTzfFLuTJ/nPTMc2Srsroy4IBXwcTCHyRR7KzA==
2577+
dependencies:
2578+
"@typescript-eslint/types" "8.44.0"
2579+
"@typescript-eslint/visitor-keys" "8.44.0"
2580+
25382581
"@typescript-eslint/tsconfig-utils@8.41.0", "@typescript-eslint/tsconfig-utils@^8.41.0":
25392582
version "8.41.0"
25402583
resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.41.0.tgz#134dee36eb16cdd78095a20bca0516d10b5dda75"
25412584
integrity sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==
25422585

2586+
"@typescript-eslint/tsconfig-utils@8.44.0", "@typescript-eslint/tsconfig-utils@^8.44.0":
2587+
version "8.44.0"
2588+
resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.44.0.tgz#8c0601372bf889f0663a08df001ad666442aa3a8"
2589+
integrity sha512-x5Y0+AuEPqAInc6yd0n5DAcvtoQ/vyaGwuX5HE9n6qAefk1GaedqrLQF8kQGylLUb9pnZyLf+iEiL9fr8APDtQ==
2590+
25432591
"@typescript-eslint/type-utils@8.41.0":
25442592
version "8.41.0"
25452593
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.41.0.tgz#68d401e38fccf239925447e97bdbd048a9891ae5"
@@ -2551,11 +2599,27 @@
25512599
debug "^4.3.4"
25522600
ts-api-utils "^2.1.0"
25532601

2602+
"@typescript-eslint/type-utils@8.44.0":
2603+
version "8.44.0"
2604+
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.44.0.tgz#5b875f8a961d15bb47df787cbfde50baea312613"
2605+
integrity sha512-9cwsoSxJ8Sak67Be/hD2RNt/fsqmWnNE1iHohG8lxqLSNY8xNfyY7wloo5zpW3Nu9hxVgURevqfcH6vvKCt6yg==
2606+
dependencies:
2607+
"@typescript-eslint/types" "8.44.0"
2608+
"@typescript-eslint/typescript-estree" "8.44.0"
2609+
"@typescript-eslint/utils" "8.44.0"
2610+
debug "^4.3.4"
2611+
ts-api-utils "^2.1.0"
2612+
25542613
"@typescript-eslint/types@8.41.0", "@typescript-eslint/types@^8.41.0":
25552614
version "8.41.0"
25562615
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.41.0.tgz#9935afeaae65e535abcbcee95383fa649c64d16d"
25572616
integrity sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==
25582617

2618+
"@typescript-eslint/types@8.44.0", "@typescript-eslint/types@^8.44.0":
2619+
version "8.44.0"
2620+
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.44.0.tgz#4b9154ab164a0beff22d3217ff0fdc8d10bce924"
2621+
integrity sha512-ZSl2efn44VsYM0MfDQe68RKzBz75NPgLQXuGypmym6QVOWL5kegTZuZ02xRAT9T+onqvM6T8CdQk0OwYMB6ZvA==
2622+
25592623
"@typescript-eslint/typescript-estree@8.41.0":
25602624
version "8.41.0"
25612625
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz#7c9cff8b4334ce96f14e9689692e8cf426ce4d59"
@@ -2572,6 +2636,22 @@
25722636
semver "^7.6.0"
25732637
ts-api-utils "^2.1.0"
25742638

2639+
"@typescript-eslint/typescript-estree@8.44.0":
2640+
version "8.44.0"
2641+
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.44.0.tgz#e23e9946c466cf5f53b7e46ecdd9789fd8192daa"
2642+
integrity sha512-lqNj6SgnGcQZwL4/SBJ3xdPEfcBuhCG8zdcwCPgYcmiPLgokiNDKlbPzCwEwu7m279J/lBYWtDYL+87OEfn8Jw==
2643+
dependencies:
2644+
"@typescript-eslint/project-service" "8.44.0"
2645+
"@typescript-eslint/tsconfig-utils" "8.44.0"
2646+
"@typescript-eslint/types" "8.44.0"
2647+
"@typescript-eslint/visitor-keys" "8.44.0"
2648+
debug "^4.3.4"
2649+
fast-glob "^3.3.2"
2650+
is-glob "^4.0.3"
2651+
minimatch "^9.0.4"
2652+
semver "^7.6.0"
2653+
ts-api-utils "^2.1.0"
2654+
25752655
"@typescript-eslint/utils@8.41.0", "@typescript-eslint/utils@^8.0.0", "@typescript-eslint/utils@^8.15.0":
25762656
version "8.41.0"
25772657
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.41.0.tgz#17cb3b766c1626311004ea41ffd8c27eb226b953"
@@ -2582,6 +2662,16 @@
25822662
"@typescript-eslint/types" "8.41.0"
25832663
"@typescript-eslint/typescript-estree" "8.41.0"
25842664

2665+
"@typescript-eslint/utils@8.44.0":
2666+
version "8.44.0"
2667+
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.44.0.tgz#2c0650a1e8a832ed15658e7ca3c7bd2818d92c7c"
2668+
integrity sha512-nktOlVcg3ALo0mYlV+L7sWUD58KG4CMj1rb2HUVOO4aL3K/6wcD+NERqd0rrA5Vg06b42YhF6cFxeixsp9Riqg==
2669+
dependencies:
2670+
"@eslint-community/eslint-utils" "^4.7.0"
2671+
"@typescript-eslint/scope-manager" "8.44.0"
2672+
"@typescript-eslint/types" "8.44.0"
2673+
"@typescript-eslint/typescript-estree" "8.44.0"
2674+
25852675
"@typescript-eslint/visitor-keys@8.41.0":
25862676
version "8.41.0"
25872677
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz#16eb99b55d207f6688002a2cf425e039579aa9a9"
@@ -2590,6 +2680,14 @@
25902680
"@typescript-eslint/types" "8.41.0"
25912681
eslint-visitor-keys "^4.2.1"
25922682

2683+
"@typescript-eslint/visitor-keys@8.44.0":
2684+
version "8.44.0"
2685+
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.44.0.tgz#0d9d5647e005c2ff8acc391d1208ab37d08850aa"
2686+
integrity sha512-zaz9u8EJ4GBmnehlrpoKvj/E3dNbuQ7q0ucyZImm3cLqJ8INTc970B1qEqDX/Rzq65r3TvVTN7kHWPBoyW7DWw==
2687+
dependencies:
2688+
"@typescript-eslint/types" "8.44.0"
2689+
eslint-visitor-keys "^4.2.1"
2690+
25932691
"@ungap/structured-clone@^1.3.0":
25942692
version "1.3.0"
25952693
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8"
@@ -11304,7 +11402,16 @@ string-length@^4.0.2:
1130411402
char-regex "^1.0.2"
1130511403
strip-ansi "^6.0.0"
1130611404

11307-
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
11405+
"string-width-cjs@npm:string-width@^4.2.0":
11406+
version "4.2.3"
11407+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
11408+
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
11409+
dependencies:
11410+
emoji-regex "^8.0.0"
11411+
is-fullwidth-code-point "^3.0.0"
11412+
strip-ansi "^6.0.1"
11413+
11414+
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
1130811415
version "4.2.3"
1130911416
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1131011417
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -11426,7 +11533,7 @@ stringify-object@^3.3.0:
1142611533
is-obj "^1.0.1"
1142711534
is-regexp "^1.0.0"
1142811535

11429-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
11536+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
1143011537
version "6.0.1"
1143111538
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1143211539
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -11440,6 +11547,13 @@ strip-ansi@^0.3.0:
1144011547
dependencies:
1144111548
ansi-regex "^0.2.1"
1144211549

11550+
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
11551+
version "6.0.1"
11552+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
11553+
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
11554+
dependencies:
11555+
ansi-regex "^5.0.1"
11556+
1144311557
strip-ansi@^7.0.1, strip-ansi@^7.1.0:
1144411558
version "7.1.0"
1144511559
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@@ -12011,6 +12125,16 @@ typedarray@^0.0.6:
1201112125
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
1201212126
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
1201312127

12128+
typescript-eslint@^8.44.0:
12129+
version "8.44.0"
12130+
resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.44.0.tgz#5f052fa52af2420fdc488ab4cabd823f4f8594c8"
12131+
integrity sha512-ib7mCkYuIzYonCq9XWF5XNw+fkj2zg629PSa9KNIQ47RXFF763S5BIX4wqz1+FLPogTZoiw8KmCiRPRa8bL3qw==
12132+
dependencies:
12133+
"@typescript-eslint/eslint-plugin" "8.44.0"
12134+
"@typescript-eslint/parser" "8.44.0"
12135+
"@typescript-eslint/typescript-estree" "8.44.0"
12136+
"@typescript-eslint/utils" "8.44.0"
12137+
1201412138
typescript@^5.8.3:
1201512139
version "5.9.2"
1201612140
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6"
@@ -12955,8 +13079,16 @@ workbox-window@7.3.0, workbox-window@^7.3.0:
1295513079
"@types/trusted-types" "^2.0.2"
1295613080
workbox-core "7.3.0"
1295713081

12958-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
12959-
name wrap-ansi-cjs
13082+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
13083+
version "7.0.0"
13084+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
13085+
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
13086+
dependencies:
13087+
ansi-styles "^4.0.0"
13088+
string-width "^4.1.0"
13089+
strip-ansi "^6.0.0"
13090+
13091+
wrap-ansi@^7.0.0:
1296013092
version "7.0.0"
1296113093
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1296213094
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==

0 commit comments

Comments
 (0)