UNPKG

regex-wand

Version:

Typed regular expressions without giving up readable regex authoring.

166 lines (125 loc) 6.67 kB
# 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.