overleaf/services/web/babel.config.json
Alf Eaton 19ba6c6a15 Use more native code instead of Babel polyfills, for performance (#16966)
GitOrigin-RevId: c0f3e611f32a7ed3d691ec8cf1b9a1d7ea4fd97c
2024-02-12 09:03:13 +00:00

38 lines
1.4 KiB
JSON

{
"presets": [
[
"@babel/env",
{
"useBuiltIns": "usage",
// This version must be aligned with the `core-js` version in `package.json`
"corejs": { "version": "3.30" },
"exclude": [
// Exclude Array.prototype.push polyfill, as it's not needed and affects performance in Chrome
"es.array.push",
// Exclude objectSpread polyfill, as it's not needed and affects performance
"@babel/plugin-transform-object-rest-spread",
// Exclude _defineProperty polyfill, as it causes a bug without the objectSpread polyfill
"@babel/plugin-transform-computed-properties",
// Use native async functions, for performance
"@babel/plugin-transform-async-to-generator",
// Use native generators, for performance
"@babel/plugin-transform-regenerator",
// Use native async generators, for performance
"@babel/plugin-transform-async-generator-functions",
// Use native for-of loops, for performance
"@babel/plugin-transform-for-of"
]
}
],
["@babel/react", { "runtime": "automatic" }],
"@babel/typescript"
],
"plugins": ["angularjs-annotate", "macros"],
"overrides": [
// treat .cjs files (e.g. libraries symlinked into node_modules) as commonjs
{
"test": "../../**/*.cjs",
"sourceType": "script"
}
]
}