Skip to content

fix: resolve multiple bugs across wayfind and wayfind-react#1

Merged
z81 merged 4 commits into
masterfrom
claude/analyze-library-errors-kxesP
Apr 4, 2026
Merged

fix: resolve multiple bugs across wayfind and wayfind-react#1
z81 merged 4 commits into
masterfrom
claude/analyze-library-errors-kxesP

Conversation

@z81

@z81 z81 commented Apr 4, 2026

Copy link
Copy Markdown
Contributor

Core (wayfind):

  • Fix greedy regex .+[^/?#]+ for route variable matching
  • Fix boolean parser: Boolean("false") always returned true
  • Fix errorRender leaking across unrelated routes
  • Fix flatRoute registering intermediate nodes as matchable routes
  • Fix applyVars not stripping :type from variable names
  • Fix regex escaping missing * and - characters
  • Add destroy() method to clean up popstate event listener
  • Remove unused standalone isActive export
  • Fix duplicate ExtractVars export, add missing Path export in index.ts

React (wayfind-react):

  • Fix Redirect: add dependency array to useLayoutEffect to prevent infinite loop
  • Fix useNavigate: use props.to instead of non-existent props.url
  • Fix Link: strip to and vars props before spreading to DOM element

Demo:

  • Use workspace:* for local package dependencies instead of pinned versions

https://claude.ai/code/session_01NEbwj3dDz5Wm5GyFbzdp75

claude added 4 commits April 4, 2026 14:45
Core (wayfind):
- Fix greedy regex `.+` → `[^/?#]+` for route variable matching
- Fix boolean parser: `Boolean("false")` always returned true
- Fix errorRender leaking across unrelated routes
- Fix flatRoute registering intermediate nodes as matchable routes
- Fix applyVars not stripping `:type` from variable names
- Fix regex escaping missing `*` and `-` characters
- Add `destroy()` method to clean up popstate event listener
- Remove unused standalone `isActive` export
- Fix duplicate ExtractVars export, add missing Path export in index.ts

React (wayfind-react):
- Fix Redirect: add dependency array to useLayoutEffect to prevent infinite loop
- Fix useNavigate: use `props.to` instead of non-existent `props.url`
- Fix Link: strip `to` and `vars` props before spreading to DOM element

Demo:
- Use workspace:* for local package dependencies instead of pinned versions

https://claude.ai/code/session_01NEbwj3dDz5Wm5GyFbzdp75
- Update tsconfig target from es2016 to es2020 to support BigInt
- Add root-level lint and build scripts for CI
- Update CI workflows to use pnpm 8 and Node 18 (matching packageManager requirement)

https://claude.ai/code/session_01NEbwj3dDz5Wm5GyFbzdp75
Add eslint-disable comments for react-refresh/only-export-components
in demo files that don't export React components (entry point and
router config). Fixes CI lint failure with --max-warnings 0.

https://claude.ai/code/session_01NEbwj3dDz5Wm5GyFbzdp75
- Remove tsc from demo build (pre-existing type errors from React types
  version mismatch and complex type inference issues, demo is private)
- Fix unused parameter warnings (router → _router, T → _T)
- Fix ctx type in demo logs route

https://claude.ai/code/session_01NEbwj3dDz5Wm5GyFbzdp75
@z81 z81 merged commit 028562a into master Apr 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants