Skip to content

Release/v2.1.0#29

Merged
jEnbuska merged 16 commits into
mainfrom
release/v2.1.0
Feb 22, 2026
Merged

Release/v2.1.0#29
jEnbuska merged 16 commits into
mainfrom
release/v2.1.0

Conversation

@jEnbuska

Copy link
Copy Markdown
Owner

A collection of build pipeline, type distribution, integration testing, and release tooling improvements.

Bundle size −57% (55 KB → 23 KB)

  • minify: true in tsup.config.ts
  • Replaced using keyword with try/finally in resolver classes — eliminates the __knownSymbol/__using/__callDispose polyfill block tsup was injecting for ES2022 targets

Consumer TypeScript types fixed

tsc --emitDeclarationOnly + verbatimModuleSyntax: true preserved raw .ts extensions in emitted .d.ts import paths, breaking any consumer without allowImportingTsExtensions. Switched to tsup dts: true — all declarations bundled into a single dist/index.d.ts. tsconfig.build.json deleted.

Node.js minimum lowered to 20.4.0

Removing using eliminates the 20.5.0 requirement. Only hard runtime dependency is Symbol.dispose/Symbol.asyncDispose (Node 20.4.0+). Added "engines": { "node": ">=20.4.0" }.

Example projects & cross-browser tests

  • examples/node-ts — bare Node.js TypeScript consumer; builds with tsc against the local package
  • examples/react-vite — Vite 7 + React 19 app with a Playwright test suite covering Chromium, Firefox, WebKit (Safari ✅), and Edge
  • npm test in examples/react-vite auto-installs Playwright browser binaries so it works out of the box after npm ci

CI

  • test-example-node: matrix over Node 20 × 22 × 24, fail-fast: false
  • test-example-react: Playwright suite; uploads report artifact on failure
  • Root tsconfig.json excludes examples/ — prevents tsc --noEmit walking sub-projects whose deps aren't installed at root
  • Root vitest.config.ts scopes test discovery to tests/**/*.test.ts — prevents Vitest picking up Playwright spec files
  • prettier and check-all extended to cover ./examples

Release tooling & docs

  • publish:beta script (npm publish --tag beta --access public) + abstract "Beta / Pre-release Process" section in CONTRIBUTING.md
  • DOM.Iterable is not required by this library — documented with a minimal lib config table
  • README: Safari ✅, Node LTS table (20/22/24), zero-dependencies badge
  • CHANGELOG entry for 2.1.0

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Copilot AI and others added 16 commits February 22, 2026 11:42
Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…h try/finally

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…nk workflow

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…olve types correctly

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…ests

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…fari), Edge

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…lease notes

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…ript

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…or node-ts example

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…idance

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…tsconfig guidance to README

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
… docs

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
…ta docs

Co-authored-by: jEnbuska <11061511+jEnbuska@users.noreply.github.com>
@jEnbuska
jEnbuska merged commit e66214f into main Feb 22, 2026
28 checks passed
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.

2 participants