Bladeren bron

Upgrade `@codemirror` dependencies (#20103)

* Upgrade `@codemirror` dependencies
* Set EditorView.EDIT_CONTEXT=false

GitOrigin-RevId: 8024715748102a56f1b22e72be8a2019e80b5a07
Alf Eaton 1 jaar geleden
bovenliggende
commit
de8acd2ed8

+ 42 - 42
package-lock.json

@@ -3375,14 +3375,14 @@
       }
     },
     "node_modules/@codemirror/commands": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.4.0.tgz",
-      "integrity": "sha512-HB3utD5GxCvEhSyj5EuG9KpuQQhFpxalh3lwrspyL/GeSNDe4c6JDxVzL12SJ+7gUknHjZzmq7OPCb9QPgiRmQ==",
+      "version": "6.6.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz",
+      "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==",
       "dev": true,
       "dependencies": {
         "@codemirror/language": "^6.0.0",
         "@codemirror/state": "^6.4.0",
-        "@codemirror/view": "^6.0.0",
+        "@codemirror/view": "^6.27.0",
         "@lezer/common": "^1.1.0"
       }
     },
@@ -3429,9 +3429,9 @@
       }
     },
     "node_modules/@codemirror/lang-markdown": {
-      "version": "6.2.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.2.4.tgz",
-      "integrity": "sha512-UghkA1vSMs8bT7RSZM6vsIocigyah2bV00eRQuZy76401UmFZdsTsbQNBGdyxRQDOLeEvF5iFwap0BM8LKyd+g==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.2.5.tgz",
+      "integrity": "sha512-Hgke565YcO4fd9pe2uLYxnMufHO5rQwRr+AAhFq8ABuhkrjyX8R5p5s+hZUTdV60O0dMRjxKhBLxz8pu/MkUVA==",
       "dev": true,
       "dependencies": {
         "@codemirror/autocomplete": "^6.7.1",
@@ -3444,9 +3444,9 @@
       }
     },
     "node_modules/@codemirror/language": {
-      "version": "6.10.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.0.tgz",
-      "integrity": "sha512-2vaNn9aPGCRFKWcHPFksctzJ8yS5p7YoaT+jHpc0UGKzNuAIx4qy6R5wiqbP+heEEdyaABA582mNqSHzSoYdmg==",
+      "version": "6.10.2",
+      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz",
+      "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==",
       "dev": true,
       "dependencies": {
         "@codemirror/state": "^6.0.0",
@@ -3458,9 +3458,9 @@
       }
     },
     "node_modules/@codemirror/lint": {
-      "version": "6.5.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.5.0.tgz",
-      "integrity": "sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==",
+      "version": "6.8.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.1.tgz",
+      "integrity": "sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==",
       "dev": true,
       "dependencies": {
         "@codemirror/state": "^6.0.0",
@@ -3487,9 +3487,9 @@
       "dev": true
     },
     "node_modules/@codemirror/view": {
-      "version": "6.26.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.26.3.tgz",
-      "integrity": "sha512-gmqxkPALZjkgSxIeeweY/wGQXBfwTUaLs8h7OKtSwfbj9Ct3L11lD+u1sS7XHppxFQoMDiMDp07P9f3I2jWOHw==",
+      "version": "6.32.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.32.0.tgz",
+      "integrity": "sha512-AgVNvED2QTsZp5e3syoHLsrWtwJFYWdx1Vr/m3f4h1ATQz0ax60CfXF3Htdmk69k2MlYZw8gXesnQdHtzyVmAw==",
       "dev": true,
       "dependencies": {
         "@codemirror/state": "^6.4.0",
@@ -44690,13 +44690,13 @@
         "@babel/preset-typescript": "^7.24.7",
         "@babel/register": "^7.24.6",
         "@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.18.0-overleaf-1",
-        "@codemirror/commands": "^6.4.0",
-        "@codemirror/lang-markdown": "^6.2.4",
-        "@codemirror/language": "^6.10.0",
-        "@codemirror/lint": "^6.5.0",
+        "@codemirror/commands": "^6.6.0",
+        "@codemirror/lang-markdown": "^6.2.5",
+        "@codemirror/language": "^6.10.2",
+        "@codemirror/lint": "^6.8.1",
         "@codemirror/search": "github:overleaf/codemirror-search#29f7a871969ad64b89341bacbe5d46dda02eee12",
         "@codemirror/state": "^6.4.1",
-        "@codemirror/view": "^6.26.3",
+        "@codemirror/view": "^6.32.0",
         "@juggle/resize-observer": "^3.3.1",
         "@lezer/common": "^1.2.1",
         "@lezer/generator": "^1.7.0",
@@ -48468,14 +48468,14 @@
       }
     },
     "@codemirror/commands": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.4.0.tgz",
-      "integrity": "sha512-HB3utD5GxCvEhSyj5EuG9KpuQQhFpxalh3lwrspyL/GeSNDe4c6JDxVzL12SJ+7gUknHjZzmq7OPCb9QPgiRmQ==",
+      "version": "6.6.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz",
+      "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==",
       "dev": true,
       "requires": {
         "@codemirror/language": "^6.0.0",
         "@codemirror/state": "^6.4.0",
-        "@codemirror/view": "^6.0.0",
+        "@codemirror/view": "^6.27.0",
         "@lezer/common": "^1.1.0"
       }
     },
