feat: prototype new custom rust zlib implementation

This commit is contained in:
didinele
2025-04-17 17:12:13 +03:00
parent 57c3da2e8e
commit 3133a64e90
5 changed files with 74 additions and 34 deletions

View File

@@ -78,5 +78,8 @@
"engines": {
"node": ">=22.12.0"
},
"packageManager": "pnpm@10.8.0"
"packageManager": "pnpm@10.8.0",
"dependencies": {
"@vladfrangu-dev/compression": "link:../../didinele/compression-lib"
}
}

View File

@@ -20,6 +20,7 @@ export enum Encoding {
export enum CompressionMethod {
ZlibNative,
ZlibSync,
ZlibMagic,
}
export const DefaultDeviceProperty = `@discordjs/ws [VI]{{inject}}[/VI]` as `@discordjs/ws ${string}`;
@@ -29,6 +30,7 @@ const getDefaultSessionStore = lazy(() => new Collection<number, SessionInfo | n
export const CompressionParameterMap = {
[CompressionMethod.ZlibNative]: 'zlib-stream',
[CompressionMethod.ZlibSync]: 'zlib-stream',
[CompressionMethod.ZlibMagic]: 'zlib-stream',
} as const satisfies Record<CompressionMethod, string>;
/**

View File

@@ -9,6 +9,7 @@ import { Collection } from '@discordjs/collection';
import { lazy, shouldUseGlobalFetchAndWebSocket } from '@discordjs/util';
import { AsyncQueue } from '@sapphire/async-queue';
import { AsyncEventEmitter } from '@vladfrangu/async_event_emitter';
import { ZlibDecompressor } from '@vladfrangu-dev/compression';
import {
GatewayCloseCodes,
GatewayDispatchEvents,
@@ -98,6 +99,8 @@ export class WebSocketShard extends AsyncEventEmitter<WebSocketShardEventsMap> {
private zLibSyncInflate: ZlibSync.Inflate | null = null;
private magicInflate: ZlibDecompressor | null = null;
/**
* @privateRemarks
*
@@ -144,7 +147,10 @@ export class WebSocketShard extends AsyncEventEmitter<WebSocketShardEventsMap> {
* used, but rather the compression method that the user wants to use. This is because the libraries could just be missing.
*/
private get transportCompressionEnabled() {
return this.strategy.options.compression !== null && (this.nativeInflate ?? this.zLibSyncInflate) !== null;
return (
this.strategy.options.compression !== null &&
(this.nativeInflate ?? this.zLibSyncInflate ?? this.magicInflate) !== null
);
}
public get status(): WebSocketShardStatus {
@@ -243,6 +249,11 @@ export class WebSocketShard extends AsyncEventEmitter<WebSocketShardEventsMap> {
break;
}
case CompressionMethod.ZlibMagic: {
this.magicInflate = new ZlibDecompressor(65_535);
break;
}
}
}
@@ -680,6 +691,18 @@ export class WebSocketShard extends AsyncEventEmitter<WebSocketShardEventsMap> {
const { result } = this.zLibSyncInflate;
return this.parseInflateResult(result);
} else if (this.magicInflate) {
const result = this.magicInflate.push(Buffer.from(decompressable));
if (!result.ok) {
this.emit(WebSocketShardEvents.Error, new Error(result.error));
return null;
}
if (!result.data) {
return null;
}
return this.parseInflateResult(result.data);
}
}

72
pnpm-lock.yaml generated
View File

