|
@@ -0,0 +1,41 @@
|
|
|
|
|
+module.exports = {
|
|
|
|
|
+ compact: false,
|
|
|
|
|
+ presets: [
|
|
|
|
|
+ [
|
|
|
|
|
+ '@babel/env',
|
|
|
|
|
+ {
|
|
|
|
|
+ useBuiltIns: 'usage',
|
|
|
|
|
+ // This version must be aligned with the `core-js` version in `package.json`
|
|
|
|
|
+ corejs: { version: '3.46' },
|
|
|
|
|
+ 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: ['macros'],
|
|
|
|
|
+ overrides: [
|
|
|
|
|
+ // treat .cjs files (e.g. libraries symlinked into node_modules) as commonjs
|
|
|
|
|
+ { test: /\.cjs$/, sourceType: 'script' },
|
|
|
|
|
+ {
|
|
|
|
|
+ // Use [\\/] for cross-platform path separator compatibility
|
|
|
|
|
+ test: /[\\/]libraries[\\/]overleaf-editor-core[\\/].*\.js$/,
|
|
|
|
|
+ sourceType: 'script',
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+}
|