@@ -48522,9 +48522,9 @@
       }
     },
     "@codemirror/lang-markdown": {
-      "version": "6.2.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.2.4.tgz",
-      "integrity": "sha512-UghkA1vSMs8bT7RSZM6vsIocigyah2bV00eRQuZy76401UmFZdsTsbQNBGdyxRQDOLeEvF5iFwap0BM8LKyd+g==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.2.5.tgz",
+      "integrity": "sha512-Hgke565YcO4fd9pe2uLYxnMufHO5rQwRr+AAhFq8ABuhkrjyX8R5p5s+hZUTdV60O0dMRjxKhBLxz8pu/MkUVA==",
       "dev": true,
       "requires": {
         "@codemirror/autocomplete": "^6.7.1",
@@ -48537,9 +48537,9 @@
       }
     },
     "@codemirror/language": {
-      "version": "6.10.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.0.tgz",
-      "integrity": "sha512-2vaNn9aPGCRFKWcHPFksctzJ8yS5p7YoaT+jHpc0UGKzNuAIx4qy6R5wiqbP+heEEdyaABA582mNqSHzSoYdmg==",
+      "version": "6.10.2",
+      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz",
+      "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==",
       "dev": true,
       "requires": {
         "@codemirror/state": "^6.0.0",
@@ -48551,9 +48551,9 @@
       }
     },
     "@codemirror/lint": {
-      "version": "6.5.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.5.0.tgz",
-      "integrity": "sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==",
+      "version": "6.8.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.1.tgz",
+      "integrity": "sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==",
       "dev": true,
       "requires": {
         "@codemirror/state": "^6.0.0",
@@ -48579,9 +48579,9 @@
       "dev": true
     },
     "@codemirror/view": {
-      "version": "6.26.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.26.3.tgz",
-      "integrity": "sha512-gmqxkPALZjkgSxIeeweY/wGQXBfwTUaLs8h7OKtSwfbj9Ct3L11lD+u1sS7XHppxFQoMDiMDp07P9f3I2jWOHw==",
+      "version": "6.32.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.32.0.tgz",
+      "integrity": "sha512-AgVNvED2QTsZp5e3syoHLsrWtwJFYWdx1Vr/m3f4h1ATQz0ax60CfXF3Htdmk69k2MlYZw8gXesnQdHtzyVmAw==",
       "dev": true,
       "requires": {
         "@codemirror/state": "^6.4.0",
@@ -53223,13 +53223,13 @@
         "@babel/preset-typescript": "^7.24.7",
         "@babel/register": "^7.24.6",
         "@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.18.0-overleaf-1",
-        "@codemirror/commands": "^6.4.0",
-        "@codemirror/lang-markdown": "^6.2.4",
-        "@codemirror/language": "^6.10.0",
-        "@codemirror/lint": "^6.5.0",
+        "@codemirror/commands": "^6.6.0",
+        "@codemirror/lang-markdown": "^6.2.5",
+        "@codemirror/language": "^6.10.2",
+        "@codemirror/lint": "^6.8.1",
         "@codemirror/search": "github:overleaf/codemirror-search#29f7a871969ad64b89341bacbe5d46dda02eee12",
         "@codemirror/state": "^6.4.1",
-        "@codemirror/view": "^6.26.3",
+        "@codemirror/view": "^6.32.0",
         "@contentful/rich-text-html-renderer": "^16.0.2",
         "@contentful/rich-text-types": "^16.0.2",
         "@google-cloud/bigquery": "^6.0.1",

+ 1 - 0
services/web/cypress/support/component.ts

@@ -4,6 +4,7 @@ import '../../frontend/js/i18n'
 import './shared/commands'
 import './shared/exceptions'
 import './ct/commands'
+import './ct/codemirror'
 
 beforeEach(function () {
   resetMeta()

+ 4 - 0
services/web/cypress/support/ct/codemirror.ts

@@ -0,0 +1,4 @@
+import { EditorView } from '@codemirror/view'
+
+// @ts-ignore (disable EditContext-based editing until stable)
+EditorView.EDIT_CONTEXT = false

+ 3 - 0
services/web/frontend/js/features/source-editor/components/codemirror-editor.tsx

@@ -42,6 +42,9 @@ function CodeMirrorEditor() {
   if (viewRef.current === null) {
     const timer = dispatchTimer()
 
+    // @ts-ignore (disable EditContext-based editing until stable)
+    EditorView.EDIT_CONTEXT = false
+
     const view = new EditorView({
       state,
       dispatchTransactions: trs => {

+ 5 - 5
services/web/package.json

@@ -185,13 +185,13 @@
     "@babel/preset-typescript": "^7.24.7",
     "@babel/register": "^7.24.6",
     "@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.18.0-overleaf-1",
-    "@codemirror/commands": "^6.4.0",
-    "@codemirror/lang-markdown": "^6.2.4",
-    "@codemirror/language": "^6.10.0",
-    "@codemirror/lint": "^6.5.0",
+    "@codemirror/commands": "^6.6.0",
+    "@codemirror/lang-markdown": "^6.2.5",
+    "@codemirror/language": "^6.10.2",
+    "@codemirror/lint": "^6.8.1",
     "@codemirror/search": "github:overleaf/codemirror-search#29f7a871969ad64b89341bacbe5d46dda02eee12",
     "@codemirror/state": "^6.4.1",
-    "@codemirror/view": "^6.26.3",
+    "@codemirror/view": "^6.32.0",
     "@juggle/resize-observer": "^3.3.1",
     "@lezer/common": "^1.2.1",
     "@lezer/generator": "^1.7.0",