feat(editor): New Code editor based on the TypeScript language service (#12285)

This commit is contained in:
Elias Meire
2025-01-08 11:28:56 +01:00
committed by GitHub
parent ac497c8a67
commit 52ae02abaa
58 changed files with 2861 additions and 758 deletions

147
pnpm-lock.yaml generated
View File

@@ -1369,6 +1369,9 @@ importers:
'@codemirror/lint':
specifier: ^6.8.0
version: 6.8.0
'@codemirror/search':
specifier: ^6.5.6
version: 6.5.6
'@codemirror/state':
specifier: ^6.4.1
version: 6.4.1
@@ -1423,9 +1426,15 @@ importers:
'@n8n/permissions':
specifier: workspace:*
version: link:../@n8n/permissions
'@replit/codemirror-indentation-markers':
specifier: ^6.5.3
version: 6.5.3(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)
'@sentry/vue':
specifier: catalog:frontend
version: 8.33.1(vue@3.5.13(typescript@5.7.2))
'@typescript/vfs':
specifier: ^1.6.0
version: 1.6.0(typescript@5.7.2)
'@vue-flow/background':
specifier: ^1.3.2
version: 1.3.2(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
@@ -1462,6 +1471,9 @@ importers:
codemirror-lang-html-n8n:
specifier: ^1.0.0
version: 1.0.0
comlink:
specifier: ^4.4.1
version: 4.4.1
dateformat:
specifier: ^3.0.3
version: 3.0.3
@@ -1516,6 +1528,9 @@ importers:
timeago.js:
specifier: ^4.0.2
version: 4.0.2
typescript:
specifier: ^5.7.2
version: 5.7.2
uuid:
specifier: 'catalog:'
version: 10.0.0
@@ -3134,6 +3149,9 @@ packages:
'@codemirror/lint@6.8.0':
resolution: {integrity: sha512-lsFofvaw0lnPRJlQylNsC4IRt/1lI4OD/yYslrSGVndOJfStc58v+8p9dgGiD90ktOfL7OhBWns1ZETYgz0EJA==}
'@codemirror/search@6.5.6':
resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==}
'@codemirror/state@6.3.3':
resolution: {integrity: sha512-0wufKcTw2dEwEaADajjHf6hBy1sh3M6V0e+q4JKIhLuiMSe5td5HOWpUdvKth1fT1M9VYOboajoBHpkCd7PG7A==}
@@ -4728,6 +4746,13 @@ packages:
resolution: {integrity: sha512-BNgXjqesJu4L5f8F73c2hkkH5IdvjYCKYFgIl+m9oNgqGRIPBJjtiEGOx7jkQ6nElN4311z7Z4aTECtklaaHwg==}
engines: {node: '>=14.19.0', npm: '>=7.0.0'}
'@replit/codemirror-indentation-markers@6.5.3':
resolution: {integrity: sha512-hL5Sfvw3C1vgg7GolLe/uxX5T3tmgOA3ZzqlMv47zjU1ON51pzNWiVbS22oh6crYhtVhv8b3gdXwoYp++2ilHw==}
peerDependencies:
'@codemirror/language': ^6.0.0
'@codemirror/state': ^6.0.0
'@codemirror/view': ^6.0.0
'@rollup/pluginutils@5.1.0':
resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
engines: {node: '>=14.0.0'}
@@ -5528,9 +5553,6 @@ packages:
'@types/concat-stream@2.0.0':
resolution: {integrity: sha512-t3YCerNM7NTVjLuICZo5gYAXYoDvpuuTceCcFQWcDQz26kxUR5uIWolxbIR5jRNIXpMqhOpW/b8imCR1LEmuJw==}
'@types/connect@3.4.35':
resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
'@types/connect@3.4.36':
resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==}
@@ -5753,8 +5775,8 @@ packages:
'@types/psl@1.1.0':
resolution: {integrity: sha512-HhZnoLAvI2koev3czVPzBNRYvdrzJGLjQbWZhqFmS9Q6a0yumc5qtfSahBGb5g+6qWvA8iiQktqGkwoIXa/BNQ==}
'@types/qs@6.9.7':
resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
'@types/qs@6.9.15':
resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==}
'@types/quoted-printable@1.0.2':
resolution: {integrity: sha512-3B28oB1rRaZNb3N5dlxysm8lH1ujzvReDuYBiIO4jvpTIg9ksrILCNgPxSGVyTWE/qwuxzgHaVehwMK3CVqAtA==}
@@ -6003,6 +6025,11 @@ packages:
resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==}
engines: {node: ^16.0.0 || >=18.0.0}
'@typescript/vfs@1.6.0':
resolution: {integrity: sha512-hvJUjNVeBMp77qPINuUvYXj4FyWeeMMKZkxEATEU3hqBAQ7qdTBCUFT7Sp0Zu0faeEtFf+ldXxMEDr/bk73ISg==}
peerDependencies:
typescript: ^5.7.2
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
@@ -7052,6 +7079,9 @@ packages:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
comlink@4.4.1:
resolution: {integrity: sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q==}
commander@10.0.1:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
@@ -14492,10 +14522,10 @@ snapshots:
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
'@babel/helpers': 7.24.0
'@babel/parser': 7.26.2
'@babel/parser': 7.26.3
'@babel/template': 7.24.0
'@babel/traverse': 7.24.0
'@babel/types': 7.26.0
'@babel/types': 7.26.3
convert-source-map: 2.0.0
debug: 4.3.7
gensync: 1.0.0-beta.2
@@ -14526,14 +14556,14 @@ snapshots:
'@babel/generator@7.22.9':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
'@babel/generator@7.23.6':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
@@ -14602,22 +14632,22 @@ snapshots:
'@babel/helper-function-name@7.23.0':
dependencies:
'@babel/template': 7.24.0
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/helper-hoist-variables@7.22.5':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/helper-member-expression-to-functions@7.25.9':
dependencies:
'@babel/traverse': 7.26.3
'@babel/types': 7.26.0
'@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
'@babel/helper-module-imports@7.22.15':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/helper-module-imports@7.25.9':
dependencies:
@@ -14646,7 +14676,7 @@ snapshots:
'@babel/helper-optimise-call-expression@7.25.9':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/helper-plugin-utils@7.22.5': {}
@@ -14672,7 +14702,7 @@ snapshots:
'@babel/helper-simple-access@7.22.5':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
dependencies:
@@ -14683,7 +14713,7 @@ snapshots:
'@babel/helper-split-export-declaration@7.22.6':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/helper-string-parser@7.24.8': {}
@@ -14703,7 +14733,7 @@ snapshots:
dependencies:
'@babel/template': 7.25.9
'@babel/traverse': 7.26.3
'@babel/types': 7.26.0
'@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
@@ -14711,14 +14741,14 @@ snapshots:
dependencies:
'@babel/template': 7.24.0
'@babel/traverse': 7.24.0
'@babel/types': 7.26.0
'@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
'@babel/helpers@7.26.0':
dependencies:
'@babel/template': 7.25.9
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/highlight@7.24.6':
dependencies:
@@ -14733,7 +14763,7 @@ snapshots:
'@babel/parser@7.26.2':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@babel/parser@7.26.3':
dependencies:
@@ -15272,14 +15302,14 @@ snapshots:
'@babel/template@7.24.0':
dependencies:
'@babel/code-frame': 7.24.6
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
'@babel/template@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
'@babel/traverse@7.24.0':
dependencies:
@@ -15289,8 +15319,8 @@ snapshots:
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
debug: 4.3.7
globals: 11.12.0
transitivePeerDependencies:
@@ -15465,6 +15495,12 @@ snapshots:
'@codemirror/view': 6.26.3
crelt: 1.0.5
'@codemirror/search@6.5.6':
dependencies:
'@codemirror/state': 6.4.1
'@codemirror/view': 6.26.3
crelt: 1.0.5
'@codemirror/state@6.3.3': {}
'@codemirror/state@6.4.1': {}
@@ -17107,6 +17143,12 @@ snapshots:
- encoding
- supports-color
'@replit/codemirror-indentation-markers@6.5.3(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)':
dependencies:
'@codemirror/language': 6.10.1
'@codemirror/state': 6.4.1
'@codemirror/view': 6.26.3
'@rollup/pluginutils@5.1.0(rollup@4.24.0)':
dependencies:
'@types/estree': 1.0.6
@@ -18178,24 +18220,24 @@ snapshots:
'@types/babel__core@7.20.0':
dependencies:
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
'@types/babel__generator': 7.6.4
'@types/babel__template': 7.4.1
'@types/babel__traverse': 7.18.2
'@types/babel__generator@7.6.4':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@types/babel__template@7.4.1':
dependencies:
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
'@types/babel__traverse@7.18.2':
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@types/basic-auth@1.1.3':
dependencies:
@@ -18207,7 +18249,7 @@ snapshots:
'@types/body-parser@1.19.2':
dependencies:
'@types/connect': 3.4.35
'@types/connect': 3.4.36
'@types/node': 18.16.16
'@types/caseless@0.12.5': {}
@@ -18224,10 +18266,6 @@ snapshots:
dependencies:
'@types/node': 18.16.16
'@types/connect@3.4.35':
dependencies:
'@types/node': 18.16.16
'@types/connect@3.4.36':
dependencies:
'@types/node': 18.16.16
@@ -18264,7 +18302,7 @@ snapshots:
'@types/express-serve-static-core@4.17.43(patch_hash=5orrj4qleu2iko5t27vl44u4we)':
dependencies:
'@types/node': 18.16.16
'@types/qs': 6.9.7
'@types/qs': 6.9.15
'@types/range-parser': 1.2.4
'@types/send': 0.17.4
@@ -18272,7 +18310,7 @@ snapshots:
dependencies:
'@types/body-parser': 1.19.2
'@types/express-serve-static-core': 4.17.43(patch_hash=5orrj4qleu2iko5t27vl44u4we)
'@types/qs': 6.9.7
'@types/qs': 6.9.15
'@types/serve-static': 1.15.0
'@types/file-saver@2.0.5': {}
@@ -18477,7 +18515,7 @@ snapshots:
'@types/psl@1.1.0': {}
'@types/qs@6.9.7': {}
'@types/qs@6.9.15': {}
'@types/quoted-printable@1.0.2': {}
@@ -18784,6 +18822,13 @@ snapshots:
'@typescript-eslint/types': 7.2.0
eslint-visitor-keys: 3.4.3
'@typescript/vfs@1.6.0(typescript@5.7.2)':
dependencies:
debug: 4.3.6(supports-color@8.1.1)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
'@ungap/structured-clone@1.2.0': {}
'@vitejs/plugin-legacy@6.0.0(terser@5.16.1)(vite@6.0.2(@types/node@18.16.16)(jiti@1.21.0)(sass@1.64.1)(terser@5.16.1))':
@@ -18947,7 +18992,7 @@ snapshots:
'@vue/compiler-sfc@3.5.13':
dependencies:
'@babel/parser': 7.25.6
'@babel/parser': 7.26.3
'@vue/compiler-core': 3.5.13
'@vue/compiler-dom': 3.5.13
'@vue/compiler-ssr': 3.5.13
@@ -19528,7 +19573,7 @@ snapshots:
babel-plugin-jest-hoist@29.5.0:
dependencies:
'@babel/template': 7.24.0
'@babel/types': 7.26.0
'@babel/types': 7.26.3
'@types/babel__core': 7.20.0
'@types/babel__traverse': 7.18.2
@@ -19580,7 +19625,7 @@ snapshots:
babel-walk@3.0.0-canary-5:
dependencies:
'@babel/types': 7.26.0
'@babel/types': 7.26.3
balanced-match@1.0.2: {}
@@ -20102,6 +20147,8 @@ snapshots:
dependencies:
delayed-stream: 1.0.0
comlink@4.4.1: {}
commander@10.0.1: {}
commander@11.1.0: {}
@@ -20194,8 +20241,8 @@ snapshots:
constantinople@4.0.1:
dependencies:
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
content-disposition@0.5.4:
dependencies:
@@ -22668,7 +22715,7 @@ snapshots:
istanbul-lib-instrument@5.2.1:
dependencies:
'@babel/core': 7.24.0
'@babel/parser': 7.26.2
'@babel/parser': 7.26.3
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 7.6.0
@@ -23652,8 +23699,8 @@ snapshots:
magicast@0.3.5:
dependencies:
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
source-map-js: 1.2.1
mailparser@3.6.7:
@@ -27601,8 +27648,8 @@ snapshots:
with@7.0.2:
dependencies:
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@babel/parser': 7.26.3
'@babel/types': 7.26.3
assert-never: 1.2.1
babel-walk: 3.0.0-canary-5