Skip to content

typescript 7 - #20

Merged
prabhu merged 3 commits into
masterfrom
chore/typescript-7
Aug 29, 2026
Merged

typescript 7#20
prabhu merged 3 commits into
masterfrom
chore/typescript-7

Conversation

@prabhu

@prabhu prabhu commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

No description provided.

prabhu added 3 commits August 29, 2026 18:15
Pinned exactly (like biome and electron): a ~7.0.2 range could resolve
to a newer 7.0.x still inside pnpm-workspace.yaml's minimumReleaseAge
window and get refused. The lockfile gains the 20 platform-specific
@typescript/typescript-<os>-<arch> optionalDependencies; they ship no
install scripts, so onlyBuiltDependencies and strictDepBuilds needed no
change.
The native compiler changes declaration emit and checks more of it, so
three genuine new failures surfaced; none of them is a tsconfig problem
(strict, skipLibCheck: false and checkJs stay as they are).

lib/sqlite3.d.ts(105): TS8023 — the emitted JSDoc tag
'@extends {NativeDatabase}' no longer matches the emitted extends
clause. The tag referenced a module-local binding that does not even
exist in the generated file's scope, and was redundant for checkJs (the
extends clause in lib/sqlite3.js is explicit), so the tag is dropped
from the source JSDoc.

types/consumer.check.ts: TS 7 reports object-literal argument errors at
the mismatched property instead of the whole call, so the
'@ts-expect-error untrusted is boolean' directive moved inside the
object literal to keep covering it. The negative still fails to
compile, as intended.

contrib/check-jsdoc.js: TS 5.9 renamed the class's materialized
heritage-clause alias to 'DatabaseClass_base'; TS 7 keeps the
source-local name 'NativeDatabase'. The skip rule now accepts both
spellings; there is still no source doc comment the alias could carry.

tools/gen-types.js: TS 7 no longer attaches a @typedef's summary text
to the rendered 'export type' it produces (TS 5.9 did), and in
lib/promises.js and lib/pool.js it drops the raw @typedef block too —
every type summary would silently vanish from the shipped declarations.
gen-types now re-attaches each typedef's summary from its lib/*.js
source to the rendered alias, deterministically and under the existing
CI regeneration diff.

Regenerated lib/*.d.ts. Verified against a fresh TS 5.9.3 emit: every
doc comment is byte-identical except the removed '@extends' line; the
remaining differences are cosmetic (quote style, declaration ordering,
'export function' becoming 'declare function' plus an export list, the
heritage alias rename) or an equivalent restatement (optional
properties emitted as 'x?: T' instead of 'x?: T | undefined'). No
exported name, type, or signature changed.
Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>
@prabhu prabhu added the ai-auto label Aug 29, 2026
@prabhu
prabhu merged commit 350d526 into master Aug 29, 2026
29 checks passed
@prabhu
prabhu deleted the chore/typescript-7 branch August 29, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant