From 3a32909091072a080509e80d3fc1ec3df1af4f8d Mon Sep 17 00:00:00 2001 From: sealday Date: Thu, 25 Jul 2024 21:19:54 +0800 Subject: [PATCH] feat: replace code-mirror with monaco (#1395) Co-authored-by: sealday Reviewed-on: https://git.daoyoucloud.com/daoyoucloud/tachybase/pulls/1395 --- .../client/src/application/Application.tsx | 4 +- .../src/application/utils/remotePlugins.ts | 4 +- packages/core/components/package.json | 5 +- .../core/components/src/code-mirror/index.tsx | 96 +----- pnpm-lock.yaml | 283 ++---------------- 5 files changed, 47 insertions(+), 345 deletions(-) diff --git a/packages/core/client/src/application/Application.tsx b/packages/core/client/src/application/Application.tsx index 06ab1db8d..6367e6933 100644 --- a/packages/core/client/src/application/Application.tsx +++ b/packages/core/client/src/application/Application.tsx @@ -33,7 +33,7 @@ import { WebSocketClient, WebSocketClientOptions } from './WebSocketClient'; declare global { interface Window { - define: RequireJS['define']; + tbDefine: RequireJS['define']; } } @@ -132,7 +132,7 @@ export class Application { private initRequireJs() { this.requirejs = getRequireJs(); defineGlobalDeps(this.requirejs); - window.define = this.requirejs.define; + window.tbDefine = this.requirejs.define; } private addDefaultProviders() { diff --git a/packages/core/client/src/application/utils/remotePlugins.ts b/packages/core/client/src/application/utils/remotePlugins.ts index 17ea0adbf..95eca9604 100644 --- a/packages/core/client/src/application/utils/remotePlugins.ts +++ b/packages/core/client/src/application/utils/remotePlugins.ts @@ -8,7 +8,7 @@ import type { RequireJS } from './requirejs'; */ export function defineDevPlugins(plugins: Record) { Object.entries(plugins).forEach(([packageName, plugin]) => { - window.define(`${packageName}/client`, () => plugin); + window.tbDefine(`${packageName}/client`, () => plugin); }); } @@ -16,7 +16,7 @@ export function defineDevPlugins(plugins: Record) { * @internal */ export function definePluginClient(packageName: string) { - window.define(`${packageName}/client`, ['exports', packageName], function (_exports: any, _pluginExports: any) { + window.tbDefine(`${packageName}/client`, ['exports', packageName], function (_exports: any, _pluginExports: any) { Object.defineProperty(_exports, '__esModule', { value: true, }); diff --git a/packages/core/components/package.json b/packages/core/components/package.json index 93c68f43f..4126256cf 100644 --- a/packages/core/components/package.json +++ b/packages/core/components/package.json @@ -7,8 +7,6 @@ "dependencies": { "@ant-design/cssinjs": "^1.20.0", "@ant-design/icons": "^5.3.7", - "@codemirror/autocomplete": "^6.16.2", - "@codemirror/lang-javascript": "^6.2.2", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", "@dnd-kit/utilities": "^3.2.2", @@ -21,8 +19,7 @@ "@formily/reactive-react": "2.3.1", "@formily/shared": "2.3.1", "@formily/validator": "2.3.1", - "@uiw/codemirror-theme-vscode": "^4.23.0", - "@uiw/react-codemirror": "^4.22.2", + "@monaco-editor/react": "^4.6.0", "antd": "5.19.1", "classnames": "^2.5.1", "dayjs": "^1.11.11", diff --git a/packages/core/components/src/code-mirror/index.tsx b/packages/core/components/src/code-mirror/index.tsx index ad84c0a28..6e2e6bf90 100644 --- a/packages/core/components/src/code-mirror/index.tsx +++ b/packages/core/components/src/code-mirror/index.tsx @@ -1,97 +1,19 @@ import React from 'react'; import { connect } from '@tachybase/schema'; -import { autocompletion } from '@codemirror/autocomplete'; -import { javascript } from '@codemirror/lang-javascript'; -import { vscodeDark } from '@uiw/codemirror-theme-vscode'; -import CM from '@uiw/react-codemirror'; +import Editor, { loader } from '@monaco-editor/react'; -// 定义全局对象和子对象的补全项 -const globalVariables = [ - { - label: 'ctx', - type: 'variable', - info: 'Global context object', - apply: (view, completion, from, to) => { - view.dispatch({ - changes: { from, to, insert: completion.label }, - selection: { anchor: from + completion.label.length }, - }); - }, - }, -]; +loader.config({ paths: { vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.50.0/min/vs' } }); -const ctxProperties = [ - { label: 'body', type: 'variable', info: 'pass to workflow or response to user' }, - { label: 'request', type: 'variable', info: 'ctx.request' }, - { label: 'action', type: 'variable', info: 'ctx.action' }, -]; - -const requestProperties = [ - { label: 'header', type: 'variable', info: 'ctx.request.header' }, - { label: 'query', type: 'variable', info: 'ctx.request.query' }, - { label: 'body', type: 'variable', info: 'ctx.request.body' }, - { label: 'method', type: 'variable', info: 'ctx.request.method' }, -]; - -const actionProperties = [ - { label: 'filter', type: 'variable', info: 'ctx.action.filter' }, - { label: 'fields', type: 'variable', info: 'ctx.action.fields' }, - { label: 'except', type: 'variable', info: 'ctx.action.except' }, - { label: 'appends', type: 'variable', info: 'ctx.action.appends' }, - { label: 'sort', type: 'variable', info: 'ctx.action.sort' }, - { label: 'paginate', type: 'variable', info: 'ctx.action.paginate' }, - { label: 'page', type: 'variable', info: 'ctx.action.page' }, - { label: 'pageSize', type: 'variable', info: 'ctx.action.pageSize' }, -]; - -const completionSource = (context) => { - const word = context.matchBefore(/\w*/); - if (word.from === word.to && !context.explicit) return null; - - if (context.state.sliceDoc(word.from - 4, word.from) === 'ctx.') { - return { - from: word.from, - options: ctxProperties, - validFor: /^\w*$/, - }; - } else if (context.state.sliceDoc(word.from - 8, word.from) === 'ctx.request.') { - return { - from: word.from, - options: requestProperties, - validFor: /^\w*$/, - }; - } else if (context.state.sliceDoc(word.from - 7, word.from) === 'ctx.action.') { - return { - from: word.from, - options: actionProperties, - validFor: /^\w*$/, - }; - } else if (context.explicit && word.text.length === 0) { - return { - from: word.from, - options: globalVariables, - validFor: /^\w*$/, - }; - } - - return null; -}; - -export const CodeMirror = connect(({ value, onChange, defaultValue, ...otherProps }) => { +export const CodeMirror = connect(({ value, onChange, ...otherProps }) => { return ( - + /> ); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5bbc26d03..9effdc3e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -648,12 +648,6 @@ importers: '@ant-design/icons': specifier: ^5.3.7 version: 5.3.7(react-dom@18.3.1)(react@18.3.1) - '@codemirror/autocomplete': - specifier: ^6.16.2 - version: 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1) - '@codemirror/lang-javascript': - specifier: ^6.2.2 - version: 6.2.2 '@dnd-kit/core': specifier: ^6.1.0 version: 6.1.0(react-dom@18.3.1)(react@18.3.1) @@ -690,12 +684,9 @@ importers: '@formily/validator': specifier: 2.3.1 version: 2.3.1 - '@uiw/codemirror-theme-vscode': - specifier: ^4.23.0 - version: 4.23.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4) - '@uiw/react-codemirror': - specifier: ^4.22.2 - version: 4.22.2(@babel/runtime@7.24.7)(@codemirror/autocomplete@6.16.3)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.28.4)(codemirror@6.0.1)(react-dom@18.3.1)(react@18.3.1) + '@monaco-editor/react': + specifier: ^4.6.0 + version: 4.6.0(monaco-editor@0.50.0)(react-dom@18.3.1)(react@18.3.1) antd: specifier: 5.19.1 version: 5.19.1(react-dom@18.3.1)(react@18.3.1) @@ -8244,125 +8235,6 @@ packages: prettier: 2.8.8 dev: true - /@codemirror/autocomplete@6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1): - resolution: {integrity: sha512-Vl/tIeRVVUCRDuOG48lttBasNQu8usGgXQawBXI7WJAiUDSFOfzflmEsZFZo48mAvAaa4FZ/4/yLLxFtdJaKYA==} - peerDependencies: - '@codemirror/language': ^6.0.0 - '@codemirror/state': ^6.0.0 - '@codemirror/view': ^6.0.0 - '@lezer/common': ^1.0.0 - dependencies: - '@codemirror/language': 6.10.2 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 - '@lezer/common': 1.2.1 - dev: false - - /@codemirror/autocomplete@6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1): - resolution: {integrity: sha512-Vl/tIeRVVUCRDuOG48lttBasNQu8usGgXQawBXI7WJAiUDSFOfzflmEsZFZo48mAvAaa4FZ/4/yLLxFtdJaKYA==} - peerDependencies: - '@codemirror/language': ^6.0.0 - '@codemirror/state': ^6.0.0 - '@codemirror/view': ^6.0.0 - '@lezer/common': ^1.0.0 - dependencies: - '@codemirror/language': 6.10.2 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.4 - '@lezer/common': 1.2.1 - dev: false - - /@codemirror/autocomplete@6.17.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1): - resolution: {integrity: sha512-fdfj6e6ZxZf8yrkMHUSJJir7OJkHkZKaOZGzLWIYp2PZ3jd+d+UjG8zVPqJF6d3bKxkhvXTPan/UZ1t7Bqm0gA==} - peerDependencies: - '@codemirror/language': ^6.0.0 - '@codemirror/state': ^6.0.0 - '@codemirror/view': ^6.0.0 - '@lezer/common': ^1.0.0 - dependencies: - '@codemirror/language': 6.10.2 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.4 - '@lezer/common': 1.2.1 - dev: false - - /@codemirror/commands@6.6.0: - resolution: {integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==} - dependencies: - '@codemirror/language': 6.10.2 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 - '@lezer/common': 1.2.1 - dev: false - - /@codemirror/lang-javascript@6.2.2: - resolution: {integrity: sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==} - dependencies: - '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1) - '@codemirror/language': 6.10.2 - '@codemirror/lint': 6.8.1 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 - '@lezer/common': 1.2.1 - '@lezer/javascript': 1.4.17 - dev: false - - /@codemirror/language@6.10.2: - resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==} - dependencies: - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 - '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 - style-mod: 4.1.2 - dev: false - - /@codemirror/lint@6.8.1: - resolution: {integrity: sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==} - dependencies: - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.1 - crelt: 1.0.6 - dev: false - - /@codemirror/search@6.5.6: - resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} - dependencies: - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.4 - crelt: 1.0.6 - dev: false - - /@codemirror/state@6.4.1: - resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==} - dev: false - - /@codemirror/theme-one-dark@6.1.2: - resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} - dependencies: - '@codemirror/language': 6.10.2 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.4 - '@lezer/highlight': 1.2.0 - dev: false - - /@codemirror/view@6.28.1: - resolution: {integrity: sha512-BUWr+zCJpMkA/u69HlJmR+YkV4yPpM81HeMkOMZuwFa8iM5uJdEPKAs1icIRZKkKmy0Ub1x9/G3PQLTXdpBxrQ==} - dependencies: - '@codemirror/state': 6.4.1 - style-mod: 4.1.2 - w3c-keyname: 2.2.8 - dev: false - - /@codemirror/view@6.28.4: - resolution: {integrity: sha512-QScv95fiviSQ/CaVGflxAvvvDy/9wi0RFyDl4LkHHWiMr/UPebyuTspmYSeN5Nx6eujcPYwsQzA6ZIZucKZVHQ==} - dependencies: - '@codemirror/state': 6.4.1 - style-mod: 4.1.2 - w3c-keyname: 2.2.8 - dev: false - /@colors/colors@1.6.0: resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} @@ -10278,30 +10150,6 @@ packages: transitivePeerDependencies: - supports-color - /@lezer/common@1.2.1: - resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} - dev: false - - /@lezer/highlight@1.2.0: - resolution: {integrity: sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==} - dependencies: - '@lezer/common': 1.2.1 - dev: false - - /@lezer/javascript@1.4.17: - resolution: {integrity: sha512-bYW4ctpyGK+JMumDApeUzuIezX01H76R1foD6LcRX224FWfyYit/HYxiPGDjXXe/wQWASjCvVGoukTH68+0HIA==} - dependencies: - '@lezer/common': 1.2.1 - '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.4.1 - dev: false - - /@lezer/lr@1.4.1: - resolution: {integrity: sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==} - dependencies: - '@lezer/common': 1.2.1 - dev: false - /@ljharb/resumer@0.0.1: resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} engines: {node: '>= 0.4'} @@ -10362,6 +10210,28 @@ packages: - encoding - supports-color + /@monaco-editor/loader@1.4.0(monaco-editor@0.50.0): + resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==} + peerDependencies: + monaco-editor: '>= 0.21.0 < 1' + dependencies: + monaco-editor: 0.50.0 + state-local: 1.0.7 + dev: false + + /@monaco-editor/react@4.6.0(monaco-editor@0.50.0)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==} + peerDependencies: + monaco-editor: '>= 0.25.0 < 1' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@monaco-editor/loader': 1.4.0(monaco-editor@0.50.0) + monaco-editor: 0.50.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: false + /@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3: resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==} cpu: [arm64] @@ -13454,75 +13324,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: false - /@uiw/codemirror-extensions-basic-setup@4.22.2(@codemirror/autocomplete@6.16.3)(@codemirror/commands@6.6.0)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4): - resolution: {integrity: sha512-zcHGkldLFN3cGoI5XdOGAkeW24yaAgrDEYoyPyWHODmPiNwybQQoZGnH3qUdzZwUaXtAcLWoAeOPzfNRW2yGww==} - peerDependencies: - '@codemirror/autocomplete': '>=6.0.0' - '@codemirror/commands': '>=6.0.0' - '@codemirror/language': '>=6.0.0' - '@codemirror/lint': '>=6.0.0' - '@codemirror/search': '>=6.0.0' - '@codemirror/state': '>=6.0.0' - '@codemirror/view': '>=6.0.0' - dependencies: - '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1) - '@codemirror/commands': 6.6.0 - '@codemirror/language': 6.10.2 - '@codemirror/lint': 6.8.1 - '@codemirror/search': 6.5.6 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.4 - dev: false - - /@uiw/codemirror-theme-vscode@4.23.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4): - resolution: {integrity: sha512-zl1FD7U1b58tqlF216jYv2okvVkTe+FP1ztqO/DF129bcH99QjszkakshyfxQEvvF4ys3zyzqZ7vU3VYBir8tg==} - dependencies: - '@uiw/codemirror-themes': 4.23.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4) - transitivePeerDependencies: - - '@codemirror/language' - - '@codemirror/state' - - '@codemirror/view' - dev: false - - /@uiw/codemirror-themes@4.23.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4): - resolution: {integrity: sha512-9fiji9xooZyBQozR1i6iTr56YP7j/Dr/VgsNWbqf5Szv+g+4WM1iZuiDGwNXmFMWX8gbkDzp6ASE21VCPSofWw==} - peerDependencies: - '@codemirror/language': '>=6.0.0' - '@codemirror/state': '>=6.0.0' - '@codemirror/view': '>=6.0.0' - dependencies: - '@codemirror/language': 6.10.2 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.4 - dev: false - - /@uiw/react-codemirror@4.22.2(@babel/runtime@7.24.7)(@codemirror/autocomplete@6.16.3)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.28.4)(codemirror@6.0.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-okCSl+WJG63gRx8Fdz7v0C6RakBQnbb3pHhuzIgDB+fwhipgFodSnu2n9oOsQesJ5YQ7mSOcKMgX0JEsu4nnfQ==} - peerDependencies: - '@babel/runtime': '>=7.11.0' - '@codemirror/state': '>=6.0.0' - '@codemirror/theme-one-dark': '>=6.0.0' - '@codemirror/view': '>=6.0.0' - codemirror: '>=6.0.0' - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - '@babel/runtime': 7.24.7 - '@codemirror/commands': 6.6.0 - '@codemirror/state': 6.4.1 - '@codemirror/theme-one-dark': 6.1.2 - '@codemirror/view': 6.28.4 - '@uiw/codemirror-extensions-basic-setup': 4.22.2(@codemirror/autocomplete@6.16.3)(@codemirror/commands@6.6.0)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4) - codemirror: 6.0.1(@lezer/common@1.2.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@codemirror/autocomplete' - - '@codemirror/language' - - '@codemirror/lint' - - '@codemirror/search' - dev: false - /@umijs/ast@4.3.3: resolution: {integrity: sha512-5aw402aLXxGkCZjPJ5vkQpBdfKkcAe+19A5nqCj6AvV+hpUtDsywu9Vy5CCiD1MWpTUEvyWGA4f+hfvoZLTPUQ==} dependencies: @@ -16424,20 +16225,6 @@ packages: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - /codemirror@6.0.1(@lezer/common@1.2.1): - resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} - dependencies: - '@codemirror/autocomplete': 6.17.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1) - '@codemirror/commands': 6.6.0 - '@codemirror/language': 6.10.2 - '@codemirror/lint': 6.8.1 - '@codemirror/search': 6.5.6 - '@codemirror/state': 6.4.1 - '@codemirror/view': 6.28.4 - transitivePeerDependencies: - - '@lezer/common' - dev: false - /codepage@1.15.0: resolution: {integrity: sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==} engines: {node: '>=0.8'} @@ -17087,10 +16874,6 @@ packages: /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - /crelt@1.0.6: - resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} - dev: false - /cron-parser@4.4.0: resolution: {integrity: sha512-TrE5Un4rtJaKgmzPewh67yrER5uKM0qI9hGLDBfWb8GGRe9pn/SDkhVrdHa4z7h0SeyeNxnQnogws/H+AQANQA==} engines: {node: '>=0.8'} @@ -23319,6 +23102,10 @@ packages: /moment@2.29.4: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} + /monaco-editor@0.50.0: + resolution: {integrity: sha512-8CclLCmrRRh+sul7C08BmPBP3P8wVWfBHomsTcndxg5NRCEPfu/mc2AGU8k37ajjDVXcXFc12ORAMUkmk+lkFA==} + dev: false + /moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} @@ -28523,6 +28310,10 @@ packages: /standard-as-callback@2.1.0: resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + /state-local@1.0.7: + resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==} + dev: false + /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -28819,10 +28610,6 @@ packages: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true - /style-mod@4.1.2: - resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} - dev: false - /style-search@0.1.0: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} @@ -30808,10 +30595,6 @@ packages: dependencies: browser-process-hrtime: 1.0.0 - /w3c-keyname@2.2.8: - resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - dev: false - /w3c-xmlserializer@2.0.0: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} engines: {node: '>=10'}