diff --git a/package.json b/package.json index 6209a190783..6aca35250ed 100644 --- a/package.json +++ b/package.json @@ -251,6 +251,21 @@ }, "dependencies": { "@bsull/augurs": "^0.7.0", + "@codemirror/autocomplete": "^6.18.4", + "@codemirror/commands": "^6.7.1", + "@codemirror/lang-go": "^6.0.1", + "@codemirror/lang-html": "^6.4.9", + "@codemirror/lang-javascript": "^6.2.2", + "@codemirror/lang-json": "^6.0.1", + "@codemirror/lang-markdown": "^6.3.1", + "@codemirror/lang-sql": "^6.8.0", + "@codemirror/lang-xml": "^6.1.0", + "@codemirror/lang-yaml": "^6.1.2", + "@codemirror/language": "^6.10.8", + "@codemirror/lint": "^6.8.4", + "@codemirror/search": "^6.5.8", + "@codemirror/state": "^6.5.0", + "@codemirror/view": "^6.36.1", "@emotion/css": "11.13.5", "@emotion/react": "11.14.0", "@fingerprintjs/fingerprintjs": "^3.4.2", @@ -314,6 +329,7 @@ "brace": "0.11.1", "centrifuge": "5.2.2", "classnames": "2.5.1", + "codemirror": "^6.0.1", "combokeys": "^3.0.0", "comlink": "4.4.2", "common-tags": "1.8.2", diff --git a/public/app/plugins/panel/text/CodeEditor2.tsx b/public/app/plugins/panel/text/CodeEditor2.tsx new file mode 100644 index 00000000000..13a2d0b4800 --- /dev/null +++ b/public/app/plugins/panel/text/CodeEditor2.tsx @@ -0,0 +1,147 @@ +import { autocompletion, closeBrackets, closeBracketsKeymap, completionKeymap } from '@codemirror/autocomplete'; +import { defaultKeymap, history, historyKeymap } from '@codemirror/commands'; +import { go } from '@codemirror/lang-go'; +import { html } from '@codemirror/lang-html'; +import { javascript } from '@codemirror/lang-javascript'; +import { json } from '@codemirror/lang-json'; +import { markdown } from '@codemirror/lang-markdown'; +import { sql } from '@codemirror/lang-sql'; +import { xml } from '@codemirror/lang-xml'; +import { yaml } from '@codemirror/lang-yaml'; +import { + bracketMatching, + defaultHighlightStyle, + foldGutter, + foldKeymap, + indentOnInput, + syntaxHighlighting, +} from '@codemirror/language'; +import { lintKeymap } from '@codemirror/lint'; +import { highlightSelectionMatches, searchKeymap } from '@codemirror/search'; +import { EditorState, Extension } from '@codemirror/state'; +import { + crosshairCursor, + drawSelection, + dropCursor, + EditorView, + highlightActiveLine, + highlightActiveLineGutter, + highlightSpecialChars, + keymap, + lineNumbers, + rectangularSelection, +} from '@codemirror/view'; +import { useLayoutEffect, useRef } from 'react'; + +import { CodeLanguage } from './panelcfg.gen'; + +interface Props { + className?: string; + language?: CodeLanguage; + width?: number | string; + height?: number | string; + value?: string; + showLineNumbers?: boolean; + readOnly?: boolean; + onBlur?: (value: string) => void; + onSave?: (value: string) => void; +} + +export const CodeEditor2 = ({ + className, + language = CodeLanguage.Markdown, + width = '100%', + height, + value = '', + showLineNumbers = false, + readOnly = false, + onBlur, + onSave, +}: Props) => { + const domRef = useRef(null); + + useLayoutEffect(() => { + const lang = + language === CodeLanguage.Markdown + ? markdown() + : language === CodeLanguage.Typescript + ? javascript() + : language === CodeLanguage.Json + ? json() + : language === CodeLanguage.Go + ? go() + : language === CodeLanguage.Yaml + ? yaml() + : language === CodeLanguage.Sql + ? sql() + : language === CodeLanguage.Xml + ? xml() + : language === CodeLanguage.Html + ? html() + : null; + + const extensions: Extension[] = [ + highlightActiveLineGutter(), + highlightSpecialChars(), + history(), + foldGutter(), + EditorView.lineWrapping, + drawSelection(), + dropCursor(), + EditorState.allowMultipleSelections.of(true), + indentOnInput(), + syntaxHighlighting(defaultHighlightStyle, { fallback: true }), + bracketMatching(), + closeBrackets(), + autocompletion(), + rectangularSelection(), + crosshairCursor(), + // highlightActiveLine(), + highlightSelectionMatches(), + keymap.of([ + ...closeBracketsKeymap, + ...defaultKeymap, + ...searchKeymap, + ...historyKeymap, + ...foldKeymap, + ...completionKeymap, + ...lintKeymap, + ]), + + EditorView.updateListener.of((e) => { + if (e.docChanged) { + // const entry = cmInstances[filename]; + // if (entry.debounce) { + // clearTimeout(entry.debounce); + // } + // entry.debounce = setTimeout(() => syncContent(filename), 1000); + + let content = ed.state.doc.toString(); + onBlur?.(content); + } + }), + ]; + + if (showLineNumbers) { + extensions.unshift(lineNumbers()); + } + + if (lang != null) { + extensions.push(lang); + } + + let ed = new EditorView({ + parent: domRef.current!, + state: EditorState.create({ + doc: value, + extensions, + }), + }); + + return () => ed.destroy(); + }, []); + + return
; +}; + +export default CodeEditor2; diff --git a/public/app/plugins/panel/text/TextPanelEditor.tsx b/public/app/plugins/panel/text/TextPanelEditor.tsx index 75d8f50810e..0f427921191 100644 --- a/public/app/plugins/panel/text/TextPanelEditor.tsx +++ b/public/app/plugins/panel/text/TextPanelEditor.tsx @@ -1,51 +1,62 @@ import { css, cx } from '@emotion/css'; -import { useMemo } from 'react'; -import AutoSizer from 'react-virtualized-auto-sizer'; +import { lazy, Suspense, useMemo } from 'react'; import { GrafanaTheme2, StandardEditorProps } from '@grafana/data'; import { - CodeEditor, + // CodeEditor, useStyles2, - CodeEditorSuggestionItem, - variableSuggestionToCodeEditorSuggestion, + // CodeEditorSuggestionItem, + // variableSuggestionToCodeEditorSuggestion, } from '@grafana/ui'; -import { Options, TextMode } from './panelcfg.gen'; +// import { CodeEditor2 } from './CodeEditor2'; +import { CodeLanguage, Options, TextMode } from './panelcfg.gen'; + +const CodeEditor2Lazy = lazy(() => import(/* webpackChunkName: "CodeEditor2" */ './CodeEditor2')); + +// export const CodeEditor2Lazy = () => ( +// Loading...

}> +// +//
+// ) export const TextPanelEditor = ({ value, onChange, context }: StandardEditorProps) => { - const language = useMemo(() => context.options?.mode ?? TextMode.Markdown, [context]); + const language = useMemo(() => context.options?.code?.language ?? CodeLanguage.Markdown, [context]); const styles = useStyles2(getStyles); - const getSuggestions = (): CodeEditorSuggestionItem[] => { - if (!context.getSuggestions) { - return []; - } - return context.getSuggestions().map((v) => variableSuggestionToCodeEditorSuggestion(v)); - }; + // const getSuggestions = (): CodeEditorSuggestionItem[] => { + // if (!context.getSuggestions) { + // return []; + // } + // return context.getSuggestions().map((v) => variableSuggestionToCodeEditorSuggestion(v)); + // }; + + /* */ return ( -
- - {({ width }) => { - if (width === 0) { - return null; - } - return ( - - ); - }} - -
+ Loading...

}> + +
); }; @@ -56,5 +67,6 @@ const getStyles = (theme: GrafanaTheme2) => ({ borderRadius: theme.shape.radius.default, margin: theme.spacing(0.5, 0), width: '100%', + backgroundColor: 'rgb(17, 18, 23)', }), }); diff --git a/yarn.lock b/yarn.lock index 742f219d1ed..2b6c6bcf156 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1664,6 +1664,212 @@ __metadata: languageName: node linkType: hard +"@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.18.4, @codemirror/autocomplete@npm:^6.7.1": + version: 6.18.4 + resolution: "@codemirror/autocomplete@npm:6.18.4" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + checksum: 10/7cd62db2ee87d6cb3936ced4f211bdcd9ce75515f64922119370c303a8bdbf5640e640a8d802c30d01cb55fb6c9b5299426ff799f04cff0bef8d0c3450fe2528 + languageName: node + linkType: hard + +"@codemirror/commands@npm:^6.0.0, @codemirror/commands@npm:^6.7.1": + version: 6.7.1 + resolution: "@codemirror/commands@npm:6.7.1" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.4.0" + "@codemirror/view": "npm:^6.27.0" + "@lezer/common": "npm:^1.1.0" + checksum: 10/d742bc5976f7bab81695b9fc10d103b7cc9933fce3cc90fdd8e1d060ff480efd65d8fac3ee17f500869d323ea00c4da200d022619888da15fd65aa40e0958c93 + languageName: node + linkType: hard + +"@codemirror/lang-css@npm:^6.0.0": + version: 6.3.1 + resolution: "@codemirror/lang-css@npm:6.3.1" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@lezer/common": "npm:^1.0.2" + "@lezer/css": "npm:^1.1.7" + checksum: 10/709994b0a787fe06ebac7a47c6a6a92c9680fe2b4479bbe2a72b27ad4d863953ad64a61b36f15098d00bd9a655bc9b3a3ecf2877354351ff873a01186fb38386 + languageName: node + linkType: hard + +"@codemirror/lang-go@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-go@npm:6.0.1" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.6.0" + "@codemirror/state": "npm:^6.0.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/go": "npm:^1.0.0" + checksum: 10/6e361bddb35683b225e1367807f598044b861c6858c9a011227fb73a872735985141746b3c410dcd8ef11b4c0e54819e720c5e663201a6a5e69ba8a9519fa287 + languageName: node + linkType: hard + +"@codemirror/lang-html@npm:^6.0.0, @codemirror/lang-html@npm:^6.4.9": + version: 6.4.9 + resolution: "@codemirror/lang-html@npm:6.4.9" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/lang-css": "npm:^6.0.0" + "@codemirror/lang-javascript": "npm:^6.0.0" + "@codemirror/language": "npm:^6.4.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/css": "npm:^1.1.0" + "@lezer/html": "npm:^1.3.0" + checksum: 10/db4288a9e87613a54836313cd48df7e11450b885c64b5a6c054d057d33501ee1501cf72d246eb588131b90574e5471509f00944fc5b55bacc83750f1321a58e1 + languageName: node + linkType: hard + +"@codemirror/lang-javascript@npm:^6.0.0, @codemirror/lang-javascript@npm:^6.2.2": + version: 6.2.2 + resolution: "@codemirror/lang-javascript@npm:6.2.2" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.6.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/javascript": "npm:^1.0.0" + checksum: 10/eac2e57a7a595cf0c93afd4bb42034902230c73e5525554ba925bad12aa544ca58014c017466288a2b34f1684d6efa5537507ed8b57e276d02665c2821c7a9d6 + languageName: node + linkType: hard + +"@codemirror/lang-json@npm:^6.0.1": + version: 6.0.1 + resolution: "@codemirror/lang-json@npm:6.0.1" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@lezer/json": "npm:^1.0.0" + checksum: 10/7ce35d345bf9b2f5d96e2502a9693c8b2e74981ccf3a7a20da48e405c2bd6067b39acfd9b31fe3bbb5f9f28ccdde5ff7c52253c6d5b3be84b29df6d5db0b3b9b + languageName: node + linkType: hard + +"@codemirror/lang-markdown@npm:^6.3.1": + version: 6.3.1 + resolution: "@codemirror/lang-markdown@npm:6.3.1" + dependencies: + "@codemirror/autocomplete": "npm:^6.7.1" + "@codemirror/lang-html": "npm:^6.0.0" + "@codemirror/language": "npm:^6.3.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + "@lezer/common": "npm:^1.2.1" + "@lezer/markdown": "npm:^1.0.0" + checksum: 10/e13de98d651b2f95521aa742c4da9d6a0b9160968dcd618776ad7a088ba7cfb927f935aa1c0d76fc8cc313d3a811e215322978714d59a4de3e33e06fa6fa2067 + languageName: node + linkType: hard + +"@codemirror/lang-sql@npm:^6.8.0": + version: 6.8.0 + resolution: "@codemirror/lang-sql@npm:6.8.0" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/a226e6b8dc2ada3720acb65dc615b76754fde9fd85bfbaf7dcf49115802b9e031d251fa26ab6d97dbd04f777c631a2fe0622b8fca503a9fda1e727e94e2d68e9 + languageName: node + linkType: hard + +"@codemirror/lang-xml@npm:^6.1.0": + version: 6.1.0 + resolution: "@codemirror/lang-xml@npm:6.1.0" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.4.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/xml": "npm:^1.0.0" + checksum: 10/f5e54668c30efbb8a78a51e49ccec92a06931f2b98dce35c90be94ded30da02dac525124ce3c40f65c7b071f8db72d16b10a5a1795ccbf10e69939c0a9c1cac8 + languageName: node + linkType: hard + +"@codemirror/lang-yaml@npm:^6.1.2": + version: 6.1.2 + resolution: "@codemirror/lang-yaml@npm:6.1.2" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.2.0" + "@lezer/lr": "npm:^1.0.0" + "@lezer/yaml": "npm:^1.0.0" + checksum: 10/1a1ad16554b27d9f66ad2a342170e7c7e51781876280727790e763e9a770163772d4880a9c344705ca65acc2b5fb228962dc3281ba05a71d2c071515541258ae + languageName: node + linkType: hard + +"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.10.8, @codemirror/language@npm:^6.3.0, @codemirror/language@npm:^6.4.0, @codemirror/language@npm:^6.6.0": + version: 6.10.8 + resolution: "@codemirror/language@npm:6.10.8" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.23.0" + "@lezer/common": "npm:^1.1.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + style-mod: "npm:^4.0.0" + checksum: 10/63b83b41d9f8475f757144cc204df08834bb14411c484aa265ffa3e93b7d8f696a21110df72101159a8675eda29018c6d08f864965bd4651b607a39f10ad32ed + languageName: node + linkType: hard + +"@codemirror/lint@npm:^6.0.0, @codemirror/lint@npm:^6.8.4": + version: 6.8.4 + resolution: "@codemirror/lint@npm:6.8.4" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.35.0" + crelt: "npm:^1.0.5" + checksum: 10/401ead0591d88d31d1bf6527d4caba26e0deb7b49382dfbb8c712037d858047b0699fa2c15831a07db928194549eea9b942004fee42f334b34ff5973c7dbec58 + languageName: node + linkType: hard + +"@codemirror/search@npm:^6.0.0, @codemirror/search@npm:^6.5.8": + version: 6.5.8 + resolution: "@codemirror/search@npm:6.5.8" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + crelt: "npm:^1.0.5" + checksum: 10/1389fa4e05da72b621ae10ff00d4ef0d23b08a3a7ac48f6e0b867429da7b80036bd7a6feef1a54f5b4c4af9fc4277f754a313a858fbfc12ccdfa48e9bf300cef + languageName: node + linkType: hard + +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0": + version: 6.5.0 + resolution: "@codemirror/state@npm:6.5.0" + dependencies: + "@marijn/find-cluster-break": "npm:^1.0.0" + checksum: 10/7d29461ee05851b03aadd84fed5ce55430b396097954cf47f464840a0b9af3f896375c0fc52726c50039e58bb25755e9a55ad63c6ba65646ac49e62af9cc35b6 + languageName: node + linkType: hard + +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0, @codemirror/view@npm:^6.36.1": + version: 6.36.1 + resolution: "@codemirror/view@npm:6.36.1" + dependencies: + "@codemirror/state": "npm:^6.5.0" + style-mod: "npm:^4.1.0" + w3c-keyname: "npm:^2.2.4" + checksum: 10/a6af511852910a4e741ed5e470efe532b52c379d6f12b442556bc114064da0d4d9f98e56491fb7ee36ae9a51e33ccf0bc553c5d47f0ca76a40b21a3844d0145c + languageName: node + linkType: hard + "@colors/colors@npm:1.5.0": version: 1.5.0 resolution: "@colors/colors@npm:1.5.0" @@ -4761,14 +4967,36 @@ __metadata: languageName: node linkType: hard -"@lezer/common@npm:1.2.3, @lezer/common@npm:^1.0.0": +"@lezer/common@npm:1.2.3, @lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.2.1": version: 1.2.3 resolution: "@lezer/common@npm:1.2.3" checksum: 10/dad24e353e4e67d88b203191361ca1dff26c01c2b7b4ae829b668a1d115929334d077217367683e39180c0556510ed2066ea8ddba2b079be7c08a7152208cc87 languageName: node linkType: hard -"@lezer/highlight@npm:1.2.1": +"@lezer/css@npm:^1.1.0, @lezer/css@npm:^1.1.7": + version: 1.1.9 + resolution: "@lezer/css@npm:1.1.9" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/bcc277bb6b806961ebfd03e98faf8e5870dd7da2eb565c43922ac378d926b49f479309b28cc824fd4e17baac2c8952966807d06fbe2a45d53e9a3f1518134729 + languageName: node + linkType: hard + +"@lezer/go@npm:^1.0.0": + version: 1.0.0 + resolution: "@lezer/go@npm:1.0.0" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/3a7a7be931308852261e69f741e5a8edbb731aa53ba9287a103dfd66572894fd26c33c9b6f48df123352fbcf8d937a1fa482a5d7aaec37e402f0443bd99c060e + languageName: node + linkType: hard + +"@lezer/highlight@npm:1.2.1, @lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3, @lezer/highlight@npm:^1.2.0": version: 1.2.1 resolution: "@lezer/highlight@npm:1.2.1" dependencies: @@ -4777,7 +5005,40 @@ __metadata: languageName: node linkType: hard -"@lezer/lr@npm:1.4.2": +"@lezer/html@npm:^1.3.0": + version: 1.3.10 + resolution: "@lezer/html@npm:1.3.10" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/b69f796492c0a2c000ebba88e1b1f0dc0885ed3392c11b46a9d7c638da1a325d6a288375fbeec52d0d05437b801302299e0e57359f95a494db1e251b3d66d29c + languageName: node + linkType: hard + +"@lezer/javascript@npm:^1.0.0": + version: 1.4.21 + resolution: "@lezer/javascript@npm:1.4.21" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.1.3" + "@lezer/lr": "npm:^1.3.0" + checksum: 10/7f8b1f469103e74dc2c39e7e75e6cc670e4cf6f48b5317e2a0e267521c9924641e8de41c6e740af8cc919f5c7e03c0a97fc2f261486c96f1625c3e3bbb23b80a + languageName: node + linkType: hard + +"@lezer/json@npm:^1.0.0": + version: 1.0.3 + resolution: "@lezer/json@npm:1.0.3" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/48e7b945fdfa2b5b6f862e27bc31f3991cba93f18df7fed0059b25f119b64dedd50bbc709d279e16e2b3eee10e7758d7d80c6d98d21bc15c284809d268837897 + languageName: node + linkType: hard + +"@lezer/lr@npm:1.4.2, @lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.3.0, @lezer/lr@npm:^1.4.0": version: 1.4.2 resolution: "@lezer/lr@npm:1.4.2" dependencies: @@ -4786,6 +5047,38 @@ __metadata: languageName: node linkType: hard +"@lezer/markdown@npm:^1.0.0": + version: 1.3.2 + resolution: "@lezer/markdown@npm:1.3.2" + dependencies: + "@lezer/common": "npm:^1.0.0" + "@lezer/highlight": "npm:^1.0.0" + checksum: 10/f234f3d9eb2217a89828a7299b0e1b00c3d3ee3f4ab6251735895ad065080a7f59711a4a116a022f2b03ca0a2a72e7e2709f211e0729b5a800753dec9b3ae2d8 + languageName: node + linkType: hard + +"@lezer/xml@npm:^1.0.0": + version: 1.0.6 + resolution: "@lezer/xml@npm:1.0.6" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + checksum: 10/ffdc3fd587c992f86de84bd828e1d92216484a571423b6edb7b0b1f2eb495ff14e9a234ce5fcba4bce1cb00683af50c0e7f5dfb017a0d3da77607b42e77548a2 + languageName: node + linkType: hard + +"@lezer/yaml@npm:^1.0.0": + version: 1.0.3 + resolution: "@lezer/yaml@npm:1.0.3" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.4.0" + checksum: 10/6697b964403dc5dec9186732c5997675e5140ef5dddc8371dd28fa194d8431d8a7d5f18670be47b81a0b4ad6cbfe82e4f7c9c6f06e6f763bd100f7a38908baf5 + languageName: node + linkType: hard + "@linaria/core@npm:^4.5.4": version: 4.5.4 resolution: "@linaria/core@npm:4.5.4" @@ -4966,6 +5259,13 @@ __metadata: languageName: node linkType: hard +"@marijn/find-cluster-break@npm:^1.0.0": + version: 1.0.2 + resolution: "@marijn/find-cluster-break@npm:1.0.2" + checksum: 10/92fe7ba43ce3d3314f593e4c2fd822d7089649baff47a474fe04b83e3119931d7cf58388747d429ff65fa2db14f5ca57e787268c482e868fc67759511f61f09b + languageName: node + linkType: hard + "@mdx-js/react@npm:^3.0.0": version: 3.0.1 resolution: "@mdx-js/react@npm:3.0.1" @@ -12671,6 +12971,21 @@ __metadata: languageName: node linkType: hard +"codemirror@npm:^6.0.1": + version: 6.0.1 + resolution: "codemirror@npm:6.0.1" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/commands": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/search": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + checksum: 10/4f858cde1cf8ce4670de9df4a64f4990bb8abdb8e13d3e437f278c40c86d841ef505aa1e5dc798582109ceaac8577a3bb4a1f026c0e5ce730465c89652ee6036 + languageName: node + linkType: hard + "codeowners@npm:^5.1.1": version: 5.1.1 resolution: "codeowners@npm:5.1.1" @@ -13344,6 +13659,13 @@ __metadata: languageName: node linkType: hard +"crelt@npm:^1.0.5": + version: 1.0.6 + resolution: "crelt@npm:1.0.6" + checksum: 10/5ed326ca6bd243b1dba6b943f665b21c2c04be03271824bc48f20dba324b0f8233e221f8c67312526d24af2b1243c023dc05a41bd8bd05d1a479fd2c72fb39c3 + languageName: node + linkType: hard + "croact-css-styled@npm:^1.1.9": version: 1.1.9 resolution: "croact-css-styled@npm:1.1.9" @@ -17531,6 +17853,21 @@ __metadata: "@betterer/cli": "npm:5.4.0" "@betterer/eslint": "npm:5.4.0" "@bsull/augurs": "npm:^0.7.0" + "@codemirror/autocomplete": "npm:^6.18.4" + "@codemirror/commands": "npm:^6.7.1" + "@codemirror/lang-go": "npm:^6.0.1" + "@codemirror/lang-html": "npm:^6.4.9" + "@codemirror/lang-javascript": "npm:^6.2.2" + "@codemirror/lang-json": "npm:^6.0.1" + "@codemirror/lang-markdown": "npm:^6.3.1" + "@codemirror/lang-sql": "npm:^6.8.0" + "@codemirror/lang-xml": "npm:^6.1.0" + "@codemirror/lang-yaml": "npm:^6.1.2" + "@codemirror/language": "npm:^6.10.8" + "@codemirror/lint": "npm:^6.8.4" + "@codemirror/search": "npm:^6.5.8" + "@codemirror/state": "npm:^6.5.0" + "@codemirror/view": "npm:^6.36.1" "@cypress/webpack-preprocessor": "npm:6.0.2" "@emotion/css": "npm:11.13.5" "@emotion/eslint-plugin": "npm:11.12.0" @@ -17680,6 +18017,7 @@ __metadata: chance: "npm:^1.0.10" chrome-remote-interface: "npm:0.33.2" classnames: "npm:2.5.1" + codemirror: "npm:^6.0.1" codeowners: "npm:^5.1.1" combokeys: "npm:^3.0.0" comlink: "npm:4.4.2" @@ -28591,6 +28929,13 @@ __metadata: languageName: node linkType: hard +"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": + version: 4.1.2 + resolution: "style-mod@npm:4.1.2" + checksum: 10/9da37909d6dbc3c043ab6d18da5d997073a4698c91e86058293252493eb18aca4e44e3fb18f32fcee26dcee8785f393c6c95f3c96cc722a0dd6b8de622b5b293 + languageName: node + linkType: hard + "style-search@npm:^0.1.0": version: 0.1.0 resolution: "style-search@npm:0.1.0" @@ -30341,6 +30686,13 @@ __metadata: languageName: node linkType: hard +"w3c-keyname@npm:^2.2.4": + version: 2.2.8 + resolution: "w3c-keyname@npm:2.2.8" + checksum: 10/95bafa4c04fa2f685a86ca1000069c1ec43ace1f8776c10f226a73296caeddd83f893db885c2c220ebeb6c52d424e3b54d7c0c1e963bbf204038ff1a944fbb07 + languageName: node + linkType: hard + "w3c-xmlserializer@npm:^3.0.0": version: 3.0.0 resolution: "w3c-xmlserializer@npm:3.0.0"