update typescript and other npm deps to latest#6389
Conversation
There was a problem hiding this comment.
I'm Bonk, and I've done a quick review of your PR.
This PR updates TypeScript to 6.0.2 and bumps several other npm dependencies, with corresponding type fixes for the stricter Uint8Array<ArrayBuffer> generics and a workaround for the Scheduler name collision.
Issues (ranked by severity):
-
[MEDIUM]
src/pyodide/internal/pool/builtin_wrappers.ts:113-114— Type signature not updated to match the changedlib.tsexport. The wrapper still accepts/returns bareUint8Array(i.e.,Uint8Array<ArrayBufferLike>) while the inner function (getRandomValuesTypefromlib.ts) was narrowed toUint8Array<ArrayBuffer>. Under TS 6.0's stricter typed-array generics, passingUint8Array<ArrayBufferLike>to a function expectingUint8Array<ArrayBuffer>is a type error. This doesn't break the build because pyodide's tsconfig hasnoEmitOnError: false, but it introduces a latent type inconsistency.Suggested fix — update the wrapper to match:
export function getRandomValues(Module: Module, arr: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer> { return getRandomValuesInner(Module, arr); }
-
[LOW]
internal_timers_promises.ts— Theunknowndouble-cast workaround for theSchedulername collision works but is fragile. The TODO comment is appreciated; just noting the tech debt.
This review was generated by an AI assistant and may contain inaccuracies.
|
Review posted successfully on PR #6389. Here's a summary of my findings: 1 actionable issue found:
|
fhanau
left a comment
There was a problem hiding this comment.
Changes LGTM – it looks like rules_ts has already been updated to include TS6.0 (see aspect-build/rules_ts@6c02feb), so if we're willing to wait for the next rules_ts release manually adding ts_integrity could be avoided
c23cd14 to
ce3496a
Compare
It might not be released for couple of weeks. We can always change this line. |
Updates a lot of dependencies (including Typescript 6.0.2)