Files
tiny-pattern-ts/README.md
T

43 lines
1.5 KiB
Markdown

# 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). Formats JS/TS, JSON/JSONC, YAML, Markdown, MDX, and more; built-in `package.json` key sorting replaces `sort-package-json`.
- **cspell** — spell checking.
- **lefthook** — git pre-commit hooks.
### Requirements
- Node.js >= 26 (engines field; pinned via `.node-version`).
## VSCode integration
- Recommended extensions: see `.vscode/extensions.json` (oxc, cspell).
- TypeScript 7 is used via the `typescriptteam.native-preview` extension.
- 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`'s `expectTypeOf(...)` inside `node --test` cases.