Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Escape NavLink path to allow special characters in path. Fixes #5584 #5596

Merged
merged 2 commits into from
Oct 6, 2017
Merged

Escape NavLink path to allow special characters in path. Fixes #5584 #5596

merged 2 commits into from
Oct 6, 2017

Conversation

esiegel
Copy link
Contributor

@esiegel esiegel commented Oct 6, 2017

The to prop passed to NavLink needs to have special characters escaped when passed to the Route component. This change allows NavLink to be used for urls with any characters.

Example routes that will be taken literally:

  • /pizza (1)
  • /:pizza*
  • /(.*)

@timdorr
Copy link
Member

timdorr commented Oct 6, 2017

Do we want this to apply higher up than just the NavLink component?

@pshrmn
Copy link
Contributor

pshrmn commented Oct 6, 2017

@timdorr I don't think so. The <Route> rendered by a <NavLink> is special since we know it should it doesn't have any params to be parsed.

@timdorr
Copy link
Member

timdorr commented Oct 6, 2017

BTW, no-whitespace mode makes this a little easier to grok on the diff: https://github.com/ReactTraining/react-router/pull/5596/files?w=1

@timdorr
Copy link
Member

timdorr commented Oct 6, 2017

OK, cleaned that up. LGTM 👍

@timdorr timdorr merged commit c3d453e into remix-run:master Oct 6, 2017
@esiegel
Copy link
Contributor Author

esiegel commented Oct 6, 2017

Awesome, thanks @timdorr and @pshrmn for the quick review and code cleanup.

Sorry to bother, but do you know when this will be published/released? I don't believe that I can directly add a specific commit as a npm dependency given the directory structure of the repo, though could be wrong here.

bors bot added a commit to mozilla/delivery-console that referenced this pull request Jun 6, 2018
179: Update dependency react-router-dom to v4.3.0 r=magopian a=renovate[bot]

