Skip to content

Commit 040a027

Browse files
fix: update babel dependencies (#53)
1 parent 9385be8 commit 040a027

File tree

5 files changed

+139
-31
lines changed

5 files changed

+139
-31
lines changed

packages/transformer/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
"react-router": "*"
2222
},
2323
"dependencies": {
24-
"@babel/core": "^7.26.10",
25-
"@babel/generator": "^7.27.0",
26-
"@babel/parser": "^7.27.0",
27-
"@babel/traverse": "^7.27.0",
24+
"@babel/core": "^7.27.1",
25+
"@babel/generator": "^7.27.1",
26+
"@babel/parser": "^7.27.2",
27+
"@babel/traverse": "^7.27.1",
2828
"@babel/types": "^7.27.1",
2929
"@parcel/plugin": "^2.15.0",
3030
"babel-dead-code-elimination": "^1.0.10",
Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
1-
import type { NodePath } from "@babel/traverse";
2-
import type { types as Babel } from "@babel/core";
3-
import { parse, type ParseResult } from "@babel/parser";
4-
5-
// These `require`s were needed to support building within vite-ecosystem-ci,
6-
// otherwise we get errors that `traverse` and `generate` are not functions.
7-
const traverse = require("@babel/traverse")
8-
.default as typeof import("@babel/traverse").default;
9-
const generate = require("@babel/generator")
10-
.default as typeof import("@babel/generator").default;
11-
12-
export { traverse, generate, parse };
13-
export type { Babel, NodePath, ParseResult };
1+
export type { NodePath, Node } from "@babel/traverse";
2+
export type { types } from "@babel/core";
3+
export { parse, type ParseResult } from "@babel/parser";
4+
export { default as traverse } from "@babel/traverse";
5+
export { default as generate } from "@babel/generator";
6+
export type { File } from "@babel/types";
7+
export { cloneNode } from "@babel/types"

packages/transformer/src/babel/remove-exports.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,17 @@ import {
33
deadCodeElimination,
44
} from "babel-dead-code-elimination";
55

6-
import type { Babel, NodePath, ParseResult } from "./babel.ts";
7-
import { traverse } from "./babel.ts";
6+
import * as babel from "./babel.ts";
87

98
export const removeExports = (
10-
ast: ParseResult<Babel.File>,
9+
ast: babel.ParseResult<babel.File>,
1110
exportsToRemove: string[]
1211
) => {
1312
let previouslyReferencedIdentifiers = findReferencedIdentifiers(ast);
1413
let exportsFiltered = false;
15-
let markedForRemoval = new Set<NodePath<Babel.Node>>();
14+
let markedForRemoval = new Set<babel.NodePath<babel.Node>>();
1615

17-
traverse(ast, {
16+
babel.traverse(ast, {
1817
ExportDeclaration(path) {
1918
// export { foo };
2019
// export { bar } from "./module";
@@ -115,7 +114,7 @@ export const removeExports = (
115114
};
116115

117116
function validateDestructuredExports(
118-
id: Babel.ArrayPattern | Babel.ObjectPattern,
117+
id: babel.types.ArrayPattern | babel.types.ObjectPattern,
119118
exportsToRemove: string[]
120119
) {
121120
if (id.type === "ArrayPattern") {

packages/transformer/src/transformer.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ import oxcTransform from "oxc-transform";
33
import { Transformer } from "@parcel/plugin";
44
import type { TransformerResult, MutableAsset } from "@parcel/types";
55

6-
import { generate, parse } from "./babel/babel.ts";
7-
import { cloneNode } from "@babel/types"
6+
import * as babel from "./babel/babel.ts";
87
import { removeExports } from "./babel/remove-exports.ts";
98

109
const SERVER_ONLY_ROUTE_EXPORTS = [
@@ -65,7 +64,7 @@ export default new Transformer({
6564
// TODO: Add sourcemaps.....
6665
// TODO: Maybe pass TSConfig in here?
6766
const transformed = oxcTransform.transform(asset.filePath, routeSource);
68-
const ast = parse(transformed.code, {
67+
const ast = babel.parse(transformed.code, {
6968
sourceType: "module",
7069
});
7170

@@ -110,10 +109,10 @@ export default new Transformer({
110109
? [...SERVER_ONLY_ROUTE_EXPORTS, ...COMPONENT_EXPORTS]
111110
: SERVER_ONLY_ROUTE_EXPORTS;
112111

113-
let clientRouteModuleAst = cloneNode(ast, true);
112+
let clientRouteModuleAst = babel.cloneNode(ast, true);
114113
removeExports(clientRouteModuleAst, exportsToRemove);
115114

116-
let clientRouteModuleSource = '"use client";\n' + generate(clientRouteModuleAst).code;
115+
let clientRouteModuleSource = '"use client";\n' + babel.generate(clientRouteModuleAst).code;
117116
assets.push({
118117
uniqueKey: 'client-route-module-source',
119118
type: 'jsx',
@@ -127,13 +126,13 @@ export default new Transformer({
127126
}
128127

129128
// server route module
130-
let serverRouteModuleAst = cloneNode(ast, true);
129+
let serverRouteModuleAst = babel.cloneNode(ast, true);
131130
removeExports(
132131
serverRouteModuleAst,
133132
isServerFirstRoute ? CLIENT_NON_COMPONENT_EXPORTS : CLIENT_ROUTE_EXPORTS
134133
);
135134

136-
let serverRouteModule = generate(serverRouteModuleAst).code;
135+
let serverRouteModule = babel.generate(serverRouteModuleAst).code;
137136
if (!isServerFirstRoute) {
138137
for (const staticExport of staticExports) {
139138
if (CLIENT_NON_COMPONENT_EXPORTS_SET.has(staticExport)) {

yarn.lock

Lines changed: 117 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,26 @@
1919
js-tokens "^4.0.0"
2020
picocolors "^1.0.0"
2121

22+
"@babel/code-frame@^7.27.1":
23+
version "7.27.1"
24+
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
25+
integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
26+
dependencies:
27+
"@babel/helper-validator-identifier" "^7.27.1"
28+
js-tokens "^4.0.0"
29+
picocolors "^1.1.1"
30+
2231
"@babel/compat-data@^7.26.8":
2332
version "7.26.8"
2433
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367"
2534
integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==
2635

27-
"@babel/core@^7.21.8", "@babel/core@^7.23.7", "@babel/core@^7.26.10":
36+
"@babel/compat-data@^7.27.2":
37+
version "7.27.2"
38+
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9"
39+
integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==
40+
41+
"@babel/core@^7.21.8", "@babel/core@^7.23.7":
2842
version "7.26.10"
2943
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9"
3044
integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==
@@ -45,6 +59,27 @@
4559
json5 "^2.2.3"
4660
semver "^6.3.1"
4761

62+
"@babel/core@^7.27.1":
63+
version "7.27.1"
64+
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.1.tgz#89de51e86bd12246003e3524704c49541b16c3e6"
65+
integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==
66+
dependencies:
67+
"@ampproject/remapping" "^2.2.0"
68+
"@babel/code-frame" "^7.27.1"
69+
"@babel/generator" "^7.27.1"
70+
"@babel/helper-compilation-targets" "^7.27.1"
71+
"@babel/helper-module-transforms" "^7.27.1"
72+
"@babel/helpers" "^7.27.1"
73+
"@babel/parser" "^7.27.1"
74+
"@babel/template" "^7.27.1"
75+
"@babel/traverse" "^7.27.1"
76+
"@babel/types" "^7.27.1"
77+
convert-source-map "^2.0.0"
78+
debug "^4.1.0"
79+
gensync "^1.0.0-beta.2"
80+
json5 "^2.2.3"
81+
semver "^6.3.1"
82+
4883
"@babel/generator@^7.21.5", "@babel/generator@^7.26.10", "@babel/generator@^7.26.5", "@babel/generator@^7.27.0":
4984
version "7.27.0"
5085
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.0.tgz#764382b5392e5b9aff93cadb190d0745866cbc2c"
@@ -56,6 +91,17 @@
5691
"@jridgewell/trace-mapping" "^0.3.25"
5792
jsesc "^3.0.2"
5893

94+
"@babel/generator@^7.27.1":
95+
version "7.27.1"
96+
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230"
97+
integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==
98+
dependencies:
99+
"@babel/parser" "^7.27.1"
100+
"@babel/types" "^7.27.1"
101+
"@jridgewell/gen-mapping" "^0.3.5"
102+
"@jridgewell/trace-mapping" "^0.3.25"
103+
jsesc "^3.0.2"
104+
59105
"@babel/helper-annotate-as-pure@^7.25.9":
60106
version "7.25.9"
61107
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4"
@@ -74,6 +120,17 @@
74120
lru-cache "^5.1.1"
75121
semver "^6.3.1"
76122

123+
"@babel/helper-compilation-targets@^7.27.1":
124+
version "7.27.2"
125+
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
126+
integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
127+
dependencies:
128+
"@babel/compat-data" "^7.27.2"
129+
"@babel/helper-validator-option" "^7.27.1"
130+
browserslist "^4.24.0"
131+
lru-cache "^5.1.1"
132+
semver "^6.3.1"
133+
77134
"@babel/helper-create-class-features-plugin@^7.27.0":
78135
version "7.27.0"
79136
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz#518fad6a307c6a96f44af14912b2c20abe9bfc30"
@@ -103,6 +160,14 @@
103160
"@babel/traverse" "^7.25.9"
104161
"@babel/types" "^7.25.9"
105162

163+
"@babel/helper-module-imports@^7.27.1":
164+
version "7.27.1"
165+
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
166+
integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
167+
dependencies:
168+
"@babel/traverse" "^7.27.1"
169+
"@babel/types" "^7.27.1"
170+
106171
"@babel/helper-module-transforms@^7.26.0":
107172
version "7.26.0"
108173
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae"
@@ -112,6 +177,15 @@
112177
"@babel/helper-validator-identifier" "^7.25.9"
113178
"@babel/traverse" "^7.25.9"
114179

180+
"@babel/helper-module-transforms@^7.27.1":
181+
version "7.27.1"
182+
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz#e1663b8b71d2de948da5c4fb2a20ca4f3ec27a6f"
183+
integrity sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==
184+
dependencies:
185+
"@babel/helper-module-imports" "^7.27.1"
186+
"@babel/helper-validator-identifier" "^7.27.1"
187+
"@babel/traverse" "^7.27.1"
188+
115189
"@babel/helper-optimise-call-expression@^7.25.9":
116190
version "7.25.9"
117191
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e"
@@ -166,6 +240,11 @@
166240
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
167241
integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==
168242

243+
"@babel/helper-validator-option@^7.27.1":
244+
version "7.27.1"
245+
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
246+
integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
247+
169248
"@babel/helpers@^7.26.10":
170249
version "7.27.0"
171250
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.0.tgz#53d156098defa8243eab0f32fa17589075a1b808"
@@ -174,13 +253,28 @@
174253
"@babel/template" "^7.27.0"
175254
"@babel/types" "^7.27.0"
176255

256+
"@babel/helpers@^7.27.1":
257+
version "7.27.1"
258+
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.1.tgz#ffc27013038607cdba3288e692c3611c06a18aa4"
259+
integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==
260+
dependencies:
261+
"@babel/template" "^7.27.1"
262+
"@babel/types" "^7.27.1"
263+
177264
"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.21.8", "@babel/parser@^7.23.6", "@babel/parser@^7.26.10", "@babel/parser@^7.26.7", "@babel/parser@^7.27.0":
178265
version "7.27.0"
179266
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec"
180267
integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==
181268
dependencies:
182269
"@babel/types" "^7.27.0"
183270

271+
"@babel/parser@^7.27.1", "@babel/parser@^7.27.2":
272+
version "7.27.2"
273+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.2.tgz#577518bedb17a2ce4212afd052e01f7df0941127"
274+
integrity sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==
275+
dependencies:
276+
"@babel/types" "^7.27.1"
277+
184278
"@babel/plugin-syntax-decorators@^7.22.10":
185279
version "7.25.9"
186280
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz#986b4ca8b7b5df3f67cee889cedeffc2e2bf14b3"
@@ -241,6 +335,15 @@
241335
"@babel/parser" "^7.27.0"
242336
"@babel/types" "^7.27.0"
243337

338+
"@babel/template@^7.27.1":
339+
version "7.27.2"
340+
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
341+
integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
342+
dependencies:
343+
"@babel/code-frame" "^7.27.1"
344+
"@babel/parser" "^7.27.2"
345+
"@babel/types" "^7.27.1"
346+
244347
"@babel/traverse@^7.23.2", "@babel/traverse@^7.23.7", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.7", "@babel/traverse@^7.27.0":
245348
version "7.27.0"
246349
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70"
@@ -254,6 +357,19 @@
254357
debug "^4.3.1"
255358
globals "^11.1.0"
256359

360+
"@babel/traverse@^7.27.1":
361+
version "7.27.1"
362+
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291"
363+
integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==
364+
dependencies:
365+
"@babel/code-frame" "^7.27.1"
366+
"@babel/generator" "^7.27.1"
367+
"@babel/parser" "^7.27.1"
368+
"@babel/template" "^7.27.1"
369+
"@babel/types" "^7.27.1"
370+
debug "^4.3.1"
371+
globals "^11.1.0"
372+
257373
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.6", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.26.7", "@babel/types@^7.27.0":
258374
version "7.27.0"
259375
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559"

0 commit comments

Comments
 (0)