Skip to content

Comments

ci: transcribe esm tests to TypeScript#4086

Merged
wellwelwel merged 9 commits intosidorares:masterfrom
wellwelwel:tsx
Feb 17, 2026
Merged

ci: transcribe esm tests to TypeScript#4086
wellwelwel merged 9 commits intosidorares:masterfrom
wellwelwel:tsx

Conversation

@wellwelwel
Copy link
Collaborator

@wellwelwel wellwelwel commented Feb 17, 2026

The intention is, once 100% of the tests are transcribed to TypeScript in the future, to completely remove the ./test/tsc-build directory.


Advantages

  • Easier to identify inconsistencies between JavaScript code and separately created types (d.ts) naturally while tests are being created.
  • More than 20 typing inconsistencies were found just in ./test/esm that went unnoticed by ./test/tsc-build 🔥
  • Makes it easier to review contributions such as fix: promise connection typescript mismatched to underlying code #3321 and fix: types for query values #3985.
  • Looking ahead, it avoids test redundancy/mirroring due to types (one directory to test types without execution, another to test JavaScript).

Important

No files inside the core (lib, index.js, etc.) were modified and remain totally untouched 🙋🏻‍♂️


Note

Since for Poku there is no difference between running CJS, ESM, or TypeScript files in the same test suite (regardless of the runtime or coverage), there is no need to make any adaptations to the source code (lib), while we can take the first step towards #2803.

The legacy version of Deno that used a polyfill has been removed from the workflow since it is incompatible with require + dynamic typings.


Related

@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.95%. Comparing base (a06c241) to head (6d98cb8).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4086   +/-   ##
=======================================
  Coverage   89.95%   89.95%           
=======================================
  Files          86       86           
  Lines       13663    13663           
  Branches     1637     1637           
=======================================
  Hits        12291    12291           
  Misses       1372     1372           
Flag Coverage Δ
compression-0 89.07% <ø> (ø)
compression-1 89.93% <ø> (ø)
static-parser-0 87.54% <ø> (ø)
static-parser-1 88.30% <ø> (ø)
tls-0 89.36% <ø> (ø)
tls-1 89.73% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@wellwelwel
Copy link
Collaborator Author

All type inconsistencies are marked with: // @ts-expect-error: TODO: implement typings. Some of them have already been reported, but without reproduction until now. For example:

From here on, types are no longer a compilation test and become an integral part of the tests that are actually executed ✨

@wellwelwel wellwelwel marked this pull request as ready for review February 17, 2026 10:20
@wellwelwel wellwelwel merged commit d830838 into sidorares:master Feb 17, 2026
103 of 104 checks passed
@wellwelwel wellwelwel deleted the tsx branch February 17, 2026 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant