-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
feat: Generate sourcemaps of friendly call frames #15022
Conversation
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/53972/ |
55884c8
to
5caf878
Compare
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.
Can we have minimal tests for (some of):
-
Function decl with id
-
Function decl without id (default export)
-
Method with identifier name
-
Method with computed identifier name
-
Method with computed string name
-
Function expression
-
Function expression as property
-
Arrow function and no params
-
Arrow function and 1 param without quotes
-
Arrow function and 1 param with quotes
-
Arrow function and multiple params
-
Arrow function as property
withIdentifierName(identifierName: string, cb: () => void): void { | ||
const pos = this._buf._sourcePosition; | ||
pos.identifierName = identifierName; | ||
cb(); |
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.
These closure allocations are probably more expensive that the property access, no? Could we just queue the name, and have it unset after making the next mark?
Is it such a test? The result is as follows, I'm not sure if the method needs to do anything. |
[fn]: function () {}, | ||
["fn"]: function () {}, |
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.
Technically, we can mark this one as fn
packages/babel-generator/test/fixtures/sourcemaps/function-identifier-name/output.js
Show resolved
Hide resolved
() => {}; | ||
|
||
x => {}; | ||
|
||
x => {}; | ||
|
||
(x, y, z) => {}; |
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.
These should be var x = …
form, since we could mark the arrows with names (but only if it has a (
).
Directly generated looks fine, not sure how it goes when merging source maps, probably not so good. |
Merging will will take the original's name if it exists, but will take the generated's name if it does not. Should be fine. |
@@ -23,7 +22,7 @@ type QueueItem = { | |||
repeat: number; | |||
line: number | undefined; | |||
column: number | undefined; | |||
identifierName: string | undefined; | |||
identifierName: undefined; // Not used, it always undefined. |
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.
Can't we just delete it if it's always undefined?
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.
I pass it as Loc and ts will complain, plus I personally tend to keep the object shape.
What if the input source map has no identifier name for |
It falls back to the generated sourcemap's name. |
Will this lead to inconsistencies? If the input source map has identifier names for function names, but not for |
Yes, that's a possibility. If the identifier is marked in the sourcemap with a name, and the This might mean we should not create a mark for the |
For vars and methods though, this might not look good, like Or we could pass the source map to the generator to get the identifier names, but not sure how that would affect performance. |
How do the devtools look like in these cases?
|
That's a great idea. It'll actually help with memory, because we don't need to create a full sourcemap just to throw it away during merge. We can perform the lookups for original source/line/column/name before marking our map, making it just a single map.
Devtools don't handle multiple source maps of a single file, so "original" is confusing here. There's only the map that's liked via |
I'm trying to do what I said above, but I'm running into some issues. https://github.com/babel/babel/blob/main/packages/babel-core/src/transformation/file/merge-map.ts#L4-L48
input As above, what should we do with what cannot be found in the input source map? I'm completely clueless about the scenario when I'm submitting what I've already done, any guidance would be greatly appreciated! |
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.
Here we removed sourceRoot, I'm not sure what to do in TraceMap.
We don't need to do anything special. Because the GenMapping
holds it separate, it'll just work.
In this test, the previous behavior seems to be according to the input sourcemap to create the fragment, and now it's based on what's generated after, which looks fine to me, but I'm not sure.(#14209 (review) looks like it was introduced here)
The new output is fine. The input's map only has 4 (badly placed) mappings. The old behavior during merging would only keep mappings that could map directly into one of those 4 locations, and then perform deduplication with contiguous segments that point to the same.
Eg, arr.map
, there should be 3 mappings (arr
, .
, map
). With the old code, we performed a lookup and they all pointed to the same segment. There's no point in having 3 mappings to that same position, so we ignored the latter.
This is only a problem because the input map was poorly generated (I don't actually know where it came from). If the input is high-fidelity, then this would have given better results before.
As above, what should we do with what cannot be found in the input source map? I'm completely clueless about the scenario when code is an object. Currently I'm adding the input code to the sourcemap as well, what could be wrong?
I mentioned this during one of the inline comments.
Also I'm using a fragment as an identifier in this PR, it seems that if we map as per the input source map, the code of this PR won't work as expected.
Fragment?
@@ -327,6 +331,12 @@ class Printer { | |||
this._buf._sourcePosition.identifierName = identifierName; | |||
} | |||
|
|||
getIdentifierName(pos: Pos): string | null { | |||
if (this._inputMap && pos) { | |||
return originalPositionFor(this._inputMap, pos).name; |
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.
Can't we just leave this till the mark
call? We're already performing the originalPositionFor
call there. I think we can just store the name name we think, then prioritize the original's name during I think we could store the mark
.loc
?
if (id) { | ||
if (id.type === "Identifier") { | ||
name = | ||
this.getIdentifierName(id.loc?.start) || |
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.
I think these calls are unnecessary. The (
won't map to the identifier name. Could we instead store the loc
?
if (!original) { | ||
original = { | ||
line: line, | ||
column: column, | ||
}; | ||
} |
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.
There are two paths to hit this:
- The original mapping is not contained the input map.
- There's no input map.
I think we should only do this for 2). For 1), if the original mapping couldn't be found, then that means that this position is sourceless, and can't point to a real location. So, it's just generated, not original.
See also, Terser's behavior
Thanks for your review, very helpful!
I use |
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.
When the debugger renames an identifier it treats the entire expression as one identifier, which is not expected.
This is because the input sourcemap is very low fidelity. A good input map would have given proper outputs. The input var foo = () => 4
has no relation with the output arr.map(…)
, they share nothing that could reasonably be mapped. Honestly, the output here looks entirely generated, and there isn't anywhere for the map to point to in the original. It should probably be empty.
Is this form of source map common? I'm not sure if I should use
computeColumnSpans
.
I don't implement it for my packages because I've never needed it. And it's not guaranteed to work to work the way you want. The only information available in a sourcemap are the segment positions. This essentially gives you the range that a segment covers by looking at the generated column of the next segment in the map, but who knows what that segment represents?
Eg, esbuild's output would have a foo =
range, and not a foo
. Terser would give foo=
.
The easiest sourcemaps to generate just mark the beginnings of identifiers, and completely ignore any syntax. The debugging experience will be better with }
and now the (
marked. But really, nothing else is strictly necessary. So there's no guarantee that the whitespace/syntax/X directly following an identifier name will be marked.
if (this._inputMap) { | ||
if (identifierNamePos) { | ||
const name = originalPositionFor(this._inputMap, { | ||
line, |
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.
Shouldn't this be using identifierNamePos.line
?
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.
Oops this is a bug.
|
||
source = originalMapping.source; | ||
|
||
if (source && originalMapping.line != null) { |
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.
I think source
implies originalMapping.line != null
and vice-versa.
column, | ||
}).name; | ||
if (name) { | ||
identifierName = name; |
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.
Nit: If we're prioritizing the below lookup's name, we can skip this if that one found a name.
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.
But the original position of the parentheses will be pointed to the identifier, what do you think of this?
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.
I'm not suggesting we take the original line
/column
from this lookup, but that we skip this lookup entirely.
// This is the lookup for this mark
const originalMapping = originalPositionFor(this._inputMap, {
line,
column,
});
if (originalMapping.name) {
// If the we found a name, nothing else needs to be done
// Maybe we're marking a `(` and the input map already had a name attached there,
// or we're marking a `(` and the sourcemap spanned a `foo(`,
// or we're marking an identifier, etc.
identifierName = originalMapping.name;
} else if (identifierNamePos) {
// We're trying to mark a `(` (as that's the only thing that provides
// an identifierNamePos currently), and we the AST had an identifier attached.
// Lookup it's original name.
const originalIdentifierMapping = originalPositionFor(this._inputMap, identifierNamePos);
if (originalIdentifierMapping.name) {
identifierName = originalIdentifierMapping.name;
}
} else {
// noop, just use the passed in identifierName
}
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.
It's all really great! I also left these amazing comments in the code.
} | ||
|
||
// Fast path for multi-line | ||
if (maybeNewline && identifierNamePos && this._map?._inputMap) { |
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.
What's this block used for?
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.
We'll call _mark
on each line, so we can avoid having to look up the original identifier name multiple times, maybe always search 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.
Oh, we shouldn't mark a name for the start of a line. We can just pass nulls for the while loop
Thank you so much for this information! It looks like reality is a little bit bad. |
ed7abbb
to
e995efe
Compare
In general, no, there's not a better way to do this. But in this very specific case, we could fix babel's output. It looks like we're generating a single marking at the of Actually, we try to mark the generated |
Thanks for your advice! I'm not sure what the real logic of I opened a PR microsoft/vscode-js-debug#1419 to use the start and end of the mapping of the entire generated code. I'm currently thinking that maybe it's possible to determine if the source map, like babel, always treats the identifier as a single mapping without any other characters, by checking for tokens or spaces in all the generated code mappings. |
The failures in the E2E Jest tests are ok, it's diff about the generated source maps. I will merge this PR as the last one before releasing, to avoid having CI red while merging all the others. |
fff46a4
to
8a27df1
Compare
aedd752
to
fd9a77e
Compare
After upgrading to
That seems to map to this bit of code in source-map.js (from if (resolvedSources.length) {
for (let i = 0; i < resolvedSources.length; i++) {
(0, _genMapping.setSourceContent)(map, resolvedSources[i], this._inputMap.sourcesContent[i]); // <- this line
}
} If I remove the |
@stefcameron Thank you for your report! Can you show |
@liuxingbaoyu You're welcome! Here is one sample for {
"version": 3,
"sources": [
"/packages/core/DOCS.mdx"
],
"names": [
"props",
"components",
"corePkgPropDefs",
"propBoxModes",
"EXPORT",
"coreDomExportDefs",
"coreLayerExportDefs",
"coreStyleExportDefs",
"coreUtilExportDefs",
"coreExportDefs"
],
"mappings": ";;OACO,YAAY;OACZ,eAAe;QAEb,SAAS,mBAAoB;OAA6B,qBAAqB;OACX,oBAAoB;OACtB,uBAAuB;OACjB,yBAAyB;OACrB,yBAAyB;OACzB,wBAAwB;;;;;;;;;;;;kBAGzFA,MAAMC;;;gBAEvB;;;gBAEC;;gBAEJ;;gBAEA;;;;;;;;oBAYgB;cACNC;;;gBAGN;;gBAEJ;;;oBAIgB;YACRC,aAAaC;cACXC;;;gBAGN;;gBAEJ;;;oBAIgB;YACRF,aAAaC;cACXE;;;gBAGN;;gBAEJ;;;oBAIgB;YACRH,aAAaC;cACXG;;;gBAGN;;iBAEJ;;kBAA6B;UAA4B;;gBAEzD;;;oBAIgB;YACRJ,aAAaC;cACXI;;;gBAGN;;gBAEJ;;;oBAIgB;YACRL,aAAaC;cACXK;;;gBAGP;;kBAEoBT,MAAMC",
"file": "/packages/core/DOCS.mdx"
} |
I'm seeing the same issue as @stefcameron with the
Given that this is an npm dependency, I think it should be easy to reproduce. Looking at the code for |
@EvHaus This is fixed, just need to update babel! |
<h3>Snyk has created this PR to upgrade @babel/core from 7.20.12 to 7.21.0.</h3> :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project. <hr/> - The recommended version is **1 version** ahead of your current version. - The recommended version was released **24 days ago**, on 2023-02-20. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@babel/core</b></summary> <ul> <li> <b>7.21.0</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.21.0">2023-02-20</a></br><h2>v7.21.0 (2023-02-20)</h2> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/azizghuloum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ehoogeveen-medweb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/ehoogeveen-medweb">@ ehoogeveen-medweb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fwienber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lioness100/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/Lioness100">@ Lioness100</a> for your first PRs!</p> <h4><g-emoji class="g-emoji" alias="rocket" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f680.png">🚀</g-emoji> New Feature</h4> <ul> <li><code>babel-core</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-private-methods</code>, <code>babel-plugin-proposal-private-property-in-object</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15435" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15435/hovercard">#15435</a> feat: Implement <code>privateFieldsAsSymbols</code> assumption for classes (<a href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>)</li> </ul> </li> <li><code>babel-helper-create-regexp-features-plugin</code>, <code>babel-plugin-proposal-regexp-modifiers</code>, <code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15226" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15226/hovercard">#15226</a> feat: Support regexp modifiers proposal (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-cli</code>, <code>babel-core</code>, <code>babel-generator</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-react-jsx</code>, <code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15022" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15022/hovercard">#15022</a> feat: Generate sourcemaps of friendly call frames (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-parser</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15384" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15384/hovercard">#15384</a> [ts] Support <code>const</code> modifier in type parameters (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-helpers</code>, <code>babel-parser</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-syntax-decorators</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15405" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15405/hovercard">#15405</a> Implement decorators as presented at <code>2023-01</code> TC39 meeting (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15114" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15114/hovercard">#15114</a> Parser option to allow <code>new.target</code> outside functions (<a href="https://snyk.io/redirect/github/overlookmotel">@ overlookmotel</a>)</li> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15320" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15320/hovercard">#15320</a> Add <code>annexb: false</code> parser option to disable Annex B (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-core</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15283" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15283/hovercard">#15283</a> feat: Support <code>.cts</code> as configuration file (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-parser</code>, <code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15381" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15381/hovercard">#15381</a> [ts] Support <code>export type * from</code> (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Bug Fix</h4> <ul> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15379" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15379/hovercard">#15379</a> [ts5.0] Better inlining of constants in enums (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-core</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15366" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15366/hovercard">#15366</a> handling circular/shared structures in deep-clone (<a href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-class-static-block</code>, <code>babel-plugin-proposal-private-methods</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-new-target</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15406" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15406/hovercard">#15406</a> Preserve class elements comments in class transform (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-parser</code>, <code>babel-plugin-transform-flow-comments</code>, <code>babel-plugin-transform-flow-strip-types</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15414" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15414/hovercard">#15414</a> [ts] Fix restrictions for optional parameters (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="nail_care" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji> Polish</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15400" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15400/hovercard">#15400</a> polish: improve "<code>await</code> as identifier" error in modules (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> Internal</h4> <ul> <li><code>babel-core</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15137" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15137/hovercard">#15137</a> Improve CJS compat with ESM-based <code>@ babel/core</code> (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="microscope" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52c.png">🔬</g-emoji> Output optimization</h4> <ul> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15418" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15418/hovercard">#15418</a> [ts] Handle exponentiation operator in constant folding (<a href="https://snyk.io/redirect/github/ehoogeveen-medweb">@ ehoogeveen-medweb</a>)</li> </ul> </li> </ul> <h4>Committers: 11</h4> <ul> <li>Abdulaziz Ghuloum (<a href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>)</li> <li>Babel Bot (<a href="https://snyk.io/redirect/github/babel-bot">@ babel-bot</a>)</li> <li>Emanuel Hoogeveen (<a href="https://snyk.io/redirect/github/ehoogeveen-medweb">@ ehoogeveen-medweb</a>)</li> <li>Frank Wienberg (<a href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>)</li> <li>Huáng Jùnliàng (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> <li>Mateusz Burzyński (<a href="https://snyk.io/redirect/github/Andarist">@ Andarist</a>)</li> <li>Nicolò Ribaudo (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li><a href="https://snyk.io/redirect/github/Lioness100">@ Lioness100</a></li> <li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a></li> <li><a href="https://snyk.io/redirect/github/overlookmotel">@ overlookmotel</a></li> <li>fisker Cheung (<a href="https://snyk.io/redirect/github/fisker">@ fisker</a>)</li> </ul> </li> <li> <b>7.20.12</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.20.12">2023-01-04</a></br><h2>v7.20.12 (2023-01-04)</h2> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cross19xx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/cross19xx">@ cross19xx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JBYoshi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/JBYoshi">@ JBYoshi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nmn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/nmn">@ nmn</a> for your first PRs!</p> <h4><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Bug Fix</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15224" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15224/hovercard">#15224</a> Fix <code>TaggedTemplateLiteral</code> evaluation (<a href="https://snyk.io/redirect/github/nmn">@ nmn</a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-class-properties</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15312" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15312/hovercard">#15312</a> fix: <code>delete this</code> in static class properties initialization (<a href="https://snyk.io/redirect/github/SuperSodaSea">@ SuperSodaSea</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="nail_care" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji> Polish</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15313" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15313/hovercard">#15313</a> Implement support for evaluating computed properties. (<a href="https://snyk.io/redirect/github/JBYoshi">@ JBYoshi</a>)</li> </ul> </li> </ul> <h4>Committers: 5</h4> <ul> <li>Jonathan Browne (<a href="https://snyk.io/redirect/github/JBYoshi">@ JBYoshi</a>)</li> <li>Kenneth Kwakye-Gyamfi (<a href="https://snyk.io/redirect/github/cross19xx">@ cross19xx</a>)</li> <li>Naman Goel (<a href="https://snyk.io/redirect/github/nmn">@ nmn</a>)</li> <li>Nicolò Ribaudo (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li>Tianlan Zhou (<a href="https://snyk.io/redirect/github/SuperSodaSea">@ SuperSodaSea</a>)</li> </ul> </li> </ul> from <a href="https://snyk.io/redirect/github/babel/babel/releases">@babel/core GitHub release notes</a> </details> </details> <hr/> **Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.* For more information: <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIxMjFlNDk2Mi01NjQ2LTRjNzEtYmY1My02ZTg1MWE1YzNiMTciLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjEyMWU0OTYyLTU2NDYtNGM3MS1iZjUzLTZlODUxYTVjM2IxNyJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr) 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?pkg=@babel/core&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"121e4962-5646-4c71-bf53-6e851a5c3b17","prPublicId":"121e4962-5646-4c71-bf53-6e851a5c3b17","dependencies":[{"name":"@babel/core","from":"7.20.12","to":"7.21.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"852e6e4f-be96-45c8-b370-1060f5ebee55","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2023-02-20T15:31:22.823Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) ---> --------- Co-authored-by: snyk-bot <snyk-bot@snyk.io>
<p>This PR was automatically created by Snyk using the credentials of a real user.</p><br /><h3>Snyk has created this PR to upgrade @babel/core from 7.21.0 to 7.21.3.</h3> :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project. <hr/> - The recommended version is **1 version** ahead of your current version. - The recommended version was released **22 days ago**, on 2023-03-14. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@babel/core</b></summary> <ul> <li> <b>7.21.3</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.21.3">2023-03-14</a></br><h2>v7.21.3 (2023-03-14)</h2> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amoeller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/amoeller">@ amoeller</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Harpica/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/Harpica">@ Harpica</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nzakas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/nzakas">@ nzakas</a> for your first PRs!</p> <h4><g-emoji class="g-emoji" alias="eyeglasses" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f453.png">👓</g-emoji> Spec Compliance</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15479" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15479/hovercard">#15479</a> disallow mixins/implements in flow interface (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Bug Fix</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15423" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15423/hovercard">#15423</a> [ts] Allow keywords in tuple labels (<a href="https://snyk.io/redirect/github/Harpica">@ Harpica</a>)</li> </ul> </li> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15489" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15489/hovercard">#15489</a> Register <code>var</code> decls generated by <code>import ... =</code> TS transform (<a href="https://snyk.io/redirect/github/amoeller">@ amoeller</a>)</li> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15494" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15494/hovercard">#15494</a> fix: Consider <code>export { type foo }</code> as type-only usage (<a href="https://snyk.io/redirect/github/magic-akari">@ magic-akari</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="nail_care" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji> Polish</h4> <ul> <li><code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15484" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15484/hovercard">#15484</a> Skip node deprecation warnings when used by an old <code>@ babel</code> package (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15480" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15480/hovercard">#15480</a> chore: Improve <code>jsonCompatibleStrings</code> deprecation (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> Internal</h4> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15465" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15465/hovercard">#15465</a> Add ESLint-readable package name (<a href="https://snyk.io/redirect/github/nzakas">@ nzakas</a>)</li> </ul> <h4><g-emoji class="g-emoji" alias="microscope" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52c.png">🔬</g-emoji> Output optimization</h4> <ul> <li><code>babel-plugin-transform-typescript</code>, <code>babel-preset-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15467" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15467/hovercard">#15467</a> Optimize TS enums output (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> </ul> <h4>Committers: 8</h4> <ul> <li>Alexandra Kadykova (<a href="https://snyk.io/redirect/github/Harpica">@ Harpica</a>)</li> <li>Anders Møller (<a href="https://snyk.io/redirect/github/amoeller">@ amoeller</a>)</li> <li>Babel Bot (<a href="https://snyk.io/redirect/github/babel-bot">@ babel-bot</a>)</li> <li>Huáng Jùnliàng (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> <li>Nicholas C. Zakas (<a href="https://snyk.io/redirect/github/nzakas">@ nzakas</a>)</li> <li>Nicolò Ribaudo (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a></li> <li>magic-akari (<a href="https://snyk.io/redirect/github/magic-akari">@ magic-akari</a>)</li> </ul> </li> <li> <b>7.21.0</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.21.0">2023-02-20</a></br><h2>v7.21.0 (2023-02-20)</h2> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/azizghuloum/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ehoogeveen-medweb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/ehoogeveen-medweb">@ ehoogeveen-medweb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fwienber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lioness100/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/Lioness100">@ Lioness100</a> for your first PRs!</p> <h4><g-emoji class="g-emoji" alias="rocket" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f680.png">🚀</g-emoji> New Feature</h4> <ul> <li><code>babel-core</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-private-methods</code>, <code>babel-plugin-proposal-private-property-in-object</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15435" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15435/hovercard">#15435</a> feat: Implement <code>privateFieldsAsSymbols</code> assumption for classes (<a href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>)</li> </ul> </li> <li><code>babel-helper-create-regexp-features-plugin</code>, <code>babel-plugin-proposal-regexp-modifiers</code>, <code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15226" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15226/hovercard">#15226</a> feat: Support regexp modifiers proposal (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-cli</code>, <code>babel-core</code>, <code>babel-generator</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-react-jsx</code>, <code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15022" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15022/hovercard">#15022</a> feat: Generate sourcemaps of friendly call frames (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-parser</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15384" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15384/hovercard">#15384</a> [ts] Support <code>const</code> modifier in type parameters (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-helpers</code>, <code>babel-parser</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-syntax-decorators</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15405" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15405/hovercard">#15405</a> Implement decorators as presented at <code>2023-01</code> TC39 meeting (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15114" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15114/hovercard">#15114</a> Parser option to allow <code>new.target</code> outside functions (<a href="https://snyk.io/redirect/github/overlookmotel">@ overlookmotel</a>)</li> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15320" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15320/hovercard">#15320</a> Add <code>annexb: false</code> parser option to disable Annex B (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-core</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15283" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15283/hovercard">#15283</a> feat: Support <code>.cts</code> as configuration file (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-parser</code>, <code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15381" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15381/hovercard">#15381</a> [ts] Support <code>export type * from</code> (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Bug Fix</h4> <ul> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15379" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15379/hovercard">#15379</a> [ts5.0] Better inlining of constants in enums (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-core</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15366" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15366/hovercard">#15366</a> handling circular/shared structures in deep-clone (<a href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-class-static-block</code>, <code>babel-plugin-proposal-private-methods</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-new-target</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15406" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15406/hovercard">#15406</a> Preserve class elements comments in class transform (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-parser</code>, <code>babel-plugin-transform-flow-comments</code>, <code>babel-plugin-transform-flow-strip-types</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15414" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15414/hovercard">#15414</a> [ts] Fix restrictions for optional parameters (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="nail_care" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji> Polish</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15400" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15400/hovercard">#15400</a> polish: improve "<code>await</code> as identifier" error in modules (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> Internal</h4> <ul> <li><code>babel-core</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15137" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15137/hovercard">#15137</a> Improve CJS compat with ESM-based <code>@ babel/core</code> (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="microscope" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52c.png">🔬</g-emoji> Output optimization</h4> <ul> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15418" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15418/hovercard">#15418</a> [ts] Handle exponentiation operator in constant folding (<a href="https://snyk.io/redirect/github/ehoogeveen-medweb">@ ehoogeveen-medweb</a>)</li> </ul> </li> </ul> <h4>Committers: 11</h4> <ul> <li>Abdulaziz Ghuloum (<a href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>)</li> <li>Babel Bot (<a href="https://snyk.io/redirect/github/babel-bot">@ babel-bot</a>)</li> <li>Emanuel Hoogeveen (<a href="https://snyk.io/redirect/github/ehoogeveen-medweb">@ ehoogeveen-medweb</a>)</li> <li>Frank Wienberg (<a href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>)</li> <li>Huáng Jùnliàng (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> <li>Mateusz Burzyński (<a href="https://snyk.io/redirect/github/Andarist">@ Andarist</a>)</li> <li>Nicolò Ribaudo (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li><a href="https://snyk.io/redirect/github/Lioness100">@ Lioness100</a></li> <li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a></li> <li><a href="https://snyk.io/redirect/github/overlookmotel">@ overlookmotel</a></li> <li>fisker Cheung (<a href="https://snyk.io/redirect/github/fisker">@ fisker</a>)</li> </ul> </li> </ul> from <a href="https://snyk.io/redirect/github/babel/babel/releases">@babel/core GitHub release notes</a> </details> </details> <hr/> **Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.* For more information: <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI4ZDVkNTAxNi0zZGY0LTRhN2QtOGEwZC1mMGYyZDUyMTg4YTgiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjhkNWQ1MDE2LTNkZjQtNGE3ZC04YTBkLWYwZjJkNTIxODhhOCJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr) 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4/settings/integration?pkg=@babel/core&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"8d5d5016-3df4-4a7d-8a0d-f0f2d52188a8","prPublicId":"8d5d5016-3df4-4a7d-8a0d-f0f2d52188a8","dependencies":[{"name":"@babel/core","from":"7.21.0","to":"7.21.3"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"76f4d127-566b-42ef-86f4-bdcbc92b90b4","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2023-03-14T14:59:44.759Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) ---> Co-authored-by: snyk-bot <snyk-bot@snyk.io>
# Temporarily ignore this test that is failing due to source maps changes in | ||
# Babel 7.21.0. | ||
# Re-enable it once Jest updates their snapshots to the latest Babel version. | ||
rm -f packages/jest-transform/src/__tests__/ScriptTransformer.test.ts | ||
rm -f packages/jest-transform/src/__tests__/__snapshots__/ScriptTransformer.test.ts.snap |
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.
@nicolo-ribaudo incoming via jestjs/jest#14073, FWIW
(feel free to ping me whenever these change - happy to be quick to update in Jest as needed 🙂 )
There is a small performance optimization, since indentation will never have an identifier Name.
I've only updated some of the necessary tests, because a rebase is definitely required before merging.