diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index d2842c87..d353bdfa 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -52,7 +52,6 @@ "pinia": "2.2.2", "tinymce": "^7.3.0", "vue": "^3.5.3", - "vue-json-pretty": "^2.4.0", "vue-router": "^4.4.3" }, "devDependencies": { diff --git a/apps/web-antd/src/components/code-editor/index.ts b/apps/web-antd/src/components/code-editor/index.ts deleted file mode 100644 index d5ac3dfb..00000000 --- a/apps/web-antd/src/components/code-editor/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { withInstall } from '#/utils'; - -import jsonPreview from './src/json-preview/json-preview.vue'; - -export const JsonPreview = withInstall(jsonPreview); diff --git a/apps/web-antd/src/views/system/role/index.vue b/apps/web-antd/src/views/system/role/index.vue index b1625da4..3f3073e5 100644 --- a/apps/web-antd/src/views/system/role/index.vue +++ b/apps/web-antd/src/views/system/role/index.vue @@ -1,24 +1,28 @@ diff --git a/packages/effects/common-ui/package.json b/packages/effects/common-ui/package.json index 453b6f03..72c75ab1 100644 --- a/packages/effects/common-ui/package.json +++ b/packages/effects/common-ui/package.json @@ -20,16 +20,27 @@ } }, "dependencies": { + "@codemirror/lang-html": "^6.4.9", + "@codemirror/lang-java": "^6.0.1", + "@codemirror/lang-javascript": "^6.2.2", + "@codemirror/lang-sql": "^6.7.1", + "@codemirror/lang-vue": "^0.1.3", + "@codemirror/lang-xml": "^6.1.0", + "@codemirror/theme-one-dark": "^6.1.2", "@vben-core/popup-ui": "workspace:*", "@vben-core/shadcn-ui": "workspace:*", "@vben/constants": "workspace:*", "@vben/hooks": "workspace:*", "@vben/icons": "workspace:*", "@vben/locales": "workspace:*", + "@vben/preferences": "workspace:*", "@vben/types": "workspace:*", "@vueuse/integrations": "^11.0.3", + "codemirror": "^6.0.1", "qrcode": "^1.5.4", "vue": "^3.5.3", + "vue-codemirror6": "^1.3.4", + "vue-json-pretty": "^2.4.0", "vue-router": "^4.4.3" }, "devDependencies": { diff --git a/packages/effects/common-ui/src/components/code-mirror/code-mirror.vue b/packages/effects/common-ui/src/components/code-mirror/code-mirror.vue new file mode 100644 index 00000000..5fba4896 --- /dev/null +++ b/packages/effects/common-ui/src/components/code-mirror/code-mirror.vue @@ -0,0 +1,68 @@ + + + diff --git a/packages/effects/common-ui/src/components/code-mirror/data.ts b/packages/effects/common-ui/src/components/code-mirror/data.ts new file mode 100644 index 00000000..3824bee6 --- /dev/null +++ b/packages/effects/common-ui/src/components/code-mirror/data.ts @@ -0,0 +1,24 @@ +import { html } from '@codemirror/lang-html'; +import { java } from '@codemirror/lang-java'; +import { javascript } from '@codemirror/lang-javascript'; +import { sql } from '@codemirror/lang-sql'; +import { vue } from '@codemirror/lang-vue'; +import { xml } from '@codemirror/lang-xml'; + +/** + * 可自行安装依赖并按格式配置 函数形参为配置项 + * @see https://github.com/logue/vue-codemirror6?tab=readme-ov-file#supported-languages Language Support项 + */ +export const languageSupportMap = { + html: html(), + java: java(), + js: javascript(), + jsx: javascript({ jsx: true }), + sql: sql(), + ts: javascript({ typescript: true }), + tsx: javascript({ jsx: true, typescript: true }), + vue: vue(), + xml: xml(), +}; + +export type LanguageSupport = keyof typeof languageSupportMap; diff --git a/packages/effects/common-ui/src/components/code-mirror/index.ts b/packages/effects/common-ui/src/components/code-mirror/index.ts new file mode 100644 index 00000000..c9c7c65c --- /dev/null +++ b/packages/effects/common-ui/src/components/code-mirror/index.ts @@ -0,0 +1,2 @@ +export { default as CodeMirror } from './code-mirror.vue'; +export type { LanguageSupport } from './data'; diff --git a/packages/effects/common-ui/src/components/index.ts b/packages/effects/common-ui/src/components/index.ts index c70084f7..e20b5ce7 100644 --- a/packages/effects/common-ui/src/components/index.ts +++ b/packages/effects/common-ui/src/components/index.ts @@ -1,5 +1,7 @@ export * from './captcha'; +export * from './code-mirror'; export * from './ellipsis-text'; +export * from './json-preview'; export * from './page'; export * from '@vben-core/popup-ui'; diff --git a/packages/effects/common-ui/src/components/json-preview/index.ts b/packages/effects/common-ui/src/components/json-preview/index.ts new file mode 100644 index 00000000..332d22cd --- /dev/null +++ b/packages/effects/common-ui/src/components/json-preview/index.ts @@ -0,0 +1 @@ +export { default as JsonPreview } from './json-preview.vue'; diff --git a/apps/web-antd/src/components/code-editor/src/json-preview/json-preview.vue b/packages/effects/common-ui/src/components/json-preview/json-preview.vue similarity index 100% rename from apps/web-antd/src/components/code-editor/src/json-preview/json-preview.vue rename to packages/effects/common-ui/src/components/json-preview/json-preview.vue diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4452bdc4..1edd5435 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -207,9 +207,6 @@ importers: vue: specifier: 3.5.3 version: 3.5.3(typescript@5.5.4) - vue-json-pretty: - specifier: ^2.4.0 - version: 2.4.0(vue@3.5.3(typescript@5.5.4)) vue-router: specifier: ^4.4.3 version: 4.4.3(vue@3.5.3(typescript@5.5.4)) @@ -957,6 +954,27 @@ importers: packages/effects/common-ui: dependencies: + '@codemirror/lang-html': + specifier: ^6.4.9 + version: 6.4.9 + '@codemirror/lang-java': + specifier: ^6.0.1 + version: 6.0.1 + '@codemirror/lang-javascript': + specifier: ^6.2.2 + version: 6.2.2 + '@codemirror/lang-sql': + specifier: ^6.7.1 + version: 6.7.1(@codemirror/view@6.33.0) + '@codemirror/lang-vue': + specifier: ^0.1.3 + version: 0.1.3 + '@codemirror/lang-xml': + specifier: ^6.1.0 + version: 6.1.0 + '@codemirror/theme-one-dark': + specifier: ^6.1.2 + version: 6.1.2 '@vben-core/popup-ui': specifier: workspace:* version: link:../../@core/ui-kit/popup-ui @@ -975,18 +993,30 @@ importers: '@vben/locales': specifier: workspace:* version: link:../../locales + '@vben/preferences': + specifier: workspace:* + version: link:../../preferences '@vben/types': specifier: workspace:* version: link:../../types '@vueuse/integrations': specifier: ^11.0.3 version: 11.0.3(async-validator@4.2.5)(axios@1.7.7)(focus-trap@7.5.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.3)(vue@3.5.3(typescript@5.5.4)) + codemirror: + specifier: ^6.0.1 + version: 6.0.1(@lezer/common@1.2.1) qrcode: specifier: ^1.5.4 version: 1.5.4 vue: specifier: 3.5.3 version: 3.5.3(typescript@5.5.4) + vue-codemirror6: + specifier: ^1.3.4 + version: 1.3.4(@lezer/common@1.2.1)(vue@3.5.3(typescript@5.5.4)) + vue-json-pretty: + specifier: ^2.4.0 + version: 2.4.0(vue@3.5.3(typescript@5.5.4)) vue-router: specifier: ^4.4.3 version: 4.4.3(vue@3.5.3(typescript@5.5.4)) @@ -2196,6 +2226,56 @@ packages: resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} engines: {node: '>=16.13'} + '@codemirror/autocomplete@6.18.0': + resolution: {integrity: sha512-5DbOvBbY4qW5l57cjDsmmpDh3/TeK1vXfTHa+BUMrRzdWdcxKZ4U4V7vQaTtOpApNU4kLS4FQ6cINtLg245LXA==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + + '@codemirror/commands@6.6.1': + resolution: {integrity: sha512-iBfKbyIoXS1FGdsKcZmnrxmbc8VcbMrSgD7AVrsnX+WyAYjmUDWvE93dt5D874qS4CCVu4O1JpbagHdXbbLiOw==} + + '@codemirror/lang-css@6.3.0': + resolution: {integrity: sha512-CyR4rUNG9OYcXDZwMPvJdtb6PHbBDKUc/6Na2BIwZ6dKab1JQqKa4di+RNRY9Myn7JB81vayKwJeQ7jEdmNVDA==} + + '@codemirror/lang-html@6.4.9': + resolution: {integrity: sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q==} + + '@codemirror/lang-java@6.0.1': + resolution: {integrity: sha512-OOnmhH67h97jHzCuFaIEspbmsT98fNdhVhmA3zCxW0cn7l8rChDhZtwiwJ/JOKXgfm4J+ELxQihxaI7bj7mJRg==} + + '@codemirror/lang-javascript@6.2.2': + resolution: {integrity: sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==} + + '@codemirror/lang-sql@6.7.1': + resolution: {integrity: sha512-flQa7zemrLKk0TIrOJnpeyH/b29BcVybtsTeZMgAo40O6kGbrnUSCgwI3TF5iJY3O9VXJKKCA+i0CBVvDfr88w==} + + '@codemirror/lang-vue@0.1.3': + resolution: {integrity: sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug==} + + '@codemirror/lang-xml@6.1.0': + resolution: {integrity: sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==} + + '@codemirror/language@6.10.2': + resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==} + + '@codemirror/lint@6.8.1': + resolution: {integrity: sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==} + + '@codemirror/search@6.5.6': + resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} + + '@codemirror/state@6.4.1': + resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==} + + '@codemirror/theme-one-dark@6.1.2': + resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} + + '@codemirror/view@6.33.0': + resolution: {integrity: sha512-AroaR3BvnjRW8fiZBalAaK+ZzB5usGgI014YKElYZvQdNH5ZIidHlO+cyf/2rWzyBFRkvG6VhiXeAEbC53P2YQ==} + '@commitlint/cli@19.4.1': resolution: {integrity: sha512-EerFVII3ZcnhXsDT9VePyIdCJoh3jEzygN1L37MjQXgPfGS6fJTWL/KHClVMod1d8w94lFC3l4Vh/y5ysVAz2A==} engines: {node: '>=v18'} @@ -3476,6 +3556,30 @@ packages: '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + '@lezer/common@1.2.1': + resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} + + '@lezer/css@1.1.8': + resolution: {integrity: sha512-7JhxupKuMBaWQKjQoLtzhGj83DdnZY9MckEOG5+/iLKNK2ZJqKc6hf6uc0HjwCX7Qlok44jBNqZhHKDhEhZYLA==} + + '@lezer/highlight@1.2.1': + resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} + + '@lezer/html@1.3.10': + resolution: {integrity: sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==} + + '@lezer/java@1.1.2': + resolution: {integrity: sha512-3j8X70JvYf0BZt8iSRLXLkt0Ry1hVUgH6wT32yBxH/Xi55nW2VMhc1Az4SKwu4YGSmxCm1fsqDDcHTuFjC8pmg==} + + '@lezer/javascript@1.4.17': + resolution: {integrity: sha512-bYW4ctpyGK+JMumDApeUzuIezX01H76R1foD6LcRX224FWfyYit/HYxiPGDjXXe/wQWASjCvVGoukTH68+0HIA==} + + '@lezer/lr@1.4.2': + resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} + + '@lezer/xml@1.0.5': + resolution: {integrity: sha512-VFouqOzmUWfIg+tfmpcdV33ewtK+NSwd4ngSe1aG7HFb4BN0ExyY1b8msp+ndFrnlG4V4iC8yXacjFtrwERnaw==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -4991,6 +5095,9 @@ packages: resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} engines: {node: '>=0.10.0'} + codemirror@6.0.1: + resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -5173,6 +5280,9 @@ packages: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} + crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + croner@8.1.1: resolution: {integrity: sha512-1VdUuRnQP4drdFkS8NKvDR1NBgevm8TOuflcaZEKsxw42CxonjW/2vkj1AKlinJb4ZLwBcuWF9GiPr7FQc6AQA==} engines: {node: '>=18.0'} @@ -8998,6 +9108,9 @@ packages: stubborn-fs@1.2.5: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} + style-mod@4.1.2: + resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} + style-search@0.1.0: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} @@ -9713,6 +9826,12 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vue-codemirror6@1.3.4: + resolution: {integrity: sha512-Gmu2t4Exz3pQdtAsb7wINREx2nswNW+FV+q8S1wmsmeC3OLio5RkybRLsErP1b8+suqsVD/7t0Cx/XmBpQnHJA==} + engines: {yarn: '>=1.22.19'} + peerDependencies: + vue: 3.5.3 + vue-component-type-helpers@2.0.29: resolution: {integrity: sha512-58i+ZhUAUpwQ+9h5Hck0D+jr1qbYl4voRt5KffBx8qzELViQ4XdT/Tuo+mzq8u63teAG8K0lLaOiL5ofqW38rg==} @@ -9781,6 +9900,9 @@ packages: peerDependencies: vue: 3.5.3 + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -11287,6 +11409,122 @@ snapshots: dependencies: mime: 3.0.0 + '@codemirror/autocomplete@6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1)': + dependencies: + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + + '@codemirror/commands@6.6.1': + dependencies: + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + + '@codemirror/lang-css@6.3.0(@codemirror/view@6.33.0)': + dependencies: + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@lezer/common': 1.2.1 + '@lezer/css': 1.1.8 + transitivePeerDependencies: + - '@codemirror/view' + + '@codemirror/lang-html@6.4.9': + dependencies: + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/lang-css': 6.3.0(@codemirror/view@6.33.0) + '@codemirror/lang-javascript': 6.2.2 + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + '@lezer/css': 1.1.8 + '@lezer/html': 1.3.10 + + '@codemirror/lang-java@6.0.1': + dependencies: + '@codemirror/language': 6.10.2 + '@lezer/java': 1.1.2 + + '@codemirror/lang-javascript@6.2.2': + dependencies: + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.2 + '@codemirror/lint': 6.8.1 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + '@lezer/javascript': 1.4.17 + + '@codemirror/lang-sql@6.7.1(@codemirror/view@6.33.0)': + dependencies: + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + transitivePeerDependencies: + - '@codemirror/view' + + '@codemirror/lang-vue@0.1.3': + dependencies: + '@codemirror/lang-html': 6.4.9 + '@codemirror/lang-javascript': 6.2.2 + '@codemirror/language': 6.10.2 + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + + '@codemirror/lang-xml@6.1.0': + dependencies: + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + '@lezer/xml': 1.0.5 + + '@codemirror/language@6.10.2': + dependencies: + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + style-mod: 4.1.2 + + '@codemirror/lint@6.8.1': + dependencies: + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + crelt: 1.0.6 + + '@codemirror/search@6.5.6': + dependencies: + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + crelt: 1.0.6 + + '@codemirror/state@6.4.1': {} + + '@codemirror/theme-one-dark@6.1.2': + dependencies: + '@codemirror/language': 6.10.2 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + '@lezer/highlight': 1.2.1 + + '@codemirror/view@6.33.0': + dependencies: + '@codemirror/state': 6.4.1 + style-mod: 4.1.2 + w3c-keyname: 2.2.8 + '@commitlint/cli@19.4.1(@types/node@22.5.4)(typescript@5.5.4)': dependencies: '@commitlint/format': 19.3.0 @@ -12348,6 +12586,46 @@ snapshots: '@juggle/resize-observer@3.4.0': {} + '@lezer/common@1.2.1': {} + + '@lezer/css@1.1.8': + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + + '@lezer/highlight@1.2.1': + dependencies: + '@lezer/common': 1.2.1 + + '@lezer/html@1.3.10': + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + + '@lezer/java@1.1.2': + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + + '@lezer/javascript@1.4.17': + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + + '@lezer/lr@1.4.2': + dependencies: + '@lezer/common': 1.2.1 + + '@lezer/xml@1.0.5': + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.25.6 @@ -14239,6 +14517,18 @@ snapshots: cluster-key-slot@1.1.2: {} + codemirror@6.0.1(@lezer/common@1.2.1): + dependencies: + '@codemirror/autocomplete': 6.18.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.33.0)(@lezer/common@1.2.1) + '@codemirror/commands': 6.6.1 + '@codemirror/language': 6.10.2 + '@codemirror/lint': 6.8.1 + '@codemirror/search': 6.5.6 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.33.0 + transitivePeerDependencies: + - '@lezer/common' + color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -14404,6 +14694,8 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 + crelt@1.0.6: {} + croner@8.1.1: {} cropperjs@1.6.2: {} @@ -18593,6 +18885,8 @@ snapshots: stubborn-fs@1.2.5: {} + style-mod@4.1.2: {} + style-search@0.1.0: {} stylehacks@7.0.4(postcss@8.4.45): @@ -19488,6 +19782,15 @@ snapshots: vscode-uri@3.0.8: {} + vue-codemirror6@1.3.4(@lezer/common@1.2.1)(vue@3.5.3(typescript@5.5.4)): + dependencies: + codemirror: 6.0.1(@lezer/common@1.2.1) + vue: 3.5.3(typescript@5.5.4) + vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4)) + transitivePeerDependencies: + - '@lezer/common' + - '@vue/composition-api' + vue-component-type-helpers@2.0.29: {} vue-demi@0.14.10(vue@3.5.3(typescript@5.5.4)): @@ -19563,6 +19866,8 @@ snapshots: vooks: 0.2.12(vue@3.5.3(typescript@5.5.4)) vue: 3.5.3(typescript@5.5.4) + w3c-keyname@2.2.8: {} + w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0