fix: types compatibility with old Node.js versions

This commit is contained in:
Alexander Akait 2025-07-11 14:14:26 +03:00 committed by GitHub
parent fa54eac68b
commit 5cba3c45f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 62 deletions

View File

@ -44,7 +44,7 @@ jobs:
- run: yarn lint
- name: Validate types using old typescript version
run: |
yarn upgrade typescript@5.0
yarn upgrade typescript@5.0 @types/node@20
yarn --frozen-lockfile
yarn validate:types
validate-legacy-node:

View File

@ -118,7 +118,7 @@
"@types/graceful-fs": "^4.1.9",
"@types/jest": "^30.0.0",
"@types/mime-types": "^2.1.4",
"@types/node": "^24.0.3",
"@types/node": "^24.0.13",
"@types/xxhashjs": "^0.2.4",
"assemblyscript": "^0.28.2",
"babel-loader": "^10.0.0",
@ -182,7 +182,7 @@
"three": "^0.178.0",
"tinybench": "^4.0.1",
"toml": "^3.0.0",
"tooling": "webpack/tooling#v1.24.0",
"tooling": "webpack/tooling#v1.24.3",
"ts-loader": "^9.5.1",
"typescript": "^5.8.2",
"url-loader": "^4.1.0",

58
types.d.ts vendored
View File

@ -252,21 +252,6 @@ declare interface ArgumentConfig {
type: "string" | "number" | "boolean" | "path" | "enum" | "RegExp" | "reset";
values?: EnumValue[];
}
type ArrayBufferLike = ArrayBuffer | SharedArrayBuffer;
type ArrayBufferView<TArrayBuffer extends ArrayBufferLike = ArrayBufferLike> =
| Uint8Array
| Uint8ClampedArray
| Uint16Array
| Uint32Array
| Int8Array
| Int16Array
| Int32Array
| BigUint64Array
| BigInt64Array
| Float16Array
| Float32Array
| Float64Array
| DataView;
declare interface Asset {
/**
* the filename of the asset
@ -6356,7 +6341,7 @@ declare interface IntermediateFileSystemExtras {
| WriteStreamOptions
) => NodeJS.WritableStream;
open: Open;
read: Read<ArrayBufferView<ArrayBufferLike>>;
read: Read<NodeJS.ArrayBufferView>;
close: (
df: number,
callback: (err: null | NodeJS.ErrnoException) => void
@ -12797,8 +12782,7 @@ declare interface RawSourceMap {
ignoreList?: number[];
}
declare interface Read<
TBuffer extends
ArrayBufferView<ArrayBufferLike> = ArrayBufferView<ArrayBufferLike>
TBuffer extends NodeJS.ArrayBufferView = NodeJS.ArrayBufferView
> {
(
fd: number,
@ -12826,13 +12810,11 @@ declare interface Read<
callback: (
err: null | NodeJS.ErrnoException,
bytesRead: number,
buffer: ArrayBufferView<ArrayBufferLike>
buffer: NodeJS.ArrayBufferView
) => void
): void;
}
declare interface ReadAsyncOptions<
TBuffer extends ArrayBufferView<ArrayBufferLike>
> {
declare interface ReadAsyncOptions<TBuffer extends NodeJS.ArrayBufferView> {
offset?: number;
length?: number;
position?: null | number | bigint;
@ -17330,41 +17312,13 @@ declare interface WithOptions {
declare interface WriteFile {
(
file: PathOrFileDescriptorFs,
data:
| string
| Uint8Array
| Uint8ClampedArray
| Uint16Array
| Uint32Array
| Int8Array
| Int16Array
| Int32Array
| BigUint64Array
| BigInt64Array
| Float16Array
| Float32Array
| Float64Array
| DataView,
data: string | NodeJS.ArrayBufferView,
options: WriteFileOptions,
callback: (err: null | NodeJS.ErrnoException) => void
): void;
(
file: PathOrFileDescriptorFs,
data:
| string
| Uint8Array
| Uint8ClampedArray
| Uint16Array
| Uint32Array
| Int8Array
| Int16Array
| Int32Array
| BigUint64Array
| BigInt64Array
| Float16Array
| Float32Array
| Float64Array
| DataView,
data: string | NodeJS.ArrayBufferView,
callback: (err: null | NodeJS.ErrnoException) => void
): void;
}

View File

@ -1495,10 +1495,10 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78"
integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==
"@types/node@*", "@types/node@^24.0.3":
version "24.0.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.12.tgz#3cf8719572145cfecf4cf9d180d8e7f74a61af00"
integrity sha512-LtOrbvDf5ndC9Xi+4QZjVL0woFymF/xSTKZKPgrrl7H7XoeDvnD+E2IclKVDyaK9UM756W/3BXqSU+JEHopA9g==
"@types/node@*", "@types/node@^24.0.13":
version "24.0.13"
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.13.tgz#93ed8c05c7b188a59760be0ce2ee3fa7ad0f83f6"
integrity sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==
dependencies:
undici-types "~7.8.0"
@ -7806,9 +7806,9 @@ toml@^3.0.0:
resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee"
integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==
tooling@webpack/tooling#v1.24.0:
version "1.24.0"
resolved "https://codeload.github.com/webpack/tooling/tar.gz/0dc77b33f91c7310d4421fc80279aef1be04b20b"
tooling@webpack/tooling#v1.24.3:
version "1.24.3"
resolved "https://codeload.github.com/webpack/tooling/tar.gz/3922ab8c6ef50196188f8c53b38e7ad118db4ac8"
dependencies:
"@yarnpkg/lockfile" "^1.1.0"
ajv "^8.1.0"