From a7e4e524e09f8fb598e5185ab26bf1f7e3b4a1e5 Mon Sep 17 00:00:00 2001 From: "egg-sourcegraph-testing[bot]" <278724144+egg-sourcegraph-testing[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 12:43:02 +0000 Subject: [PATCH] =?UTF-8?q?security:=20upgrade=20rxjs=20v6.x=20=E2=86=92?= =?UTF-8?q?=207.8.2=20and=20migrate=20breaking=20API=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sourcegraph Egg --- package.json | 2 +- src/rxjs-compat.d.ts | 38 ++++++++++++++++++++++++++++++++++++++ src/settings.ts | 3 +-- yarn.lock | 17 +++++++++++------ 4 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 src/rxjs-compat.d.ts diff --git a/package.json b/package.json index 52871f1..11b9256 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,6 @@ "dependencies": { "escape-html": "^1.0.3", "lodash": "^4.17.11", - "rxjs": "^6.4.0" + "rxjs": "7.8.2" } } diff --git a/src/rxjs-compat.d.ts b/src/rxjs-compat.d.ts new file mode 100644 index 0000000..a553c24 --- /dev/null +++ b/src/rxjs-compat.d.ts @@ -0,0 +1,38 @@ +declare module 'rxjs' { + export interface Observer { + next(value: T): void + } + + export interface SubscriptionLike { + unsubscribe(): void + } + + export type TeardownLogic = SubscriptionLike | (() => void) | void + + export interface OperatorFunction { + (source: Observable): Observable + } + + export class Observable { + constructor(subscribe?: (observer: Observer) => TeardownLogic) + pipe(op1: OperatorFunction): Observable + pipe(op1: OperatorFunction, op2: OperatorFunction): Observable + pipe( + op1: OperatorFunction, + op2: OperatorFunction, + op3: OperatorFunction + ): Observable + pipe( + op1: OperatorFunction, + op2: OperatorFunction, + op3: OperatorFunction, + op4: OperatorFunction + ): Observable + subscribe(next?: (value: T) => void): SubscriptionLike + } + + export function from(input: Observable): Observable + export function map(project: (value: T) => R): OperatorFunction + export function distinctUntilChanged(compare?: (a: T, b: T) => boolean): OperatorFunction + export function finalize(callback: () => void): OperatorFunction +} diff --git a/src/settings.ts b/src/settings.ts index 79d47d5..16919e7 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -1,6 +1,5 @@ import { isEqual } from 'lodash' -import { from, Observable } from 'rxjs' -import { distinctUntilChanged, finalize, map } from 'rxjs/operators' +import { distinctUntilChanged, finalize, from, map, Observable } from 'rxjs' import * as sourcegraph from 'sourcegraph' export interface Settings { diff --git a/yarn.lock b/yarn.lock index b615ba7..21f8aa0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4373,12 +4373,12 @@ rxjs-tslint-rules@^4.19.1: tsutils "^3.0.0" tsutils-etc "^1.1.0" -rxjs@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" - integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== +rxjs@7.8.2: + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: - tslib "^1.9.0" + tslib "^2.1.0" safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" @@ -4900,11 +4900,16 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.0, tslib@^1.8.1: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== +tslib@^2.1.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslint-config-prettier@^1.18.0: version "1.18.0" resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37"