rsnext/errors/invalid-route-source.mdx

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

57 lines
1 KiB
Text
Raw Normal View History

---
title: 'Invalid Custom Route `source`'
---
## Why This Error Occurred
A pattern could not be parsed when defining custom routes or a middleware `matcher`.
This could have been due to trying to use normal `RegExp` syntax like negative lookaheads (`?!exclude`) without following [`path-to-regexp`](https://github.com/pillarjs/path-to-regexp)'s syntax.
## Possible Ways to Fix It
Wrap the `RegExp` part of your `source` as an un-named parameter.
##### Custom Routes
**Before**
```js
{
source: '/feedback/(?!general)',
destination: '/feedback/general'
}
```
**After**
```js
{
source: '/feedback/((?!general).*)',
destination: '/feedback/general'
}
```
##### Middleware
**Before**
```ts filename="middleware.ts"
const config = {
matcher: '/feedback/(?!general)',
}
```
**After**
```ts filename="middleware.ts"
const config = {
matcher: '/feedback/((?!general).*)',
}
```
## Useful Links
- [path-to-regexp](https://github.com/pillarjs/path-to-regexp)
- [un-named parameters](https://github.com/pillarjs/path-to-regexp#unnamed-parameters)