-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
fix: Transform using
in switch
correctly
#16524
Conversation
liuxingbaoyu
commented
May 22, 2024
Q | A |
---|---|
Fixed Issues? | Fixes #16422 |
Patch: Bug Fix? | √ |
Major: Breaking Change? | |
Minor: New Feature? | |
Tests Added + Pass? | √ |
Documentation PR Link | |
Any Dependency Changes? | |
License | MIT |
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/57037 |
if (!process.env.BABEL_8_BREAKING && !state.availableHelper("usingCtx")) { | ||
return; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we add a warning here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If would prefer to check if there is a using
statement in the switch, and if there is throw an error saying "we cannot transpile this, update @babel/core
".
throw path.buildCodeFrameError( | ||
"We cannot transpile this, please update `@babel/core`.", | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you throw this on the first using
declaration instead of the switch statement?
Saying something "using
declarations inside switch
statements are not supported by your current @babel/core
version, please update to a more recent one"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! :)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@babel/traverse](https://babel.dev/docs/en/next/babel-traverse) ([source](https://github.com/babel/babel)) | resolutions | patch | [`7.24.1` -> `7.24.7`](https://renovatebot.com/diffs/npm/@babel%2ftraverse/7.24.1/7.24.7) | --- ### Release Notes <details> <summary>babel/babel (@​babel/traverse)</summary> ### [`v7.24.7`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7247-2024-06-05) [Compare Source](babel/babel@v7.24.6...v7.24.7) ##### 🐛 Bug Fix - `babel-node` - [#​16554](babel/babel#16554) Allow extra flags in babel-node ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-traverse` - [#​16522](babel/babel#16522) fix: incorrect `constantViolations` with destructuring ([@​liuxingbaoyu](https://github.com/liuxingbaoyu)) - `babel-helper-transform-fixture-test-runner`, `babel-plugin-proposal-explicit-resource-management` - [#​16524](babel/babel#16524) fix: Transform `using` in `switch` correctly ([@​liuxingbaoyu](https://github.com/liuxingbaoyu)) ##### 🏠 Internal - `babel-helpers`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime` - [#​16525](babel/babel#16525) Delete unused array helpers ([@​blakewilson](https://github.com/blakewilson)) ### [`v7.24.6`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7246-2024-05-24) [Compare Source](babel/babel@v7.24.5...v7.24.6) ##### 🐛 Bug Fix - `babel-helper-create-class-features-plugin`, `babel-plugin-transform-class-properties` - [#​16514](babel/babel#16514) Fix source maps for private member expressions ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-core`, `babel-generator`, `babel-plugin-transform-modules-commonjs` - [#​16515](babel/babel#16515) Fix source maps for template literals ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-helper-create-class-features-plugin`, `babel-plugin-proposal-decorators` - [#​16485](babel/babel#16485) Support undecorated static accessor in anonymous classes ([@​JLHwung](https://github.com/JLHwung)) - [#​16484](babel/babel#16484) Fix decorator bare yield await ([@​JLHwung](https://github.com/JLHwung)) - `babel-helpers`, `babel-plugin-proposal-decorators`, `babel-runtime-corejs3` - [#​16483](babel/babel#16483) Fix: throw TypeError if addInitializer is called after finished ([@​JLHwung](https://github.com/JLHwung)) - `babel-parser`, `babel-plugin-transform-typescript` - [#​16476](babel/babel#16476) fix: Correctly parse `cls.fn<C> = x` ([@​liuxingbaoyu](https://github.com/liuxingbaoyu)) ##### 🏠 Internal - `babel-core`, `babel-helpers`, `babel-plugin-transform-runtime`, `babel-preset-env`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime` - [#​16501](babel/babel#16501) Generate helper metadata at build time ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-helpers` - [#​16499](babel/babel#16499) Add `tsconfig.json` for `@babel/helpers/src/helpers` ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-cli`, `babel-helpers`, `babel-plugin-external-helpers`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-modules-systemjs`, `babel-plugin-transform-runtime`, `babel-preset-env`, `babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime` - [#​16495](babel/babel#16495) Move all runtime helpers to individual files ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-parser`, `babel-traverse` - [#​16482](babel/babel#16482) Statically generate boilerplate for bitfield accessors ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - Other - [#​16466](babel/babel#16466) Migrate import assertions syntax ([@​JLHwung](https://github.com/JLHwung)) ### [`v7.24.5`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7245-2024-04-29) [Compare Source](babel/babel@v7.24.1...v7.24.5) ##### 🐛 Bug Fix - `babel-plugin-transform-classes`, `babel-traverse` - [#​16377](babel/babel#16377) fix: TypeScript annotation affects output ([@​liuxingbaoyu](https://github.com/liuxingbaoyu)) - `babel-helpers`, `babel-plugin-proposal-explicit-resource-management`, `babel-runtime-corejs3` - [#​16440](babel/babel#16440) Fix suppressed error order ([@​sossost](https://github.com/sossost)) - [#​16408](babel/babel#16408) Await nullish async disposable ([@​JLHwung](https://github.com/JLHwung)) ##### 💅 Polish - `babel-parser` - [#​16407](babel/babel#16407) Recover from exported `using` declaration ([@​JLHwung](https://github.com/JLHwung)) ##### 🏠 Internal - Other - [#​16414](babel/babel#16414) Relax ESLint peerDependency constraint to allow v9 ([@​liuxingbaoyu](https://github.com/liuxingbaoyu)) - `babel-parser` - [#​16425](babel/babel#16425) Improve `@babel/parser` AST types ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - [#​16417](babel/babel#16417) Always pass type argument to `.startNode` ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-helper-create-class-features-plugin`, `babel-helper-member-expression-to-functions`, `babel-helper-module-transforms`, `babel-helper-split-export-declaration`, `babel-helper-wrap-function`, `babel-helpers`, `babel-plugin-bugfix-firefox-class-in-computed-class-key`, `babel-plugin-proposal-explicit-resource-management`, `babel-plugin-transform-block-scoping`, `babel-plugin-transform-destructuring`, `babel-plugin-transform-object-rest-spread`, `babel-plugin-transform-optional-chaining`, `babel-plugin-transform-parameters`, `babel-plugin-transform-private-property-in-object`, `babel-plugin-transform-react-jsx-self`, `babel-plugin-transform-typeof-symbol`, `babel-plugin-transform-typescript`, `babel-traverse` - [#​16439](babel/babel#16439) Make `NodePath<T | U>` distributive ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-plugin-proposal-partial-application`, `babel-types` - [#​16421](babel/babel#16421) Remove `JSXNamespacedName` from valid `CallExpression` args ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) - `babel-plugin-transform-class-properties`, `babel-preset-env` - [#​16406](babel/babel#16406) Do not load unnecessary Babel 7 syntax plugins in Babel 8 ([@​nicolo-ribaudo](https://github.com/nicolo-ribaudo)) ##### 🏃♀️ Performance - `babel-helpers`, `babel-preset-env`, `babel-runtime-corejs3` - [#​16357](babel/babel#16357) Performance: improve `objectWithoutPropertiesLoose` on V8 ([@​romgrk](https://github.com/romgrk)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=--> Reviewed-on: https://git.vylpes.xyz/RabbitLabs/random-bunny/pulls/173 Co-authored-by: Renovate Bot <renovate@vylpes.com> Co-committed-by: Renovate Bot <renovate@vylpes.com>