@@ -4,6 +4,10 @@ settings:
autoInstallPeers: false
excludeLinksFromLockfile: false
overrides:
compression: link:../../../../Library/pnpm/global/5/node_modules/@vladfrangu-dev/compression
'@vladfrangu-dev/compression': link:../../didinele/compression-lib
patchedDependencies:
'@microsoft/tsdoc-config@0.16.2':
hash: cda37396c30a2865185c82c3ac8d7d5a0b1c5eebab1dbca7a3c29e3c17d96247
@@ -12,6 +16,10 @@ patchedDependencies:
importers:
.:
dependencies:
'@vladfrangu-dev/compression':
specifier: link:../../didinele/compression-lib
version: link:../../didinele/compression-lib
devDependencies:
'@commitlint/cli':
specifier: ^19.8.0
@@ -45,7 +53,7 @@ importers:
version: 0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)
eslint-import-resolver-typescript:
specifier: ^4.3.1
version: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2))
version: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))
eslint-plugin-react-compiler:
specifier: 19.0.0-beta-e993439-20250328
version: 19.0.0-beta-e993439-20250328(eslint@9.24.0(jiti@2.4.2))
@@ -444,7 +452,7 @@ importers:
version: 9.24.0(jiti@2.4.2)
eslint-config-neon:
specifier: ^0.2.7
version: 0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
version: 0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
eslint-formatter-compact:
specifier: ^8.40.0
version: 8.40.0
@@ -1333,7 +1341,7 @@ importers:
version: 9.24.0(jiti@2.4.2)
eslint-config-neon:
specifier: ^0.2.7
version: 0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
version: 0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
eslint-formatter-compact:
specifier: ^8.40.0
version: 8.40.0
@@ -1639,7 +1647,7 @@ importers:
version: 9.24.0(jiti@2.4.2)
eslint-config-neon:
specifier: ^0.2.7
version: 0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
version: 0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
eslint-formatter-compact:
specifier: ^8.40.0
version: 8.40.0
@@ -15139,7 +15147,7 @@ snapshots:
dependencies:
'@definitelytyped/typescript-versions': 0.1.8
'@definitelytyped/utils': 0.1.8
semver: 7.7.1
semver: 7.6.3
'@definitelytyped/typescript-versions@0.1.8': {}
@@ -16279,7 +16287,7 @@ snapshots:
https-proxy-agent: 7.0.6
node-fetch: 2.7.0(encoding@0.1.13)
nopt: 8.1.0
semver: 7.7.1
semver: 7.6.3
tar: 7.4.3
transitivePeerDependencies:
- encoding
@@ -16479,14 +16487,14 @@ snapshots:
ini: 4.1.3
nopt: 7.2.1
proc-log: 4.2.0
semver: 7.7.1
semver: 7.6.3
walk-up-path: 3.0.1
transitivePeerDependencies:
- bluebird
'@npmcli/fs@4.0.0':
dependencies:
semver: 7.7.1
semver: 7.6.3
'@npmcli/git@5.0.8':
dependencies:
@@ -16497,7 +16505,7 @@ snapshots:
proc-log: 4.2.0
promise-inflight: 1.0.1
promise-retry: 2.0.1
semver: 7.7.1
semver: 7.6.3
which: 4.0.0
transitivePeerDependencies:
- bluebird
@@ -16519,7 +16527,7 @@ snapshots:
json-parse-even-better-errors: 3.0.2
normalize-package-data: 6.0.2
proc-log: 4.2.0
semver: 7.7.1
semver: 7.6.3
transitivePeerDependencies:
- bluebird
@@ -16609,7 +16617,7 @@ snapshots:
request: 2.88.2
retry: 0.12.0
safe-buffer: 5.2.1
semver: 7.7.1
semver: 7.6.3
slide: 1.1.6
ssri: 8.0.1
optionalDependencies:
@@ -19918,7 +19926,7 @@ snapshots:
debug: 4.4.0
globby: 11.1.0
is-glob: 4.0.3
semver: 7.7.1
semver: 7.6.3
tsutils: 3.21.0(typescript@5.5.4)
optionalDependencies:
typescript: 5.5.4
@@ -19932,7 +19940,7 @@ snapshots:
debug: 4.4.0
globby: 11.1.0
is-glob: 4.0.3
semver: 7.7.1
semver: 7.6.3
tsutils: 3.21.0(typescript@5.8.3)
optionalDependencies:
typescript: 5.8.3
@@ -19947,7 +19955,7 @@ snapshots:
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.1
semver: 7.6.3
ts-api-utils: 1.4.3(typescript@5.8.3)
optionalDependencies:
typescript: 5.8.3
@@ -20006,7 +20014,7 @@ snapshots:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4)
eslint: 9.24.0(jiti@2.4.2)
eslint-scope: 5.1.1
semver: 7.7.1
semver: 7.6.3
transitivePeerDependencies:
- supports-color
- typescript
@@ -20021,7 +20029,7 @@ snapshots:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.8.3)
eslint: 9.24.0(jiti@2.4.2)
eslint-scope: 5.1.1
semver: 7.7.1
semver: 7.6.3
transitivePeerDependencies:
- supports-color
- typescript
@@ -21983,7 +21991,7 @@ snapshots:
conventional-commits-filter: 5.0.0
handlebars: 4.7.8
meow: 13.2.0
semver: 7.7.1
semver: 7.6.3
conventional-changelog@6.0.0(conventional-commits-filter@5.0.0):
dependencies:
@@ -22954,7 +22962,7 @@ snapshots:
eslint: 9.24.0(jiti@2.4.2)
semver: 7.6.3
eslint-config-neon@0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4):
eslint-config-neon@0.2.7(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4):
dependencies:
'@angular-eslint/eslint-plugin': 19.3.0(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
'@angular-eslint/eslint-plugin-template': 19.3.0(@typescript-eslint/types@8.29.0)(@typescript-eslint/utils@8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4))(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
@@ -22969,7 +22977,7 @@ snapshots:
'@typescript-eslint/parser': 8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.5.4)
astro-eslint-parser: 1.2.2
eslint-config-prettier: 10.1.1(eslint@9.24.0(jiti@2.4.2))
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2))
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))
eslint-mdx: 3.3.2(eslint@9.24.0(jiti@2.4.2))
eslint-plugin-astro: 1.3.1(eslint@9.24.0(jiti@2.4.2))
eslint-plugin-cypress: 4.2.0(eslint@9.24.0(jiti@2.4.2))
@@ -23020,7 +23028,7 @@ snapshots:
'@typescript-eslint/parser': 8.29.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)
astro-eslint-parser: 1.2.2
eslint-config-prettier: 10.1.1(eslint@9.24.0(jiti@2.4.2))
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2))
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))
eslint-mdx: 3.3.2(eslint@9.24.0(jiti@2.4.2))
eslint-plugin-astro: 1.3.1(eslint@9.24.0(jiti@2.4.2))
eslint-plugin-cypress: 4.2.0(eslint@9.24.0(jiti@2.4.2))
@@ -23123,7 +23131,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)):
eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)):
dependencies:
debug: 4.4.0
eslint: 9.24.0(jiti@2.4.2)
@@ -23133,7 +23141,7 @@ snapshots:
tinyglobby: 0.2.12
unrs-resolver: 1.3.3
optionalDependencies:
eslint-plugin-import: 2.31.0(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))
eslint-plugin-import-x: 4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)
transitivePeerDependencies:
- supports-color
@@ -23166,17 +23174,17 @@ snapshots:
'@typescript-eslint/parser': 8.29.0(eslint@8.57.1)(typescript@5.8.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2))
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2)):
eslint-module-utils@2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)):
dependencies:
debug: 3.2.7
optionalDependencies:
eslint: 9.24.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2))
eslint-import-resolver-typescript: 4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
optional: true
@@ -23276,7 +23284,7 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2)):
eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -23287,7 +23295,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.24.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.3.1)(eslint@9.24.0(jiti@2.4.2))
eslint-module-utils: 2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.3.1(eslint-plugin-import-x@4.10.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2))
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -26635,7 +26643,7 @@ snapshots:
normalize-package-data@6.0.2:
dependencies:
hosted-git-info: 7.0.2
semver: 7.7.1
semver: 7.6.3
validate-npm-package-license: 3.0.4
normalize-path@3.0.0: {}
@@ -26644,7 +26652,7 @@ snapshots:
npm-install-checks@6.3.0:
dependencies:
semver: 7.7.1
semver: 7.6.3
npm-normalize-package-bin@3.0.1: {}
@@ -26652,7 +26660,7 @@ snapshots:
dependencies:
hosted-git-info: 7.0.2
proc-log: 4.2.0
semver: 7.7.1
semver: 7.6.3
validate-npm-package-name: 5.0.1
npm-package-arg@12.0.1:
@@ -26665,7 +26673,7 @@ snapshots:
npm-package-arg@8.1.5:
dependencies:
hosted-git-info: 4.1.0
semver: 7.7.1
semver: 7.6.3
validate-npm-package-name: 3.0.0
npm-pick-manifest@9.1.0:
@@ -26673,7 +26681,7 @@ snapshots:
npm-install-checks: 6.3.0
npm-normalize-package-bin: 3.0.1
npm-package-arg: 11.0.3
semver: 7.7.1
semver: 7.6.3
npm-registry-fetch@18.0.2:
dependencies:

View File

@@ -31,3 +31,7 @@ publicHoistPattern:
patchedDependencies:
'@microsoft/tsdoc-config@0.16.2': patches/@microsoft__tsdoc-config@0.16.2.patch
overrides:
compression: link:../../../../Library/pnpm/global/5/node_modules/@vladfrangu-dev/compression
'@vladfrangu-dev/compression': link:../../didinele/compression-lib