diff --git a/apps/rxjs.dev/tools/marbles/scripts/index.ts b/apps/rxjs.dev/tools/marbles/scripts/index.ts index 7a32406579..96fda2e2a3 100644 --- a/apps/rxjs.dev/tools/marbles/scripts/index.ts +++ b/apps/rxjs.dev/tools/marbles/scripts/index.ts @@ -38,4 +38,4 @@ readdir(diagramsPath, (err, files) => { Promise.all(files.map(fileName => renderMarble(diagramsPath, fileName))) .then(_ => console.log('All SVGs created')) .catch(e => console.error('generating SVGs failed', e)); -}); \ No newline at end of file +}); diff --git a/apps/rxjs.dev/tools/transforms/angular-base-package/services/filterFromInImports.ts b/apps/rxjs.dev/tools/transforms/angular-base-package/services/filterFromInImports.ts index 00119016fe..43c8f846de 100644 --- a/apps/rxjs.dev/tools/transforms/angular-base-package/services/filterFromInImports.ts +++ b/apps/rxjs.dev/tools/transforms/angular-base-package/services/filterFromInImports.ts @@ -11,7 +11,7 @@ * unfiltered, thus it will get the link to * /api/index/function/from */ -module.exports = function filterFromInImports(): (words: string[], index: number) => boolean { +function filterFromInImports(): (words: string[], index: number) => boolean { return (words: string[], index: number) => { const previousWord = words[index - 1]; const nextWord = words[index + 1]; @@ -19,3 +19,5 @@ module.exports = function filterFromInImports(): (words: string[], index: number return words[index] === 'from' && /}/.test(previousWord) && /'/.test(nextWord); }; }; + +export = filterFromInImports diff --git a/apps/rxjs.dev/tsconfig.json b/apps/rxjs.dev/tsconfig.json index 8a45002ade..a012968a3d 100644 --- a/apps/rxjs.dev/tsconfig.json +++ b/apps/rxjs.dev/tsconfig.json @@ -6,6 +6,7 @@ "outDir": "./out-tsc", "forceConsistentCasingInFileNames": true, "strict": true, + "isolatedModules": true, "noImplicitOverride": true, // NOTE: Intentionally deviate from default Angular CLI settings // (due to many violations and uglier syntax). @@ -45,4 +46,4 @@ "strictInputAccessModifiers": true, "strictTemplates": true } -} \ No newline at end of file +} diff --git a/packages/observable/src/observable.ts b/packages/observable/src/observable.ts index 31f8403d15..9530f10302 100644 --- a/packages/observable/src/observable.ts +++ b/packages/observable/src/observable.ts @@ -351,7 +351,7 @@ export class Subscriber extends Subscription implements Observer { } } - unsubscribe(): void { + override unsubscribe(): void { if (!this.closed) { this.isStopped = true; super.unsubscribe(); diff --git a/packages/observable/tsconfig.json b/packages/observable/tsconfig.json index 7f39495db7..6049677818 100644 --- a/packages/observable/tsconfig.json +++ b/packages/observable/tsconfig.json @@ -6,6 +6,16 @@ "forceConsistentCasingInFileNames": true, "inlineSources": true, "jsx": "react", + "exactOptionalPropertyTypes": false, + "isolatedModules": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": false, + "noImplicitReturns": true, "module": "nodenext", "moduleResolution": "nodenext", "noUncheckedIndexedAccess": true, diff --git a/packages/rxjs/package.json b/packages/rxjs/package.json index 90c26e6051..dcb9b01f9e 100644 --- a/packages/rxjs/package.json +++ b/packages/rxjs/package.json @@ -128,7 +128,7 @@ "@types/chai": "^4.2.11", "@types/lodash": "^4.14.198", "@types/mocha": "^10.0.1", - "@types/node": "^14.14.6", + "@types/node": "^24.9.1", "@types/shelljs": "^0.8.8", "@types/sinon": "^10.0.13", "@types/sinon-chai": "^3.2.9", diff --git a/packages/rxjs/spec/helpers/setup.ts b/packages/rxjs/spec/helpers/setup.ts index c38b100b77..39cc7e68a1 100644 --- a/packages/rxjs/spec/helpers/setup.ts +++ b/packages/rxjs/spec/helpers/setup.ts @@ -3,7 +3,7 @@ **/ import * as chai from 'chai'; -import * as sinonChai from 'sinon-chai'; +import sinonChai from 'sinon-chai'; if (typeof Symbol !== 'function') { let id = 0; diff --git a/packages/rxjs/spec/operators/groupBy-spec.ts b/packages/rxjs/spec/operators/groupBy-spec.ts index 51fabbca66..61b4de01f5 100644 --- a/packages/rxjs/spec/operators/groupBy-spec.ts +++ b/packages/rxjs/spec/operators/groupBy-spec.ts @@ -1459,8 +1459,8 @@ describe('groupBy operator', () => { // Just to get the test going. expectObservable(result, unsub).toBe('-'); // Our two groups should error immediately upon subscription. - expectObservable(subjects.a).toBe('-'); - expectObservable(subjects.b).toBe('-'); + expectObservable(subjects['a']).toBe('-'); + expectObservable(subjects['b']).toBe('-'); }); }); diff --git a/packages/rxjs/spec/tsconfig.json b/packages/rxjs/spec/tsconfig.json index 4877802e0f..d323060967 100644 --- a/packages/rxjs/spec/tsconfig.json +++ b/packages/rxjs/spec/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../dist/spec", + "moduleResolution": "node10", "module": "CommonJS" }, "references": [ @@ -9,4 +10,4 @@ "path": "../src/tsconfig.types.spec.json" } ] -} \ No newline at end of file +} diff --git a/packages/rxjs/src/internal/AsyncSubject.ts b/packages/rxjs/src/internal/AsyncSubject.ts index e55bb32684..5bde0a266d 100644 --- a/packages/rxjs/src/internal/AsyncSubject.ts +++ b/packages/rxjs/src/internal/AsyncSubject.ts @@ -11,7 +11,7 @@ export class AsyncSubject extends Subject { private _isComplete = false; /** @internal */ - protected _checkFinalizedStatuses(subscriber: Subscriber) { + protected override _checkFinalizedStatuses(subscriber: Subscriber) { const { hasError, _hasValue, _value, thrownError, _closed, _isComplete } = this; if (hasError) { subscriber.error(thrownError); @@ -21,14 +21,14 @@ export class AsyncSubject extends Subject { } } - next(value: T): void { + override next(value: T): void { if (!this._closed) { this._value = value; this._hasValue = true; } } - complete(): void { + override complete(): void { const { _hasValue, _value, _isComplete } = this; if (!_isComplete) { this._isComplete = true; diff --git a/packages/rxjs/src/internal/BehaviorSubject.ts b/packages/rxjs/src/internal/BehaviorSubject.ts index 54665de436..8ee0a75207 100644 --- a/packages/rxjs/src/internal/BehaviorSubject.ts +++ b/packages/rxjs/src/internal/BehaviorSubject.ts @@ -15,7 +15,7 @@ export class BehaviorSubject extends Subject { } /** @internal */ - protected _subscribe(subscriber: Subscriber): Subscription { + protected override _subscribe(subscriber: Subscriber): Subscription { const subscription = super._subscribe(subscriber); !subscription.closed && subscriber.next(this._value); return subscription; @@ -29,7 +29,7 @@ export class BehaviorSubject extends Subject { return _value; } - next(value: T): void { + override next(value: T): void { super.next((this._value = value)); } } diff --git a/packages/rxjs/src/internal/ReplaySubject.ts b/packages/rxjs/src/internal/ReplaySubject.ts index 5bf4d08edf..8347066964 100644 --- a/packages/rxjs/src/internal/ReplaySubject.ts +++ b/packages/rxjs/src/internal/ReplaySubject.ts @@ -54,7 +54,7 @@ export class ReplaySubject extends Subject { this._windowTime = Math.max(1, _windowTime); } - next(value: T): void { + override next(value: T): void { const { _closed, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this; if (!_closed) { _buffer.push(value); @@ -65,7 +65,7 @@ export class ReplaySubject extends Subject { } /** @internal */ - protected _subscribe(subscriber: Subscriber): Subscription { + protected override _subscribe(subscriber: Subscriber): Subscription { this._trimBuffer(); const subscription = this._innerSubscribe(subscriber); diff --git a/packages/rxjs/src/internal/Subject.ts b/packages/rxjs/src/internal/Subject.ts index 0d82bf04e5..14f6700ad8 100644 --- a/packages/rxjs/src/internal/Subject.ts +++ b/packages/rxjs/src/internal/Subject.ts @@ -96,7 +96,7 @@ export class Subject extends Observable implements SubscriptionLike { } /** @internal */ - protected _subscribe(subscriber: Subscriber): Subscription { + protected override _subscribe(subscriber: Subscriber): Subscription { this._checkFinalizedStatuses(subscriber); return this._innerSubscribe(subscriber); } diff --git a/packages/rxjs/src/internal/observable/dom/WebSocketSubject.ts b/packages/rxjs/src/internal/observable/dom/WebSocketSubject.ts index 943e22a51e..fd5b159f59 100644 --- a/packages/rxjs/src/internal/observable/dom/WebSocketSubject.ts +++ b/packages/rxjs/src/internal/observable/dom/WebSocketSubject.ts @@ -365,7 +365,7 @@ export class WebSocketSubject extends Observable { } /** @internal */ - protected _subscribe(subscriber: Subscriber): Subscription { + protected override _subscribe(subscriber: Subscriber): Subscription { if (!this._socket) { this._connectSocket(); } diff --git a/packages/rxjs/src/internal/scheduler/AnimationFrameAction.ts b/packages/rxjs/src/internal/scheduler/AnimationFrameAction.ts index e292df0344..741a5ad590 100644 --- a/packages/rxjs/src/internal/scheduler/AnimationFrameAction.ts +++ b/packages/rxjs/src/internal/scheduler/AnimationFrameAction.ts @@ -5,11 +5,11 @@ import { animationFrameProvider } from './animationFrameProvider.js'; import type { TimerHandle } from './timerHandle.js'; export class AnimationFrameAction extends AsyncAction { - constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) { + constructor(protected override scheduler: AnimationFrameScheduler, protected override work: (this: SchedulerAction, state?: T) => void) { super(scheduler, work); } - protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle { + protected override requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle { // If delay is greater than 0, request as an async action. if (delay !== null && delay > 0) { return super.requestAsyncId(scheduler, id, delay); @@ -22,7 +22,7 @@ export class AnimationFrameAction extends AsyncAction { return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined))); } - protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined { + protected override recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined { // If delay exists and is greater than 0, or if the delay is null (the // action wasn't rescheduled) but was originally scheduled as an async // action, then recycle as an async action. diff --git a/packages/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts b/packages/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts index 591466450f..af330d2bc5 100644 --- a/packages/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts +++ b/packages/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts @@ -2,7 +2,7 @@ import type { AsyncAction } from './AsyncAction.js'; import { AsyncScheduler } from './AsyncScheduler.js'; export class AnimationFrameScheduler extends AsyncScheduler { - public flush(action?: AsyncAction): void { + public override flush(action?: AsyncAction): void { this._active = true; // The async id that effects a call to flush is stored in _scheduled. // Before executing an action, it's necessary to check the action's async diff --git a/packages/rxjs/src/internal/scheduler/AsapAction.ts b/packages/rxjs/src/internal/scheduler/AsapAction.ts index e09a470345..4c769f2e83 100644 --- a/packages/rxjs/src/internal/scheduler/AsapAction.ts +++ b/packages/rxjs/src/internal/scheduler/AsapAction.ts @@ -5,11 +5,11 @@ import { immediateProvider } from './immediateProvider.js'; import type { TimerHandle } from './timerHandle.js'; export class AsapAction extends AsyncAction { - constructor(protected scheduler: AsapScheduler, protected work: (this: SchedulerAction, state?: T) => void) { + constructor(protected override scheduler: AsapScheduler, protected override work: (this: SchedulerAction, state?: T) => void) { super(scheduler, work); } - protected requestAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle { + protected override requestAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle { // If delay is greater than 0, request as an async action. if (delay !== null && delay > 0) { return super.requestAsyncId(scheduler, id, delay); @@ -22,7 +22,7 @@ export class AsapAction extends AsyncAction { return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined))); } - protected recycleAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined { + protected override recycleAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined { // If delay exists and is greater than 0, or if the delay is null (the // action wasn't rescheduled) but was originally scheduled as an async // action, then recycle as an async action. diff --git a/packages/rxjs/src/internal/scheduler/AsapScheduler.ts b/packages/rxjs/src/internal/scheduler/AsapScheduler.ts index 15ac2ed116..4e80780d4d 100644 --- a/packages/rxjs/src/internal/scheduler/AsapScheduler.ts +++ b/packages/rxjs/src/internal/scheduler/AsapScheduler.ts @@ -2,7 +2,7 @@ import type { AsyncAction } from './AsyncAction.js'; import { AsyncScheduler } from './AsyncScheduler.js'; export class AsapScheduler extends AsyncScheduler { - public flush(action?: AsyncAction): void { + public override flush(action?: AsyncAction): void { this._active = true; // The async id that effects a call to flush is stored in _scheduled. // Before executing an action, it's necessary to check the action's async diff --git a/packages/rxjs/src/internal/scheduler/AsyncAction.ts b/packages/rxjs/src/internal/scheduler/AsyncAction.ts index d3acbbba6e..d658616888 100644 --- a/packages/rxjs/src/internal/scheduler/AsyncAction.ts +++ b/packages/rxjs/src/internal/scheduler/AsyncAction.ts @@ -16,7 +16,7 @@ export class AsyncAction extends Action { super(scheduler, work); } - public schedule(state?: T, delay: number = 0): Subscription { + public override schedule(state?: T, delay: number = 0): Subscription { if (this.closed) { return this; } @@ -129,7 +129,7 @@ export class AsyncAction extends Action { } } - unsubscribe() { + override unsubscribe() { if (!this.closed) { const { id, scheduler } = this; const { actions } = scheduler; diff --git a/packages/rxjs/src/internal/scheduler/QueueAction.ts b/packages/rxjs/src/internal/scheduler/QueueAction.ts index 5f43fc3bd0..c38b7e67dd 100644 --- a/packages/rxjs/src/internal/scheduler/QueueAction.ts +++ b/packages/rxjs/src/internal/scheduler/QueueAction.ts @@ -5,11 +5,11 @@ import type { SchedulerAction } from '../types.js'; import type { TimerHandle } from './timerHandle.js'; export class QueueAction extends AsyncAction { - constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction, state?: T) => void) { + constructor(protected override scheduler: QueueScheduler, protected override work: (this: SchedulerAction, state?: T) => void) { super(scheduler, work); } - public schedule(state?: T, delay: number = 0): Subscription { + public override schedule(state?: T, delay: number = 0): Subscription { if (delay > 0) { return super.schedule(state, delay); } @@ -19,11 +19,11 @@ export class QueueAction extends AsyncAction { return this; } - public execute(state: T, delay: number): any { + public override execute(state: T, delay: number): any { return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay); } - protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle { + protected override requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle { // If delay exists and is greater than 0, or if the delay is null (the // action wasn't rescheduled) but was originally scheduled as an async // action, then recycle as an async action. diff --git a/packages/rxjs/src/internal/scheduler/VirtualTimeScheduler.ts b/packages/rxjs/src/internal/scheduler/VirtualTimeScheduler.ts index efd478342d..642412f623 100644 --- a/packages/rxjs/src/internal/scheduler/VirtualTimeScheduler.ts +++ b/packages/rxjs/src/internal/scheduler/VirtualTimeScheduler.ts @@ -37,7 +37,7 @@ export class VirtualTimeScheduler extends AsyncScheduler { * Prompt the Scheduler to execute all of its queued actions, therefore * clearing its queue. */ - public flush(): void { + public override flush(): void { const { actions, maxFrames } = this; let error: any; let action: AsyncAction | undefined; @@ -64,15 +64,15 @@ export class VirtualAction extends AsyncAction { protected active: boolean = true; constructor( - protected scheduler: VirtualTimeScheduler, - protected work: (this: SchedulerAction, state?: T) => void, + protected override scheduler: VirtualTimeScheduler, + protected override work: (this: SchedulerAction, state?: T) => void, protected index: number = (scheduler.index += 1) ) { super(scheduler, work); this.index = scheduler.index = index; } - public schedule(state?: T, delay: number = 0): Subscription { + public override schedule(state?: T, delay: number = 0): Subscription { if (Number.isFinite(delay)) { if (!this.id) { return super.schedule(state, delay); @@ -92,7 +92,7 @@ export class VirtualAction extends AsyncAction { } } - protected requestAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle { + protected override requestAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle { this.delay = scheduler.frame + delay; const { actions } = scheduler; actions.push(this); @@ -100,11 +100,11 @@ export class VirtualAction extends AsyncAction { return 1; } - protected recycleAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle | undefined { + protected override recycleAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle | undefined { return undefined; } - protected _execute(state: T, delay: number): any { + protected override _execute(state: T, delay: number): any { if (this.active === true) { return super._execute(state, delay); } diff --git a/packages/rxjs/src/internal/testing/ColdObservable.ts b/packages/rxjs/src/internal/testing/ColdObservable.ts index 53a46aa693..3e97b5566d 100644 --- a/packages/rxjs/src/internal/testing/ColdObservable.ts +++ b/packages/rxjs/src/internal/testing/ColdObservable.ts @@ -11,7 +11,7 @@ export class ColdObservable extends Observable { logSubscribedFrame = logSubscribedFrame; logUnsubscribedFrame = logUnsubscribedFrame; - protected _subscribe(subscriber: Subscriber): TeardownLogic { + protected override _subscribe(subscriber: Subscriber): TeardownLogic { const index = this.logSubscribedFrame(); const subscription = new Subscription(); subscription.add( diff --git a/packages/rxjs/src/internal/testing/HotObservable.ts b/packages/rxjs/src/internal/testing/HotObservable.ts index 162e23bbd3..d205a2d033 100644 --- a/packages/rxjs/src/internal/testing/HotObservable.ts +++ b/packages/rxjs/src/internal/testing/HotObservable.ts @@ -19,7 +19,7 @@ export class HotObservable extends Subject { } /** @internal */ - protected _subscribe(subscriber: Subscriber): Subscription { + protected override _subscribe(subscriber: Subscriber): Subscription { const index = this.logSubscribedFrame(); const subscription = new Subscription(); subscription.add( diff --git a/packages/rxjs/src/internal/testing/TestScheduler.ts b/packages/rxjs/src/internal/testing/TestScheduler.ts index 092bd15cb0..17ae40e60d 100644 --- a/packages/rxjs/src/internal/testing/TestScheduler.ts +++ b/packages/rxjs/src/internal/testing/TestScheduler.ts @@ -41,7 +41,7 @@ export class TestScheduler extends VirtualTimeScheduler { * the test scheduler is being used in "run mode", via the `run` method, this is temporarily * set to `1` for the duration of the `run` block, then set back to whatever value it was. */ - static frameTimeFactor = 10; + static override frameTimeFactor = 10; /** * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. @@ -206,7 +206,7 @@ export class TestScheduler extends VirtualTimeScheduler { }; } - flush() { + override flush() { const hotObservables = this.hotObservables; while (hotObservables.length > 0) { hotObservables.shift()!.setup(); diff --git a/packages/rxjs/src/tsconfig.cjs.json b/packages/rxjs/src/tsconfig.cjs.json index 89c7a399f8..94553096d9 100644 --- a/packages/rxjs/src/tsconfig.cjs.json +++ b/packages/rxjs/src/tsconfig.cjs.json @@ -1,7 +1,6 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "module": "commonjs", "target": "ES2022", "downlevelIteration": true, "outDir": "../dist/cjs" diff --git a/packages/rxjs/src/tsconfig.esm.json b/packages/rxjs/src/tsconfig.esm.json index fccb08227c..52f23f90b3 100644 --- a/packages/rxjs/src/tsconfig.esm.json +++ b/packages/rxjs/src/tsconfig.esm.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.base.json", "compilerOptions": { "module": "esnext", + "moduleResolution": "node10", "target": "ES2022", "outDir": "../dist/esm" } diff --git a/packages/rxjs/src/tsconfig.types.json b/packages/rxjs/src/tsconfig.types.json index 58312d0cfd..1d0da0f136 100644 --- a/packages/rxjs/src/tsconfig.types.json +++ b/packages/rxjs/src/tsconfig.types.json @@ -3,6 +3,7 @@ "compilerOptions": { "composite": true, "module": "es2015", + "moduleResolution": "node10", "target": "ES2022", "removeComments": false, "declaration": true, diff --git a/packages/rxjs/tsconfig.json b/packages/rxjs/tsconfig.json index 691cab447c..809ca0ef5a 100644 --- a/packages/rxjs/tsconfig.json +++ b/packages/rxjs/tsconfig.json @@ -1,19 +1,29 @@ { "compilerOptions": { + "esModuleInterop": true, "incremental": true, "removeComments": true, "preserveConstEnums": true, "sourceMap": true, "strict": true, + "exactOptionalPropertyTypes": false, + "isolatedModules": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, "noImplicitReturns": true, - "moduleResolution": "node", + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": false, + "noUnusedParameters": false, + "module": "node16", + "moduleResolution": "node16", "stripInternal": true, "noEmit": true, "lib": ["esnext", "dom"], "target": "esnext", "baseUrl": ".", "paths": { - "@rxjs/observable": ["../observable/src/index"], + "@rxjs/observable": ["../observable/"], "rxjs": ["./src/index"], "rxjs/operators": ["./src/operators/index"], "rxjs/testing": ["./src/testing/index"], diff --git a/yarn.lock b/yarn.lock index 32e4e642ec..5b8c4e1636 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3118,11 +3118,6 @@ dependencies: undici-types "~5.26.4" -"@types/node@^14.14.6": - version "14.18.63" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b" - integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ== - "@types/node@^20.11.0": version "20.11.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.0.tgz#8e0b99e70c0c1ade1a86c4a282f7b7ef87c9552f" @@ -3130,6 +3125,13 @@ dependencies: undici-types "~5.26.4" +"@types/node@^24.9.1": + version "24.9.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.9.1.tgz#b7360b3c789089e57e192695a855aa4f6981a53c" + integrity sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg== + dependencies: + undici-types "~7.16.0" + "@types/parse-json@^4.0.0": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" @@ -16546,6 +16548,11 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== + unherit@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"