Просмотр исходного кода

Merge pull request #32575 from overleaf/mg-worktree-symlink

Add worktree-setup and worktree-teardown scripts for dev environment

GitOrigin-RevId: 8cce26ef4f6f45bd9e39b2c46f314366d6414cab
Malik Glossop 2 месяцев назад
Родитель
Сommit
94894779cf

+ 41 - 0
services/web/babel.config.cjs

@@ -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',
+    },
+  ],
+}

+ 0 - 43
services/web/babel.config.json

@@ -1,43 +0,0 @@
-{
-  "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"
-    },
-    {
-      "test": "../../libraries/overleaf-editor-core/**/*.js",
-      "sourceType": "script"
-    }
-  ]
-}

+ 7 - 1
services/web/docker-compose.yml

@@ -114,7 +114,13 @@ services:
         - USER_UID
         - USER_GID
     volumes:
-      - ../../:/overleaf
+      - .:/overleaf/services/web
+      - ../../node_modules:/overleaf/node_modules
+      - ../../libraries:/overleaf/libraries
+      - ../../package.json:/overleaf/package.json
+      - ../../.yarnrc.yml:/overleaf/.yarnrc.yml
+      - ../../yarn.lock:/overleaf/yarn.lock
+      - ../../.yarn:/overleaf/.yarn
     working_dir: /overleaf/services/web
     environment:
       VERBOSE_LOGGING:

+ 2 - 2
services/web/webpack.config.js

@@ -124,7 +124,7 @@ module.exports = {
             loader: 'babel-loader',
             options: {
               cacheDirectory: true,
-              configFile: path.join(__dirname, './babel.config.json'),
+              configFile: path.join(__dirname, './babel.config.cjs'),
             },
           },
           {
@@ -157,7 +157,7 @@ module.exports = {
               // Configure babel-loader to cache compiled output so that
               // subsequent compile runs are much faster
               cacheDirectory: true,
-              configFile: path.join(__dirname, './babel.config.json'),
+              configFile: path.join(__dirname, './babel.config.cjs'),
               plugins: [
                 process.env.REACT_REFRESH_ENABLED === 'true' &&
                   'react-refresh/babel',