diff --git a/babel.config.js b/babel.config.js index a7e8f5cad00e..f865be05efbc 100644 --- a/babel.config.js +++ b/babel.config.js @@ -56,6 +56,9 @@ if (process.env.DEBUG_BABEL_TRACE) { defaultPluginsForWebpack.push(traceTransformer); } +// This config is no longer read by webpack. The webpack build uses inline loader +// options in config/webpack/webpack.common.ts (babel-loader with configFile:false). +// Kept here for tooling compatibility (e.g. babel-jest, IDE plugins). const webpack = { presets: defaultPresetsForWebpack, plugins: defaultPluginsForWebpack, diff --git a/config/webpack/webpack.common.ts b/config/webpack/webpack.common.ts index 85f2123d80a7..b76be5c13771 100644 --- a/config/webpack/webpack.common.ts +++ b/config/webpack/webpack.common.ts @@ -26,6 +26,8 @@ import ModuleInitTimingPlugin from './ModuleInitTimingPlugin.ts'; import type Environment from './types.ts'; const require = createRequire(import.meta.url); +// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment +const ReactCompilerConfig = require('../../config/babel/reactCompilerConfig'); const filename = fileURLToPath(import.meta.url); const dirname = path.dirname(filename); @@ -290,10 +292,17 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): fullySpecified: false, }, }, - // Transpiles and lints all the JS + // Transpiles all JS/TS/JSX/TSX through a two-pass pipeline: + // Pass 1 (babel-loader, runs first): only the three plugins that have no OXC equivalent — + // react-compiler, worklets, and fullstory annotation. Babel also parses JSX/TS so + // these plugins see the original source. configFile:false prevents babel.config.js + // from being loaded; the webpack export there is now dead for webpack builds. + // Pass 2 (oxc-loader, runs second): bulk transforms — TypeScript stripping, JSX + // transform, class-properties, env target downleveling, etc. + // + // Webpack use[] runs right-to-left, so babel-loader executes before oxc-loader. { test: /\.(js|ts)x?$/, - loader: 'babel-loader', /** * Exclude node_modules except any packages we need to convert for rendering HTML because they import @@ -304,6 +313,41 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment): * use JSX/JS that needs to be transformed by babel. */ exclude: [new RegExp(`node_modules/(?!(${includeModules})/).*|\\.native\\.(js|jsx|ts|tsx)$`)], + use: [ + // Pass 2: bulk transforms handled natively by OXC (runs after babel-loader output) + { + loader: 'oxc-loader', + options: { + // Match the node 20 target used by the original @babel/preset-env config + target: 'node20', + // Babel's first pass already converted JSX to React.createElement calls, + // so there is no JSX syntax left for oxc-loader to transform. + autoDetectJsx: false, + }, + }, + // Pass 1: only the plugins that have no OXC equivalent (runs on raw source first) + { + loader: 'babel-loader', + options: { + babelrc: false, + // Prevent babel.config.js from being loaded; the webpack export there is + // now kept only for tooling compatibility (e.g. babel-jest / IDE plugins). + configFile: false, + presets: [ + // preset-react so Babel can parse JSX for react-compiler and fullstory + '@babel/preset-react', + // Strip TypeScript types so react-compiler sees plain JS + '@babel/preset-typescript', + ], + plugins: [ + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + ['babel-plugin-react-compiler', ReactCompilerConfig], + 'react-native-worklets/plugin', + ['@fullstory/babel-plugin-annotate-react', {native: true}], + ], + }, + }, + ], }, // We are importing this worker as a string by using asset/source otherwise it will default to loading via an HTTPS request later. // This causes issues if we have gone offline before the pdfjs web worker is set up as we won't be able to load it from the server. diff --git a/package-lock.json b/package-lock.json index 5703516b8e6c..738b825c0a64 100644 --- a/package-lock.json +++ b/package-lock.json @@ -147,13 +147,9 @@ "@babel/core": "^7.25.2", "@babel/parser": "^7.22.16", "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.21.11", - "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/preset-env": "^7.25.3", - "@babel/preset-flow": "^7.12.13", "@babel/preset-react": "^7.10.4", "@babel/preset-typescript": "^7.21.5", "@babel/traverse": "^7.22.20", @@ -224,7 +220,6 @@ "babel-loader": "^10.0.0", "babel-plugin-module-resolver": "^5.0.0", "babel-plugin-react-compiler": "0.0.0-experimental-a1856f3-20260422", - "babel-plugin-react-native-web": "^0.18.7", "babel-plugin-transform-remove-console": "^6.9.4", "clean-webpack-plugin": "^4.0.0", "concurrently": "^9.2.1", @@ -265,6 +260,7 @@ "nitrogen": "0.35.0", "onchange": "^7.1.0", "openai": "^6.16.0", + "oxc-loader": "^0.0.2", "patch-package": "^8.1.0-canary.1", "peggy": "^4.0.3", "portfinder": "^1.0.34", @@ -2256,21 +2252,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-private-methods": { "version": "7.18.6", "dev": true, @@ -2386,17 +2367,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-flow": { "version": "7.26.0", "license": "MIT", @@ -10925,6 +10895,346 @@ "url": "https://github.com/sponsors/Boshen" } }, + "node_modules/@oxc-transform/binding-android-arm-eabi": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-android-arm-eabi/-/binding-android-arm-eabi-0.121.0.tgz", + "integrity": "sha512-NNYkyDjTID7oVW0LUZ04kDShtyY6hgsTakd2u3mz/hN765JviCuyBIi5qT9dDOmgX0t1y74nuS7FwiLgaCcZ4g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-android-arm64": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-android-arm64/-/binding-android-arm64-0.121.0.tgz", + "integrity": "sha512-zO5az3E5JUmF/k7xOOL9TCipqaVn/d8QHK5T8/bcw6qTWAPVFJjQRK8+5MSmp2ItO2Dmxed5DdWMSxG2NNfA5w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-darwin-arm64": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-darwin-arm64/-/binding-darwin-arm64-0.121.0.tgz", + "integrity": "sha512-3vcZdmL8OAdYzXfPDeXrO9KagTgUbXPSFXotoww9N0jVNbdCvSpKJHia1aqdltyevrCWF4KqJyOeeUfGcw7AJw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-darwin-x64": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-darwin-x64/-/binding-darwin-x64-0.121.0.tgz", + "integrity": "sha512-R63ZXF4Fuer3FEZYX9UmzIKAENSEYQZTglTkzWoyNPyuHDhSfyJIK+X+wgy2Wc1lTad1XquCUq5SDuRSd37fcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-freebsd-x64": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-freebsd-x64/-/binding-freebsd-x64-0.121.0.tgz", + "integrity": "sha512-0krk8L6iOJ6fobs3f9XHo4RSgEas0yLq9/xGZMuwxFs+rI/rnpYPX+1LLSmreHqeZM77a7r+UF12WjwI1odVUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-arm-gnueabihf": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.121.0.tgz", + "integrity": "sha512-cNkTaw77UaNiGOCIv2R1kHZ3OkTVlr/059agLCUaeQmZGl76Ad7DrDcDyhC0Iugw0jEdWZ9zeUS5VLmzblnTXQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-arm-musleabihf": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.121.0.tgz", + "integrity": "sha512-eDwTIN0UUCQePgFR41doxorzsxoMoUTbXo6bEbvdFH7P4ZoaUXgHYN10Qjd9K6k0x/bBnU6oC4YPSWYKvQDr9Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-arm64-gnu": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.121.0.tgz", + "integrity": "sha512-UthSp+L23xeV0lIVloiRDU1d3aOvq0KRif3s6vszeSGnWf69+EVcZcondqLuX9optUhKV0/L8xwe2wLr9WkaDA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-arm64-musl": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.121.0.tgz", + "integrity": "sha512-J5vKUF8Jml1m9Fl48fKp2/wPl8LhGdjJWZ3PrrT+S16SbW7yEKixq5upzO2arhrky5elRYMXWwfi60ex1tBi6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-ppc64-gnu": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.121.0.tgz", + "integrity": "sha512-ya+/TL/YH/VcfWeRs95pMIgEj1eQgKg3kR/9AkQgSi8i9jIDEXrgrcQ8cwRYSZ3THlT6cxe3KGJa6vwcHG6JEg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-riscv64-gnu": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.121.0.tgz", + "integrity": "sha512-XhUBS/6bxL3maLMvkyY5jM23jFCORl+noYc7KkMydpb0Ot08XSu+8c2o7QpGVHWf85eTH/1Tx0aOTrcWek7EAw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-riscv64-musl": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.121.0.tgz", + "integrity": "sha512-kAcZZrU2Wxopcpt38D1u5OeLUwV78EXyOu3VfFNkP/vrMiKB4Tbca8ZxBq+XTkpijuKE4DdCQaLZylsFj7L00w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-s390x-gnu": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.121.0.tgz", + "integrity": "sha512-jHyHS+NwPAlUEuY6BzFBDoT4LfSBEW/Ne2FeMzdK8LXOvgHFrJiBf6x8FgekatrTGrDpy1hLiACNnPA81Hs2pQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-x64-gnu": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.121.0.tgz", + "integrity": "sha512-KedV2jkFxeMvUqfh6SgXjCnO5SBZ+SorTUxSBeql7zp59ONZgAcehWAqDX+YWsK8wEpt23Q8ydC/0d6ebJIAzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-linux-x64-musl": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-x64-musl/-/binding-linux-x64-musl-0.121.0.tgz", + "integrity": "sha512-jFAZwvgjsswiHET2xxxNvxhKCI74yVmewl0F00i3vzt9C088ZVaUvvWlqDS1GRvD4ORBmpJWOYkHdscpIJijEA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-openharmony-arm64": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-openharmony-arm64/-/binding-openharmony-arm64-0.121.0.tgz", + "integrity": "sha512-xn9nxaq31f19PUyGh1xKMOSs8MVPImeaESWNOHtAIznckE+qa5/oHtYALzF3z8uvy1EC/eZODWcHrsYOVNaWug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-wasm32-wasi": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-wasm32-wasi/-/binding-wasm32-wasi-0.121.0.tgz", + "integrity": "sha512-7lj6FBMX8zLfTqIY4YHHTE/b6oyCzZaUwqi2n9KX4FkgjtBpfmq5KSUgi/I+YiE7JJHu1g8Bd3uWJq1lbehL8Q==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oxc-transform/binding-win32-arm64-msvc": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.121.0.tgz", + "integrity": "sha512-+ve3UajNq2ldcCEEmpMVn7Ic3v/qCykPTSx3lZfe0iCW6tisIWvkYiXpf6B5dvwSY7SDyrdt9EyPMS75b41iPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-win32-ia32-msvc": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.121.0.tgz", + "integrity": "sha512-9ZUHa4bXWlPRLzbjYsU3VBSvqwSVHAknQlN+nUO1DVu6j958Ui9ux0I9pZHwxb07I26VMdDhd7AjJyz1ZtZlkg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-transform/binding-win32-x64-msvc": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/@oxc-transform/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.121.0.tgz", + "integrity": "sha512-vV/rzJsmJeeXI1q/xuy93PnoL/IYMwCCyYMX9MmIgMx2a4Lu3vIjUNBLJx1R5CqP/NnvAelsuz05sKlO017FmQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, "node_modules/@peggyjs/from-mem": { "version": "1.3.0", "dev": true, @@ -18878,11 +19188,6 @@ "@babel/types": "^7.26.0" } }, - "node_modules/babel-plugin-react-native-web": { - "version": "0.18.12", - "dev": true, - "license": "MIT" - }, "node_modules/babel-plugin-syntax-hermes-parser": { "version": "0.32.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz", @@ -26115,9 +26420,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", "dev": true, "license": "MIT", "dependencies": { @@ -33186,6 +33491,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/oxc-loader": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/oxc-loader/-/oxc-loader-0.0.2.tgz", + "integrity": "sha512-jY7SexUNGXjw5tbJurNk53hdc2JYtL3fm/FJUCjPVgvN4lhNom+rXlipVoKu4o2mo8qi5n0SHFtTsvXikbLL0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-tsconfig": "^4.13.6", + "oxc-transform": "^0.121.0" + } + }, "node_modules/oxc-parser": { "version": "0.99.0", "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.99.0.tgz", @@ -33219,6 +33535,41 @@ "@oxc-parser/binding-win32-x64-msvc": "0.99.0" } }, + "node_modules/oxc-transform": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/oxc-transform/-/oxc-transform-0.121.0.tgz", + "integrity": "sha512-Kf243wJU/vWF/ThV+ZyfLMQIrViVFRSyYO7UPKpZMMPGGMzxxcHgsNGWy0Uy+pcXD78+jdUnxVTR9rYT73Qw3A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxc-transform/binding-android-arm-eabi": "0.121.0", + "@oxc-transform/binding-android-arm64": "0.121.0", + "@oxc-transform/binding-darwin-arm64": "0.121.0", + "@oxc-transform/binding-darwin-x64": "0.121.0", + "@oxc-transform/binding-freebsd-x64": "0.121.0", + "@oxc-transform/binding-linux-arm-gnueabihf": "0.121.0", + "@oxc-transform/binding-linux-arm-musleabihf": "0.121.0", + "@oxc-transform/binding-linux-arm64-gnu": "0.121.0", + "@oxc-transform/binding-linux-arm64-musl": "0.121.0", + "@oxc-transform/binding-linux-ppc64-gnu": "0.121.0", + "@oxc-transform/binding-linux-riscv64-gnu": "0.121.0", + "@oxc-transform/binding-linux-riscv64-musl": "0.121.0", + "@oxc-transform/binding-linux-s390x-gnu": "0.121.0", + "@oxc-transform/binding-linux-x64-gnu": "0.121.0", + "@oxc-transform/binding-linux-x64-musl": "0.121.0", + "@oxc-transform/binding-openharmony-arm64": "0.121.0", + "@oxc-transform/binding-wasm32-wasi": "0.121.0", + "@oxc-transform/binding-win32-arm64-msvc": "0.121.0", + "@oxc-transform/binding-win32-ia32-msvc": "0.121.0", + "@oxc-transform/binding-win32-x64-msvc": "0.121.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "devOptional": true, diff --git a/package.json b/package.json index f990db6cee95..a2aab07ba391 100644 --- a/package.json +++ b/package.json @@ -211,13 +211,9 @@ "@babel/core": "^7.25.2", "@babel/parser": "^7.22.16", "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.21.11", - "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/preset-env": "^7.25.3", - "@babel/preset-flow": "^7.12.13", "@babel/preset-react": "^7.10.4", "@babel/preset-typescript": "^7.21.5", "@babel/traverse": "^7.22.20", @@ -288,7 +284,6 @@ "babel-loader": "^10.0.0", "babel-plugin-module-resolver": "^5.0.0", "babel-plugin-react-compiler": "0.0.0-experimental-a1856f3-20260422", - "babel-plugin-react-native-web": "^0.18.7", "babel-plugin-transform-remove-console": "^6.9.4", "clean-webpack-plugin": "^4.0.0", "concurrently": "^9.2.1", @@ -329,6 +324,7 @@ "nitrogen": "0.35.0", "onchange": "^7.1.0", "openai": "^6.16.0", + "oxc-loader": "^0.0.2", "patch-package": "^8.1.0-canary.1", "peggy": "^4.0.3", "portfinder": "^1.0.34",