9bc87aab87a2dd4759ed51b844e1694cd4998136
- @types/node 22.20.1 -> 26.4.1 - c8 10.1.3 -> 12.0.0 - check-outdated 2.16.1 -> 3.0.0 - cspell 8.19.4 -> 10.2.1 - lefthook 1.13.6 -> 2.1.12 - sort-package-json 3.7.1 -> 4.0.0 - type-fest 4.41.0 -> 5.9.0 Verified all configs remain compatible without changes: - cspell 10 reads the existing JSON config (v0.2 format unchanged) - lefthook 2 accepts the v1-style config (pre-commit.jobs[], commands:) - c8 12 still wraps 'node --test --strip-types' and produces the same text/lcov/html reports - check-outdated 3 keeps the --ignore-packages and --ignore-pre-releases flags we use Full pipeline passes: - npm run check exits 0 (oxlint, oxfmt, tsc, cspell, sort-package-json, check-outdated all green) - npm test: 6/6 pass - npm run test:ci: coverage report generated successfully - lefthook run pre-commit: hooks execute correctly
tiny-pattern-ts
Pattern matching for TypeScript/ESM environments (F#-style, not regex).
Development
- Build:
npm run build - Test:
npm run test,npm run test:ci - Checks:
npm run check,npm run fix - Format/Fix:
npm run fix:oxfmt,npm run fix:oxlint
Tooling
- TypeScript 7 — type checker and build (
tsc). - node --test +
--experimental-strip-types— test runner (Node 22.6+, flag dropped on Node 24). - c8 — code coverage for
test:ci. - oxlint — Rust-based linter.
- oxfmt — Rust-based formatter (Prettier-compatible).
- cspell — spell checking.
- sort-package-json — keep
package.jsonkeys alphabetized. - lefthook — git pre-commit hooks.
Requirements
- Node.js >= 22.6 (>= 24 recommended;
--experimental-strip-typesis unflagged on 24).
VSCode integration
- Recommended extensions: see
.vscode/extensions.json(oxc, cspell). - TypeScript 7 is used via
typescript.tsdkpointing atnode_modules/typescript/lib. - oxc extension provides oxlint squiggles and oxfmt format-on-save.
Workflows
- Version updates via
npm version. - Publishing via GitHub Actions on tagged commits (see
.github/workflows/ci.yml).
Contribution guidelines
- Commit signing (GPG).
- Set up commit message template:
npm run use:git-commit-message. - See
commit-message-template. - Type-only tests use
expect-type'sexpectTypeOf(...)insidenode --testcases.