diff --git a/.github/workflows/ci_main.yml b/.github/workflows/ci_main.yml index 8c72a73ee3..a32d72dcba 100644 --- a/.github/workflows/ci_main.yml +++ b/.github/workflows/ci_main.yml @@ -30,8 +30,6 @@ jobs: run: yarn workspace rxjs build - name: rxjs test run: yarn workspace rxjs test - - name: rxjs dtslint - run: yarn workspace rxjs dtslint - name: rxjs test:import run: yarn workspace rxjs test:import - name: rxjs test:esm diff --git a/package.json b/package.json index 33768bbe67..359a85a621 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "dependencies": {}, "devDependencies": { "@nx/js": "17.3.0-beta.4", - "nx": "17.3.0-beta.4" + "nx": "17.3.0-beta.4", + "typescript": "~4.9.4" } } diff --git a/packages/rxjs/package.json b/packages/rxjs/package.json index e4ad0b49dd..80ade3240a 100644 --- a/packages/rxjs/package.json +++ b/packages/rxjs/package.json @@ -74,7 +74,6 @@ "scripts": { "changelog": "npx conventional-changelog-cli -p angular -i CHANGELOG.md -s", "lint": "eslint --ext=ts,js src spec spec-dtslint", - "dtslint": "npm run lint && tsc -b ./src/tsconfig.types.json", "test": "yarn build && cross-env TS_NODE_PROJECT=tsconfig.mocha.json mocha --config spec/support/.mocharc.js \"spec/**/*-spec.ts\"", "test:esm": "node spec/module-test-spec.mjs", "test:circular": "dependency-cruiser --validate .dependency-cruiser.json -x \"^node_modules\" dist/esm", @@ -83,7 +82,6 @@ "build:clean": "shx rm -rf ./dist", "build": "yarn build:clean && yarn compile && node ./tools/generate-alias.js", "watch": "nodemon -w \"src/\" -w \"spec/\" -e ts -x npm test", - "watch:dtslint": "nodemon -w \"src/\" -w \"spec-dtslint/\" -e ts -x yarn dtslint", "copy_common_package_files": "node ../../scripts/copy-common-package-files.js" }, "repository": { @@ -143,8 +141,8 @@ "@types/shelljs": "^0.8.8", "@types/sinon": "^10.0.13", "@types/sinon-chai": "^3.2.9", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", + "@typescript-eslint/eslint-plugin": "^6.16.0", + "@typescript-eslint/parser": "^6.16.0", "chai": "^4.3.7", "color": "3.0.0", "colors": "1.1.2", @@ -152,6 +150,7 @@ "cz-conventional-changelog": "1.2.0", "dependency-cruiser": "^9.12.0", "eslint": "^8.52.0", + "eslint-plugin-expect-type": "^0.3.0", "form-data": "^3.0.0", "fs-extra": "^8.1.0", "husky": "^4.2.5", diff --git a/packages/rxjs/spec-dtslint/.eslintrc.json b/packages/rxjs/spec-dtslint/.eslintrc.json new file mode 100644 index 0000000000..a4ef81bf8c --- /dev/null +++ b/packages/rxjs/spec-dtslint/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "extends": [ + "plugin:expect-type/recommended" + ], + "plugins": [ + "expect-type" + ] +} diff --git a/packages/rxjs/spec-dtslint/firstValueFrom-spec.ts b/packages/rxjs/spec-dtslint/firstValueFrom-spec.ts index f709e15594..a8c6211591 100644 --- a/packages/rxjs/spec-dtslint/firstValueFrom-spec.ts +++ b/packages/rxjs/spec-dtslint/firstValueFrom-spec.ts @@ -1,5 +1,5 @@ import { firstValueFrom } from 'rxjs'; -import { a$ } from 'helpers'; +import { a$ } from './helpers'; describe('firstValueFrom', () => { it('should infer the element type', () => { diff --git a/packages/rxjs/spec-dtslint/lastValueFrom-spec.ts b/packages/rxjs/spec-dtslint/lastValueFrom-spec.ts index 5c8450a857..356785377f 100644 --- a/packages/rxjs/spec-dtslint/lastValueFrom-spec.ts +++ b/packages/rxjs/spec-dtslint/lastValueFrom-spec.ts @@ -1,5 +1,5 @@ import { lastValueFrom } from 'rxjs'; -import { a$ } from 'helpers'; +import { a$ } from './helpers'; describe('lastValueFrom', () => { it('should infer the element type', () => { diff --git a/packages/rxjs/spec-dtslint/observables/forkJoin-spec.ts b/packages/rxjs/spec-dtslint/observables/forkJoin-spec.ts index 6d2f2e0f9d..eb487222a1 100644 --- a/packages/rxjs/spec-dtslint/observables/forkJoin-spec.ts +++ b/packages/rxjs/spec-dtslint/observables/forkJoin-spec.ts @@ -1,4 +1,4 @@ -import { a$, b$, c$ } from 'helpers'; +import { a$, b$, c$ } from '../helpers'; import { of, forkJoin } from 'rxjs'; describe('deprecated rest args', () => { diff --git a/packages/rxjs/spec-dtslint/observables/iif-spec.ts b/packages/rxjs/spec-dtslint/observables/iif-spec.ts index 8fbf38fff0..ca1f044269 100644 --- a/packages/rxjs/spec-dtslint/observables/iif-spec.ts +++ b/packages/rxjs/spec-dtslint/observables/iif-spec.ts @@ -1,4 +1,4 @@ -import { a$, b$ } from 'helpers'; +import { a$, b$ } from '../helpers'; import { iif, EMPTY } from 'rxjs'; const randomBoolean = () => Math.random() > 0.5; @@ -31,4 +31,4 @@ it('should support inference from a predicate that returns any', () => { } const o$ = iif(alwaysTrueButReturnsAny, a$, b$) // $ExpectType Observable -}); \ No newline at end of file +}); diff --git a/packages/rxjs/spec-dtslint/operators/concatWith-spec.ts b/packages/rxjs/spec-dtslint/operators/concatWith-spec.ts index a7e113e2af..bc0bccdc4b 100644 --- a/packages/rxjs/spec-dtslint/operators/concatWith-spec.ts +++ b/packages/rxjs/spec-dtslint/operators/concatWith-spec.ts @@ -1,6 +1,6 @@ import { of } from 'rxjs'; import { concatWith } from 'rxjs/operators'; -import { a$, b$, c$, d$, e$ } from 'helpers'; +import { a$, b$, c$, d$, e$ } from '../helpers'; it('should support rest params', () => { const arr = [b$, c$]; diff --git a/packages/rxjs/spec-dtslint/operators/every-spec.ts b/packages/rxjs/spec-dtslint/operators/every-spec.ts index 87c2e556af..04d07198a7 100644 --- a/packages/rxjs/spec-dtslint/operators/every-spec.ts +++ b/packages/rxjs/spec-dtslint/operators/every-spec.ts @@ -45,18 +45,3 @@ it('should handle the Boolean constructor', () => { const d = of(NaN, NaN, NaN).pipe(every(Boolean)); // $ExpectType Observable const e = of(0, 1, 0).pipe(every(Boolean)); // $ExpectType Observable }) - -it('should support this', () => { - const thisArg = { limit: 5 }; - const a = of(1, 2, 3).pipe(every(function (val) { - const limit = this.limit; // $ExpectType number - return val < limit; - }, thisArg)); -}); - -it('should deprecate thisArg usage', () => { - const a = of(1, 2, 3).pipe(every(Boolean)); // $ExpectNoDeprecation - const b = of(1, 2, 3).pipe(every(Boolean, {})); // $ExpectDeprecation - const c = of(1, 2, 3).pipe(every((value) => Boolean(value))); // $ExpectNoDeprecation - const d = of(1, 2, 3).pipe(every((value) => Boolean(value), {})); // $ExpectDeprecation -}); \ No newline at end of file diff --git a/packages/rxjs/spec-dtslint/operators/expand-spec.ts b/packages/rxjs/spec-dtslint/operators/expand-spec.ts index edba34e0a0..c117bea5f1 100644 --- a/packages/rxjs/spec-dtslint/operators/expand-spec.ts +++ b/packages/rxjs/spec-dtslint/operators/expand-spec.ts @@ -1,51 +1,47 @@ -import { of, asyncScheduler } from 'rxjs'; -import { expand } from 'rxjs/operators'; - -it('should infer correctly', () => { - const o = of(1, 2, 3).pipe(expand(value => of(value))); // $ExpectType Observable - const p = of(1, 2, 3).pipe(expand(value => [value])); // $ExpectType Observable - const q = of(1, 2, 3).pipe(expand(value => Promise.resolve(value))); // $ExpectType Observable -}); - -it('should infer correctly with a different type as the source', () => { - const o = of(1, 2, 3).pipe(expand(value => of('foo'))); // $ExpectType Observable - const p = of(1, 2, 3).pipe(expand(value => ['foo'])); // $ExpectType Observable - const q = of(1, 2, 3).pipe(expand(value => Promise.resolve('foo'))); // $ExpectType Observable -}); - -it('should support a project function with index', () => { - const o = of(1, 2, 3).pipe(expand((value, index) => of(index))); // $ExpectType Observable -}); - -it('should support concurrent parameter', () => { - const o = of(1, 2, 3).pipe(expand(value => of(1), 47)); // $ExpectType Observable -}); - -it('should support a scheduler', () => { - const o = of(1, 2, 3).pipe(expand(value => of(1), 47, asyncScheduler)); // $ExpectType Observable -}); - -it('should enforce types', () => { - const o = of(1, 2, 3).pipe(expand()); // $ExpectError -}); - -it('should enforce project types', () => { - const o = of(1, 2, 3).pipe(expand((value: string, index) => of(1))); // $ExpectError - const p = of(1, 2, 3).pipe(expand((value, index: string) => of(1))); // $ExpectError -}); - -it('should enforce project return type', () => { - const o = of(1, 2, 3).pipe(expand(value => 1)); // $ExpectError -}); - -it('should enforce concurrent type', () => { - const o = of(1, 2, 3).pipe(expand(value => of(1), 'foo')); // $ExpectError -}); - -it('should enforce scheduler type', () => { - const o = of(1, 2, 3).pipe(expand(value => of(1), 47, 'foo')); // $ExpectError -}); - -it('should support union types', () => { - const o = of(1).pipe(expand(x => typeof x === 'string' ? of(123) : of('test'))); // $ExpectType Observable -}); +import { of, asyncScheduler } from 'rxjs'; +import { expand } from 'rxjs/operators'; + +it('should infer correctly', () => { + const o = of(1, 2, 3).pipe(expand(value => of(value))); // $ExpectType Observable + const p = of(1, 2, 3).pipe(expand(value => [value])); // $ExpectType Observable + const q = of(1, 2, 3).pipe(expand(value => Promise.resolve(value))); // $ExpectType Observable +}); + +it('should infer correctly with a different type as the source', () => { + const o = of(1, 2, 3).pipe(expand(value => of('foo'))); // $ExpectType Observable + const p = of(1, 2, 3).pipe(expand(value => ['foo'])); // $ExpectType Observable + const q = of(1, 2, 3).pipe(expand(value => Promise.resolve('foo'))); // $ExpectType Observable +}); + +it('should support a project function with index', () => { + const o = of(1, 2, 3).pipe(expand((value, index) => of(index))); // $ExpectType Observable +}); + +it('should support concurrent parameter', () => { + const o = of(1, 2, 3).pipe(expand(value => of(1), 47)); // $ExpectType Observable +}); + +it('should enforce types', () => { + const o = of(1, 2, 3).pipe(expand()); // $ExpectError +}); + +it('should enforce project types', () => { + const o = of(1, 2, 3).pipe(expand((value: string, index) => of(1))); // $ExpectError + const p = of(1, 2, 3).pipe(expand((value, index: string) => of(1))); // $ExpectError +}); + +it('should enforce project return type', () => { + const o = of(1, 2, 3).pipe(expand(value => 1)); // $ExpectError +}); + +it('should enforce concurrent type', () => { + const o = of(1, 2, 3).pipe(expand(value => of(1), 'foo')); // $ExpectError +}); + +it('should enforce scheduler type', () => { + const o = of(1, 2, 3).pipe(expand(value => of(1), 47, 'foo')); // $ExpectError +}); + +it('should support union types', () => { + const o = of(1).pipe(expand(x => typeof x === 'string' ? of(123) : of('test'))); // $ExpectType Observable +}); diff --git a/packages/rxjs/src/internal/operators/every.ts b/packages/rxjs/src/internal/operators/every.ts index 311c215097..c41b05c5b4 100644 --- a/packages/rxjs/src/internal/operators/every.ts +++ b/packages/rxjs/src/internal/operators/every.ts @@ -25,7 +25,6 @@ export function every(predicate: (value: T, index: number) => boolean): Opera * ``` * * @param predicate A function for determining if an item meets a specified condition. - * @param thisArg Optional object to use for `this` in the callback. * @return A function that returns an Observable of booleans that determines if * all items of the source Observable meet the condition specified. */ diff --git a/packages/rxjs/src/internal/operators/expand.ts b/packages/rxjs/src/internal/operators/expand.ts index c3ec404f5e..03f214514e 100644 --- a/packages/rxjs/src/internal/operators/expand.ts +++ b/packages/rxjs/src/internal/operators/expand.ts @@ -50,8 +50,6 @@ export function expand>( * or the output Observable, returns an Observable. * @param concurrent Maximum number of input Observables being subscribed to * concurrently. - * @param scheduler The {@link SchedulerLike} to use for subscribing to - * each projected inner Observable. * @return A function that returns an Observable that emits the source values * and also result of applying the projection function to each value emitted on * the output Observable and merging the results of the Observables obtained diff --git a/yarn.lock b/yarn.lock index 4ad14a5137..d066393e4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -422,7 +422,17 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.16.0", "@babel/generator@^7.23.5": +"@babel/generator@^7.16.0", "@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/generator@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755" integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== @@ -453,7 +463,18 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6": +"@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== @@ -631,7 +652,16 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.16.0", "@babel/helpers@^7.23.5": +"@babel/helpers@^7.16.0": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" + integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" + +"@babel/helpers@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.5.tgz#52f522840df8f1a848d06ea6a79b79eefa72401e" integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== @@ -649,11 +679,16 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.5": +"@babel/parser@^7.14.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== +"@babel/parser@^7.16.0", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" @@ -1115,7 +1150,15 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-for-of@^7.16.0", "@babel/plugin-transform-for-of@^7.23.3": +"@babel/plugin-transform-for-of@^7.16.0": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-for-of@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz#afe115ff0fbce735e02868d41489093c63e15559" integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw== @@ -1684,7 +1727,32 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.16.0", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5", "@babel/types@^7.4.4": +"@babel/traverse@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" + integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.16.0", "@babel/types@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5", "@babel/types@^7.4.4": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602" integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== @@ -2947,16 +3015,16 @@ resolved "https://registry.yarnpkg.com/@types/yamljs/-/yamljs-0.2.34.tgz#c10b1f31b173f2cc93342f27b0796c2eb5b3ae84" integrity sha512-gJvfRlv9ErxdOv7ux7UsJVePtX54NAvQyd8ncoiFqK8G5aeHIfQfGH2fbruvjAQ9657HwAaO54waS+Dsk2QTUQ== -"@typescript-eslint/eslint-plugin@^6.9.0": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.1.tgz#f98bd887bf95551203c917e734d113bf8d527a0c" - integrity sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA== +"@typescript-eslint/eslint-plugin@^6.16.0", "@typescript-eslint/eslint-plugin@^6.9.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz#cc29fbd208ea976de3db7feb07755bba0ce8d8bc" + integrity sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.13.1" - "@typescript-eslint/type-utils" "6.13.1" - "@typescript-eslint/utils" "6.13.1" - "@typescript-eslint/visitor-keys" "6.13.1" + "@typescript-eslint/scope-manager" "6.16.0" + "@typescript-eslint/type-utils" "6.16.0" + "@typescript-eslint/utils" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -2971,15 +3039,15 @@ dependencies: "@typescript-eslint/utils" "5.27.1" -"@typescript-eslint/parser@^6.9.0": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.13.1.tgz#29d6d4e5fab4669e58bc15f6904b67da65567487" - integrity sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ== +"@typescript-eslint/parser@^6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.16.0.tgz#36f39f63b126aa25af2ad2df13d9891e9fd5b40c" + integrity sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw== dependencies: - "@typescript-eslint/scope-manager" "6.13.1" - "@typescript-eslint/types" "6.13.1" - "@typescript-eslint/typescript-estree" "6.13.1" - "@typescript-eslint/visitor-keys" "6.13.1" + "@typescript-eslint/scope-manager" "6.16.0" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/typescript-estree" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" debug "^4.3.4" "@typescript-eslint/parser@^6.9.1": @@ -3001,13 +3069,13 @@ "@typescript-eslint/types" "5.27.1" "@typescript-eslint/visitor-keys" "5.27.1" -"@typescript-eslint/scope-manager@6.13.1": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.13.1.tgz#58c7c37c6a957d3d9f59bc4f64c2888e0cac1d70" - integrity sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ== +"@typescript-eslint/scope-manager@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz#f3e9a00fbc1d0701356359cd56489c54d9e37168" + integrity sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw== dependencies: - "@typescript-eslint/types" "6.13.1" - "@typescript-eslint/visitor-keys" "6.13.1" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" "@typescript-eslint/scope-manager@6.17.0": version "6.17.0" @@ -3017,13 +3085,13 @@ "@typescript-eslint/types" "6.17.0" "@typescript-eslint/visitor-keys" "6.17.0" -"@typescript-eslint/type-utils@6.13.1": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.13.1.tgz#e6e5885e387841cae9c38fc0638fd8b7561973d6" - integrity sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ== +"@typescript-eslint/type-utils@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz#5f21c3e49e540ad132dc87fc99af463c184d5ed1" + integrity sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg== dependencies: - "@typescript-eslint/typescript-estree" "6.13.1" - "@typescript-eslint/utils" "6.13.1" + "@typescript-eslint/typescript-estree" "6.16.0" + "@typescript-eslint/utils" "6.16.0" debug "^4.3.4" ts-api-utils "^1.0.1" @@ -3032,10 +3100,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.27.1.tgz#34e3e629501349d38be6ae97841298c03a6ffbf1" integrity sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg== -"@typescript-eslint/types@6.13.1": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.13.1.tgz#b56f26130e7eb8fa1e429c75fb969cae6ad7bb5c" - integrity sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg== +"@typescript-eslint/types@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.16.0.tgz#a3abe0045737d44d8234708d5ed8fef5d59dc91e" + integrity sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ== "@typescript-eslint/types@6.17.0": version "6.17.0" @@ -3055,16 +3123,17 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@6.13.1": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.1.tgz#d01dda78d2487434d1c503853fa00291c566efa4" - integrity sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ== +"@typescript-eslint/typescript-estree@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz#d6e0578e4f593045f0df06c4b3a22bd6f13f2d03" + integrity sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA== dependencies: - "@typescript-eslint/types" "6.13.1" - "@typescript-eslint/visitor-keys" "6.13.1" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/visitor-keys" "6.16.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" + minimatch "9.0.3" semver "^7.5.4" ts-api-utils "^1.0.1" @@ -3094,17 +3163,17 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/utils@6.13.1": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.13.1.tgz#925b3a2453a71ada914ae329b7bb7e7d96634b2f" - integrity sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw== +"@typescript-eslint/utils@6.16.0", "@typescript-eslint/utils@^6.10.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.16.0.tgz#1c291492d34670f9210d2b7fcf6b402bea3134ae" + integrity sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.13.1" - "@typescript-eslint/types" "6.13.1" - "@typescript-eslint/typescript-estree" "6.13.1" + "@typescript-eslint/scope-manager" "6.16.0" + "@typescript-eslint/types" "6.16.0" + "@typescript-eslint/typescript-estree" "6.16.0" semver "^7.5.4" "@typescript-eslint/visitor-keys@5.27.1": @@ -3115,12 +3184,12 @@ "@typescript-eslint/types" "5.27.1" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@6.13.1": - version "6.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.1.tgz#c4b692dcc23a4fc60685b718f10fde789d65a540" - integrity sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ== +"@typescript-eslint/visitor-keys@6.16.0": + version "6.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz#d50da18a05d91318ed3e7e8889bda0edc35f3a10" + integrity sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A== dependencies: - "@typescript-eslint/types" "6.13.1" + "@typescript-eslint/types" "6.16.0" eslint-visitor-keys "^3.4.1" "@typescript-eslint/visitor-keys@6.17.0": @@ -4426,7 +4495,7 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.14.5, browserslist@^4.19.1, browserslist@^4.21.10, browserslist@^4.21.9, browserslist@^4.22.1, browserslist@^4.9.1: +browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.9, browserslist@^4.22.1, browserslist@^4.9.1: version "4.22.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== @@ -4436,6 +4505,16 @@ browserslist@^4.14.5, browserslist@^4.19.1, browserslist@^4.21.10, browserslist@ node-releases "^2.0.13" update-browserslist-db "^1.0.13" +browserslist@^4.19.1, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -4644,7 +4723,12 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001299, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: +caniuse-lite@^1.0.30001299, caniuse-lite@^1.0.30001565: + version "1.0.30001571" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz#4182e93d696ff42930f4af7eba515ddeb57917ac" + integrity sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ== + +caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: version "1.0.30001565" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz#a528b253c8a2d95d2b415e11d8b9942acc100c4f" integrity sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w== @@ -5438,7 +5522,14 @@ copy-webpack-plugin@10.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.18.0, core-js-compat@^3.19.1, core-js-compat@^3.31.0, core-js-compat@^3.33.1: +core-js-compat@^3.18.0, core-js-compat@^3.19.1: + version "3.34.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.34.0.tgz#61a4931a13c52f8f08d924522bba65f8c94a5f17" + integrity sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA== + dependencies: + browserslist "^4.22.2" + +core-js-compat@^3.31.0, core-js-compat@^3.33.1: version "3.33.3" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.3.tgz#ec678b772c5a2d8a7c60a91c3a81869aa704ae01" integrity sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow== @@ -5843,7 +5934,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -6449,6 +6540,11 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.596.tgz#6752d1aa795d942d49dfc5d3764d6ea283fab1d7" integrity sha512-zW3zbZ40Icb2BCWjm47nxwcFGYlIgdXkAx85XDO7cyky9J4QQfq8t0W19/TLZqq3JPQXtlv8BPIGmfa9Jb4scg== +electron-to-chromium@^1.4.601: + version "1.4.616" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz#4bddbc2c76e1e9dbf449ecd5da3d8119826ea4fb" + integrity sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -6889,6 +6985,14 @@ eslint-module-utils@^2.8.0: dependencies: debug "^3.2.7" +eslint-plugin-expect-type@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-expect-type/-/eslint-plugin-expect-type-0.3.0.tgz#fa3a3d7e993202c31d39c0aee06c8c375fcefc94" + integrity sha512-BpEK+UVQAltIIEHEKYHpt/RDXOTyCwXb1lglsyN/wGwvR6ZYy1aJ17o1O6eSI965A/dnN37pxyiLxDERE4ai6g== + dependencies: + "@typescript-eslint/utils" "^6.10.0" + fs-extra "^11.1.1" + eslint-plugin-import@^2.23.4: version "2.29.1" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" @@ -7808,7 +7912,7 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^11.1.0: +fs-extra@^11.1.0, fs-extra@^11.1.1: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== @@ -11463,7 +11567,7 @@ nanoid@3.3.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== -nanoid@^3.1.30, nanoid@^3.3.6: +nanoid@^3.1.30, nanoid@^3.3.6, nanoid@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== @@ -11636,6 +11740,11 @@ node-releases@^2.0.13: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + nodemon@^1.9.2: version "1.19.4" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.19.4.tgz#56db5c607408e0fdf8920d2b444819af1aae0971" @@ -12972,7 +13081,16 @@ postcss@^7.0.35: picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.2.15, postcss@^8.3.7: +postcss@^8.2.15: + version "8.4.32" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" + integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.3.7: version "8.4.31" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== @@ -16853,9 +16971,9 @@ ws@^7.0.0, ws@^7.2.3: integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.1.0: - version "8.14.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" - integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== ws@~8.11.0: version "8.11.0"