From 5cba3c45f8ac7eaa3168b9b74b99e6915c16e8a3 Mon Sep 17 00:00:00 2001 From: Alexander Akait <4567934+alexander-akait@users.noreply.github.com> Date: Fri, 11 Jul 2025 14:14:26 +0300 Subject: [PATCH] fix: types compatibility with old Node.js versions --- .github/workflows/test.yml | 2 +- package.json | 4 +-- types.d.ts | 58 ++++---------------------------------- yarn.lock | 14 ++++----- 4 files changed, 16 insertions(+), 62 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a2780bac9..d64874cc3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -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: diff --git a/package.json b/package.json index 49a105363..6ce3c64f2 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/types.d.ts b/types.d.ts index e53356689..d1bf34b8f 100644 --- a/types.d.ts +++ b/types.d.ts @@ -252,21 +252,6 @@ declare interface ArgumentConfig { type: "string" | "number" | "boolean" | "path" | "enum" | "RegExp" | "reset"; values?: EnumValue[]; } -type ArrayBufferLike = ArrayBuffer | SharedArrayBuffer; -type ArrayBufferView = - | 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>; + read: Read; close: ( df: number, callback: (err: null | NodeJS.ErrnoException) => void @@ -12797,8 +12782,7 @@ declare interface RawSourceMap { ignoreList?: number[]; } declare interface Read< - TBuffer extends - ArrayBufferView = ArrayBufferView + TBuffer extends NodeJS.ArrayBufferView = NodeJS.ArrayBufferView > { ( fd: number, @@ -12826,13 +12810,11 @@ declare interface Read< callback: ( err: null | NodeJS.ErrnoException, bytesRead: number, - buffer: ArrayBufferView + buffer: NodeJS.ArrayBufferView ) => void ): void; } -declare interface ReadAsyncOptions< - TBuffer extends ArrayBufferView -> { +declare interface ReadAsyncOptions { 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; } diff --git a/yarn.lock b/yarn.lock index 833aa769b..bf2197c6f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"