regex-wand
Version:
Typed regular expressions without giving up readable regex authoring.
166 lines (125 loc) • 6.67 kB
Markdown
# Changelog
## 0.4.3
- Removed deprecated/legacy language from the supported `defineRegex({ pattern })`
alias. `inputs` remains the recommended field, and `pattern` remains a typed
supported alias for teams that prefer domain wording.
## 0.4.2
- Clarified the public API positioning: `defineRegex({ inputs, match, flags })`
is the recommended object API, while `createRegExp(...inputs)` is the
Magic-compatible positional builder.
- Updated the README, support matrix, roadmap, and packaged agent skill to avoid
implying a new regex DSL or a raw-pattern API.
## 0.4.1
- Renamed the recommended `defineRegex` object field from `pattern` to `inputs`
so the API matches Magic Regex terminology and does not imply raw regex string
syntax.
- Kept `pattern` as a typed alias for `inputs` so `0.4.0` callers remain
compatible without treating either spelling as unsafe.
- Updated docs, playground examples, runtime tests, type tests, and packed
consumer verification to lead with `inputs`.
## 0.4.0
- Added `defineRegex({ pattern, match, flags })` as the recommended
object-shaped API for readable contains/exact regex definitions.
- Added build-time transform support for static direct and namespaced
`defineRegex` calls.
- Expanded runtime, `tsd`, transform, and packed-consumer coverage for the
object API.
- Updated the README, support matrix, roadmap, type-safety docs, testing docs,
and playground examples to lead with `defineRegex`.
## 0.3.8
- Added CI compatibility coverage across Bun and TypeScript versions.
- Added runtime parity tests comparing representative `regex-wand` patterns
against raw Magic Regex behavior.
- Added playground comparison snippets for raw Magic Regex, raw ArkRegex, and
`regex-wand`.
## 0.3.7
- Updated package metadata and public descriptions to match the launch README.
- Added playground social preview metadata for cleaner shared links.
## 0.3.6
- Reworked the GitHub and npm README opening sections for public launch.
- Improved playground first-run experience with install, npm, GitHub, docs, and
stronger inferred-type context.
- Added clearer public-facing examples for why to use `regex-wand` over raw
Magic Regex or raw ArkRegex.
## 0.3.5
- Expanded packed-consumer verification to install the generated tarball and
build a Vite fixture through the published `regex-wand/transform` subpath.
- Added runtime and type coverage for native string `"v"` flags.
- Aligned Bun versions across package metadata and GitHub Actions.
- Clarified transform, support, and testing docs for public-readiness.
## 0.3.4
- Added a Vite fixture app that builds `regex-wand/transform` through a real
Vite production build and verifies compiled output.
- Added an ArkType interop guide documenting when to use ArkType regex schemas
and `x/.../` parsing directly.
- Marked Magic Regex `further-magic` as an intentional non-goal with direct
`magic-regexp/further-magic` usage as the escape hatch.
- Expanded the playground with build-time transform and manual typing examples,
plus a copyable Vite config snippet.
## 0.3.3
- Removed fully-unused `regex-wand` imports after transform compilation so
static-only modules do not keep a runtime package import.
- Added a lockfile consistency check to keep the Bun workspace package version
aligned with `packages/regex-wand/package.json`.
## 0.3.2
- Fixed `regex-wand/transform` in esbuild hosts by falling back to Acorn when a
host parser is unavailable.
- Added an esbuild host-adapter test for the transform.
- Documented that Magic Regex converter interop remains docs-only because the
upstream API returns generated source text.
## 0.3.1
- Added a public roadmap documenting upstream Magic Regex, ArkRegex, and ArkType
compatibility gaps.
- Added transform-output execution coverage so the build-time plugin is tested
beyond emitted-code string checks.
## 0.3.0
- Added `regex-wand/transform` with `RegexWandTransformPlugin`, an unplugin
compatible with Vite, Rollup, Webpack, Rspack, esbuild, and other unplugin
hosts.
- The transform recognizes static direct and namespaced `regex-wand` builder
calls and emits native `RegExp` literals while preserving the adapter runtime
shape: `magic`, `ark`, and `toRegExp()`.
- Added transform tests for direct builder calls, namespaced calls, and dynamic
expressions that must be left unchanged.
## 0.2.1
- Added an explicit support matrix covering direct support, escape hatches, and
known technical gaps.
## 0.2.0
- Added `fromMagicAs<Pattern, Context>(magic)` as an ArkRegex-style manual type
escape hatch for Magic Regex values that are valid at runtime but too complex
or dynamic for type-level inference.
- Expanded `createRegExpWithFlags` and `createExactRegExpWithFlags` to accept
Magic Regex's documented flag forms: rest flag helpers, flag arrays, flag
strings, and flag Sets.
- Added runtime and `tsd` coverage for manual typing and expanded flag inputs.
- Documented Magic Regex build-time transform constraints and the
build-time-friendly `fromMagic(createRegExp(...))` boundary pattern.
## 0.1.4
- Loosened direct dependency ranges to explicit compatibility windows:
`arkregex >=0.0.5 <0.1.0` and `magic-regexp >=0.11.0 <0.12.0`.
## 0.1.3
- Moved `magic-regexp` and `arkregex` from peer dependencies to direct
dependencies so consumers only need to install `regex-wand`.
- Updated install docs to show `bun add regex-wand` and
`npm install regex-wand`.
- Hardened packed-consumer verification to prove the published tarball works
without explicitly installing the underlying libraries.
## 0.1.2
- Normalized regex flag order at the type level so Magic Regex values using
non-canonical flag order still preserve ArkRegex inference.
- Added runtime and `tsd` coverage for adapting existing Magic Regex values with
flags through `fromMagic`.
- Added a package testing strategy doc and clarified release workflow, GitHub
Pages, private-repo publishing, and provenance behavior in the monorepo docs.
## 0.1.1
- Expanded runtime coverage for escaping, exact matching, flags, indices,
string `RegExp` protocols, and `lastIndex` behavior.
- Expanded `tsd` coverage for exact and contains inference, flags, named groups,
optional captures, `RegexParts`, and compatibility errors.
- Added monorepo release and publish scripts.
- Improved package docs for usage, type safety, verification, and publishing.
## 0.1.0
- Initial Magic Regex to ArkRegex adapter.
- Added exact and flagged compile helpers.
- Added runtime tests, type tests, coverage, packed-consumer validation, and
TanStack Intent package skill metadata.