Skip to content

fix(check): align skipLibCheck default with tsgo#36185

Open
bartlomieju wants to merge 1 commit into
mainfrom
bi/check-skiplibcheck-align
Open

fix(check): align skipLibCheck default with tsgo#36185
bartlomieju wants to merge 1 commit into
mainfrom
bi/check-skiplibcheck-align

Conversation

@bartlomieju

Copy link
Copy Markdown
Member

Deno's base check compiler options defaulted skipLibCheck to false, while
the generated tsconfig used by native deno check defaulted it to true. That
split meant the two halves of the check pipeline disagreed on whether .d.ts
files are type-checked, and it also made the native check-hash collide across
runs that used different effective skipLibCheck values (a clean run under the
implicit false default would satisfy a later run that should have checked lib
files, and vice versa).

This flips the resolved base default to true so the whole pipeline (native
check, the in-isolate check path shared by deno run --check/test/cache,
and the LSP) agrees on tsgo's --init default of skipLibCheck: true. A user
skipLibCheck: false still overrides it, and that override is now sourced from
the resolved compiler options (which honor --config <other>) rather than the
raw project-root deno.json pass, so it is respected however the config is
provided.

With the default settled, this re-enables the .d.ts entrypoint check specs
that were ignored under #36085: under the aligned default a .d.ts entrypoint
(or a referenced .d.ts dependency) is not type-checked, and each spec now also
covers the skipLibCheck: false path that does surface the error. The specs run
in per-test temp dirs so their generated .deno/ and check caches don't clobber
one another.

Closes #36085

Deno's base check compiler options defaulted skipLibCheck to false, while
the generated tsconfig for native check defaulted it to true. This flips
the resolved base default to true so the whole pipeline (native check, the
in-isolate check path, and the LSP) agrees on tsgo's --init default, and a
user skipLibCheck: false still overrides it.

Also routes skipLibCheck through the resolved compiler options (which honor
--config) instead of the raw project-root deno.json pass, so an override
from --config <other> is respected, and re-enables the .d.ts entrypoint
check specs that were ignored under issue #36085.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

deno check (native tsgo): spec tests deferred for initial landing

1 participant