77dc40da07a203cb23d066f63949d52ab2df08bf
- Add .node-version (single line: '26') so fnm/nvm/volta/mise and the VS Code Node version manager extension auto-switch when entering the project directory - engines.node in package.json: bump from '>=22.6' to '>=26' (npm-side install-time declaration) - Drop --experimental-strip-types flag from node --test invocations: Node 26 has --strip-types unflagged - .github/workflows/ci.yml: switch from hard-coded node-version: 24 to node-version-file: .node-version in both build and publish jobs so CI follows the .node-version file (single source of truth) - .npmignore: add .node-version (developer-tool file, not for publish) - .vscode/settings.json: pin js/ts.tsdk.path to node_modules/typescript/lib so the editor uses the project's TS 7, not a different global install - .vscode/extensions.json: swap ms-vscode.vscode-typescript-next for typescriptteam.native-preview (the official TS team extension that ships nightly TS support, including TS 7) - cspell: add 'esbenp' and 'typescriptteam' to dictionary - package-lock.json: regenerated for engines.node >=26 tsconfig.json target/lib are unchanged: es2024 is the highest stable ES target TS 7.0.2 ships, and Node 26 supports all ES2024 features natively.
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). - Changesets is available as a devDependency for changelog automation if desired.
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.