Use minimal babel presets for wyw to fix the website Cloudflare build (#21994)
The website's Cloudflare build (`opennextjs-cloudflare` / Turbopack) was failing with `_defineProperty is not a function` while linaria/wyw evaluates `twenty-ui/dist/theme.cjs` at build time. It regressed in #21946, whose twenty-ui build rework changed the emitted `theme.cjs` so the theme objects ship as runtime object spreads (`{ ...THEME_COMMON }`). **Cause:** wyw evaluates modules in Node through `next/babel`, which pulls in `preset-env` + `transform-runtime`. Those re-lower the runtime spreads into `@babel/runtime` helpers imported as ESM; wyw then `require()`s that ESM module in a CJS context where the export is not callable, so `_defineProperty` fails. **Fix:** wyw runs in Node and needs no downleveling, so replace `next/babel` with minimal presets (`@babel/preset-typescript`, `@babel/preset-react`, `@wyw-in-js/babel-preset`, plus `@babel/plugin-transform-export-namespace-from`), matching twenty-front's wyw config. No `@babel/runtime` helpers get injected. Kept on the website side so twenty-ui keeps react/react-dom as peer deps (#21946). Note: no blocking PR check runs the website production build, so this is best validated via the website preview build or the twenty-infra deploy.
This commit is contained in:
@@ -34,6 +34,9 @@
|
||||
"zod": "^4.1.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/plugin-transform-export-namespace-from": "^7.24.6",
|
||||
"@babel/preset-react": "^7.24.6",
|
||||
"@babel/preset-typescript": "^7.24.6",
|
||||
"@lingui/cli": "^5.1.2",
|
||||
"@lingui/conf": "5.1.2",
|
||||
"@lingui/format-po": "5.1.2",
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
module.exports = {
|
||||
babelOptions: {
|
||||
presets: [
|
||||
require.resolve('next/babel'),
|
||||
require.resolve('@babel/preset-typescript'),
|
||||
require.resolve('@babel/preset-react'),
|
||||
require.resolve('@wyw-in-js/babel-preset'),
|
||||
],
|
||||
plugins: [require.resolve('@babel/plugin-transform-export-namespace-from')],
|
||||
compact: true,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -3544,6 +3544,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-export-namespace-from@npm:^7.24.6":
|
||||
version: 7.29.7
|
||||
resolution: "@babel/plugin-transform-export-namespace-from@npm:7.29.7"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": "npm:^7.29.7"
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 10c0/6cd951e366c5c30223c409157e312d949feecfae8b4b4927053764ec71ff2bacf43aceda9b53239cd90d71caf4ae849c70549e0d3e31377dd8f42a0c283bdda2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-export-namespace-from@npm:^7.25.9":
|
||||
version: 7.25.9
|
||||
resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9"
|
||||
@@ -3907,6 +3918,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-react-display-name@npm:^7.29.7":
|
||||
version: 7.29.7
|
||||
resolution: "@babel/plugin-transform-react-display-name@npm:7.29.7"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": "npm:^7.29.7"
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 10c0/0a3b2461b189d6f4ca4f691bb4d1872bdebbac90d2e933a42a2fb22a0d26c81fa1ba7bc8128f3886b3f0f8a0ffe5aa0d7eaf4cd5b9610fc4967913a060501781
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-react-jsx-development@npm:^7.27.1":
|
||||
version: 7.27.1
|
||||
resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1"
|
||||
@@ -3918,6 +3940,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-react-jsx-development@npm:^7.29.7":
|
||||
version: 7.29.7
|
||||
resolution: "@babel/plugin-transform-react-jsx-development@npm:7.29.7"
|
||||
dependencies:
|
||||
"@babel/plugin-transform-react-jsx": "npm:^7.29.7"
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 10c0/a2d44d068d35f8e6bc0437ba0da86526d4473491a43108caf77cba467a3ab522cbd09bcd8184b7a49f3d2b52e0883ad797ed2f91c090b857a80a6f383e88f449
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-react-jsx@npm:^7.27.1":
|
||||
version: 7.28.6
|
||||
resolution: "@babel/plugin-transform-react-jsx@npm:7.28.6"
|
||||
@@ -3933,6 +3966,21 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-react-jsx@npm:^7.29.7":
|
||||
version: 7.29.7
|
||||
resolution: "@babel/plugin-transform-react-jsx@npm:7.29.7"
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure": "npm:^7.29.7"
|
||||
"@babel/helper-module-imports": "npm:^7.29.7"
|
||||
"@babel/helper-plugin-utils": "npm:^7.29.7"
|
||||
"@babel/plugin-syntax-jsx": "npm:^7.29.7"
|
||||
"@babel/types": "npm:^7.29.7"
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 10c0/ae6487c3deafcffda8a2c1b1eb77e0b7121630fa1a9646cecd73dbbdd8271532a0f7f0e8c01f69b6d39a36d8d79eb67e2d51031369c9055f18f7d8e70d9b5446
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1":
|
||||
version: 7.27.1
|
||||
resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1"
|
||||
@@ -3945,6 +3993,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-react-pure-annotations@npm:^7.29.7":
|
||||
version: 7.29.7
|
||||
resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.29.7"
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure": "npm:^7.29.7"
|
||||
"@babel/helper-plugin-utils": "npm:^7.29.7"
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 10c0/ad85d57dfa105cd19dc5271f68c9a3e134ab96edce9b8c6b521fdb158499bc616df9d4ee9b386e9dc5532e67bd5682ba2047b88550699d7f1060eaaba80fb6d1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-regenerator@npm:^7.25.9":
|
||||
version: 7.25.9
|
||||
resolution: "@babel/plugin-transform-regenerator@npm:7.25.9"
|
||||
@@ -4250,6 +4310,22 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/preset-react@npm:^7.24.6":
|
||||
version: 7.29.7
|
||||
resolution: "@babel/preset-react@npm:7.29.7"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": "npm:^7.29.7"
|
||||
"@babel/helper-validator-option": "npm:^7.29.7"
|
||||
"@babel/plugin-transform-react-display-name": "npm:^7.29.7"
|
||||
"@babel/plugin-transform-react-jsx": "npm:^7.29.7"
|
||||
"@babel/plugin-transform-react-jsx-development": "npm:^7.29.7"
|
||||
"@babel/plugin-transform-react-pure-annotations": "npm:^7.29.7"
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 10c0/a84e90805ce06dd5d7fcbfd8e32fe0c79966feba218e1d89097699ff5224d232e56191688ae264be2c6ef516523e3e2246949439e1e141d21def881a5752181f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.22.5, @babel/preset-typescript@npm:^7.24.6":
|
||||
version: 7.28.5
|
||||
resolution: "@babel/preset-typescript@npm:7.28.5"
|
||||
@@ -54208,6 +54284,9 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "twenty-website@workspace:packages/twenty-website"
|
||||
dependencies:
|
||||
"@babel/plugin-transform-export-namespace-from": "npm:^7.24.6"
|
||||
"@babel/preset-react": "npm:^7.24.6"
|
||||
"@babel/preset-typescript": "npm:^7.24.6"
|
||||
"@babel/runtime": "npm:^7.27.6"
|
||||
"@base-ui/react": "npm:^1.3.0"
|
||||
"@calcom/embed-react": "npm:^1.5.3"
|
||||
|
||||
Reference in New Issue
Block a user