This Pull Request updates dependency [react-router-dom](https://github.com/ReactTraining/react-router) from `v4.2.2` to `v4.3.0`



<details>
<summary>Release Notes</summary>

### [`v4.3.0`](https://github.com/ReactTraining/react-router/blob/master/CHANGELOG.md#v430httpsgithubcomReactTrainingreact-routercomparev420v430)
[Compare Source](remix-run/react-router@v4.3.0-rc.3...a27bc56)
> Jun 6, 2018

* Use the `pretty` option in generatePath ([#&#8203;6172] by @&#8203;sibelius)
* aria-current has incorrect value "true" ([#&#8203;6118] by @&#8203;brandonrninefive)
* Redirect with parameters ([#&#8203;5209] by @&#8203;dlindenkreuz)
* Fix with missing pathname: `<Link to="?foo=bar">` ([#&#8203;5489] by @&#8203;pshrmn)
* Escape NavLink path to allow special characters in path. ([#&#8203;5596] by @&#8203;esiegel)
* Expose `generatePath` ([#&#8203;5661] by @&#8203;rybon)
* Use named import of history module. ([#&#8203;5589] by @&#8203;RoboBurned)
* Hoist dependencies for smaller UMD builds ([#&#8203;5720] by @&#8203;pshrmn)
* Remove aria-current from navLink when inactive ([#&#8203;5508] by @&#8203;AlmeroSteyn)
* Add invariant for missing "to" property on `<Link>` ([#&#8203;5792] by @&#8203;selbekk)
* Use Prettier on the code ([e6f9017] by @&#8203;mjackson)
* Fix pathless route's match when parent is null ([#&#8203;5964] by @&#8203;pshrmn)
* Use history.createLocation in `<StaticRouter>` ([#&#8203;5722] by @&#8203;pshrmn)

[#&#8203;6172]: `remix-run/react-router#6172
[#&#8203;6118]: `remix-run/react-router#6118
[#&#8203;5209]: `remix-run/react-router#5209
[#&#8203;5489]: `remix-run/react-router#5489
[#&#8203;5596]: `remix-run/react-router#5596
[#&#8203;5661]: `remix-run/react-router#5661
[#&#8203;5589]: `remix-run/react-router#5589
[#&#8203;5720]: `remix-run/react-router#5720
[#&#8203;5508]: `remix-run/react-router#5508
[#&#8203;5792]: `remix-run/react-router#5792
[e6f9017]: remix-run/react-router@e6f9017
[#&#8203;5964]: `remix-run/react-router#5964
[#&#8203;5722]: `remix-run/react-router#5722

---

### [`v4.3.0-rc.3`](https://github.com/ReactTraining/react-router/releases/v4.3.0-rc.3)
[Compare Source](remix-run/react-router@v4.3.0-rc.2...v4.3.0-rc.3)
- Fix broken UMD builds.
- Add sideEffects: false for webpack tree shaking (#&#8203;6082 by @&#8203;taylorc93)

---

### [`v4.3.0-rc.2`](https://github.com/ReactTraining/react-router/releases/v4.3.0-rc.2)
[Compare Source](remix-run/react-router@v4.3.0-rc.1...v4.3.0-rc.2)
- Bump `hoist-non-react-statics` for React 16.3.
- Missing `generatePath` in `react-router-dom` package.

---

### [`v4.3.0-rc.1`](https://github.com/ReactTraining/react-router/releases/v4.3.0-rc.1)
[Compare Source](remix-run/react-router@v4.2.2...v4.3.0-rc.1)
> Mar 26, 2018

- Redirect with parameters ([#&#8203;5209] by @&#8203;dlindenkreuz)
- Fix with missing pathname: `<Link to="?foo=bar">` ([#&#8203;5489] by @&#8203;pshrmn)
- Escape NavLink path to allow special characters in path. ([#&#8203;5596] by @&#8203;esiegel)
- Expose `generatePath` ([#&#8203;5661] by @&#8203;rybon)
- Use named import of history module. ([#&#8203;5589] by @&#8203;RoboBurned)
- Hoist dependencies for smaller UMD builds ([#&#8203;5720] by @&#8203;pshrmn)
- Remove aria-current from navLink when inactive ([#&#8203;5508] by @&#8203;AlmeroSteyn)
- Add invariant for missing "to" property on `<Link>` ([#&#8203;5792] by @&#8203;selbekk)
- Use Prettier on the code ([e6f9017] by @&#8203;mjackson)
- Fix pathless route's match when parent is null ([#&#8203;5964] by @&#8203;pshrmn)
- Use history.createLocation in `<StaticRouter>` ([#&#8203;5722] by @&#8203;pshrmn)

[#&#8203;5209]: `remix-run/react-router#5209
[#&#8203;5489]: `remix-run/react-router#5489
[#&#8203;5596]: `remix-run/react-router#5596
[#&#8203;5661]: `remix-run/react-router#5661
[#&#8203;5589]: `remix-run/react-router#5589
[#&#8203;5720]: `remix-run/react-router#5720
[#&#8203;5508]: `remix-run/react-router#5508
[#&#8203;5792]: `remix-run/react-router#5792
[e6f9017]: remix-run/react-router@e6f9017
[#&#8203;5964]: `remix-run/react-router#5964
[#&#8203;5722]: `remix-run/react-router#5722

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).

Co-authored-by: Renovate Bot <[email protected]>
bors bot added a commit to mozilla/delivery-console that referenced this pull request Jun 6, 2018
178: Update dependency react-router to v4.3.0 r=magopian a=renovate[bot]

This Pull Request updates dependency [react-router](https://github.com/ReactTraining/react-router) from `v4.2.0` to `v4.3.0`



<details>
<summary>Release Notes</summary>

### [`v4.3.0`](https://github.com/ReactTraining/react-router/blob/master/CHANGELOG.md#v430httpsgithubcomReactTrainingreact-routercomparev420v430)
[Compare Source](remix-run/react-router@v4.3.0-rc.3...v4.3.0)
> Jun 6, 2018

* Use the `pretty` option in generatePath ([#&#8203;6172] by @&#8203;sibelius)
* aria-current has incorrect value "true" ([#&#8203;6118] by @&#8203;brandonrninefive)
* Redirect with parameters ([#&#8203;5209] by @&#8203;dlindenkreuz)
* Fix with missing pathname: `<Link to="?foo=bar">` ([#&#8203;5489] by @&#8203;pshrmn)
* Escape NavLink path to allow special characters in path. ([#&#8203;5596] by @&#8203;esiegel)
* Expose `generatePath` ([#&#8203;5661] by @&#8203;rybon)
* Use named import of history module. ([#&#8203;5589] by @&#8203;RoboBurned)
* Hoist dependencies for smaller UMD builds ([#&#8203;5720] by @&#8203;pshrmn)
* Remove aria-current from navLink when inactive ([#&#8203;5508] by @&#8203;AlmeroSteyn)
* Add invariant for missing "to" property on `<Link>` ([#&#8203;5792] by @&#8203;selbekk)
* Use Prettier on the code ([e6f9017] by @&#8203;mjackson)
* Fix pathless route's match when parent is null ([#&#8203;5964] by @&#8203;pshrmn)
* Use history.createLocation in `<StaticRouter>` ([#&#8203;5722] by @&#8203;pshrmn)

[#&#8203;6172]: `remix-run/react-router#6172
[#&#8203;6118]: `remix-run/react-router#6118
[#&#8203;5209]: `remix-run/react-router#5209
[#&#8203;5489]: `remix-run/react-router#5489
[#&#8203;5596]: `remix-run/react-router#5596
[#&#8203;5661]: `remix-run/react-router#5661
[#&#8203;5589]: `remix-run/react-router#5589
[#&#8203;5720]: `remix-run/react-router#5720
[#&#8203;5508]: `remix-run/react-router#5508
[#&#8203;5792]: `remix-run/react-router#5792
[e6f9017]: remix-run/react-router@e6f9017
[#&#8203;5964]: `remix-run/react-router#5964
[#&#8203;5722]: `remix-run/react-router#5722

---

### [`v4.3.0-rc.3`](https://github.com/ReactTraining/react-router/releases/v4.3.0-rc.3)
[Compare Source](remix-run/react-router@v4.3.0-rc.2...v4.3.0-rc.3)
- Fix broken UMD builds.
- Add sideEffects: false for webpack tree shaking (#&#8203;6082 by @&#8203;taylorc93)

---

### [`v4.3.0-rc.2`](https://github.com/ReactTraining/react-router/releases/v4.3.0-rc.2)
[Compare Source](remix-run/react-router@v4.3.0-rc.1...v4.3.0-rc.2)
- Bump `hoist-non-react-statics` for React 16.3.
- Missing `generatePath` in `react-router-dom` package.

---

### [`v4.3.0-rc.1`](https://github.com/ReactTraining/react-router/releases/v4.3.0-rc.1)
[Compare Source](remix-run/react-router@v4.2.0...v4.3.0-rc.1)
> Mar 26, 2018

- Redirect with parameters ([#&#8203;5209] by @&#8203;dlindenkreuz)
- Fix with missing pathname: `<Link to="?foo=bar">` ([#&#8203;5489] by @&#8203;pshrmn)
- Escape NavLink path to allow special characters in path. ([#&#8203;5596] by @&#8203;esiegel)
- Expose `generatePath` ([#&#8203;5661] by @&#8203;rybon)
- Use named import of history module. ([#&#8203;5589] by @&#8203;RoboBurned)
- Hoist dependencies for smaller UMD builds ([#&#8203;5720] by @&#8203;pshrmn)
- Remove aria-current from navLink when inactive ([#&#8203;5508] by @&#8203;AlmeroSteyn)
- Add invariant for missing "to" property on `<Link>` ([#&#8203;5792] by @&#8203;selbekk)
- Use Prettier on the code ([e6f9017] by @&#8203;mjackson)
- Fix pathless route's match when parent is null ([#&#8203;5964] by @&#8203;pshrmn)
- Use history.createLocation in `<StaticRouter>` ([#&#8203;5722] by @&#8203;pshrmn)

[#&#8203;5209]: `remix-run/react-router#5209
[#&#8203;5489]: `remix-run/react-router#5489
[#&#8203;5596]: `remix-run/react-router#5596
[#&#8203;5661]: `remix-run/react-router#5661
[#&#8203;5589]: `remix-run/react-router#5589
[#&#8203;5720]: `remix-run/react-router#5720
[#&#8203;5508]: `remix-run/react-router#5508
[#&#8203;5792]: `remix-run/react-router#5792
[e6f9017]: remix-run/react-router@e6f9017
[#&#8203;5964]: `remix-run/react-router#5964
[#&#8203;5722]: `remix-run/react-router#5722

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).

Co-authored-by: Renovate Bot <[email protected]>
@lock lock bot locked as resolved and limited conversation to collaborators Jan 18, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants