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

Regression v1.3.0+ in Safari #681

Open
sean-perkins opened this issue Mar 9, 2023 · 1 comment
Open

Regression v1.3.0+ in Safari #681

sean-perkins opened this issue Mar 9, 2023 · 1 comment

Comments

@sean-perkins
Copy link

sean-perkins commented Mar 9, 2023

Describe the bug

Using this package at ^1.3.0 results in the following exception in Safari:

Unhandled Promise Rejection: SyntaxError: Invalid regular expression: invalid group specifier named

This will crash any implementation that is not try/catching their usage around this library (e.g. when using the convert function).

To Reproduce
Steps to reproduce the behavior:

You can reproduce this issue by cloning this repository: https://github.com/cloud-annotations/docusaurus-openapi

  1. yarn install (note: the lock file is currently resolving 1.1.5)
  2. yarn build-packages
  3. yarn start
  4. In Safari, navigate to: http://localhost:3000/petstore
  5. Observe: The page loads, no errors in the console
  6. In Chrome, navigate to: http://localhost:3000/petstore
  7. Observe: The page loads, no errors in the console

Now, delete the yarn.lock file at the root of the repository and repeat the steps. (this will resolve 1.5.0)

  • In Safari, the page will not load and the following error will be displayed in the console:

Unhandled Promise Rejection: SyntaxError: Invalid regular expression: invalid group specifier named

  • In Chrome, the page will load and there is no error in the console.

Expected code snippet and corresponding request

N/A

Screenshots

N/A

Additional context

I tried to narrow which version was causing this issue and it appears to be in the v1.3.0 release era (happens in v1.4.0 and v1.5.0 as well).

It could be from this PR: #651, however the changelog doesn't currently link to commits and is somewhat hard to narrow changes per release.

Safari does not support look behind with regular expression matching, so whatever change in v1.3.0 introduces that usage, is likely the culprit.

@dhwaneetbhatt
Copy link
Contributor

@sean-perkins Safari seems to be missing support for lookbehind assertions in RegExp. There is an open issue in webkit: 174931 – Implement RegExp lookbehind assertions This has been fixed but has not made it to Safari stable yet.

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

No branches or pull requests

2 participants