chore(frontend): configure UI dependencies and Vue linting

Pin icon components, Monaco Editor and TagCanvas modules in the lockfile.
Let TypeScript validate identifiers in Vue script setup.
This commit is contained in:
2026-10-05 01:48:51 +08:00
parent b5b286c44f
commit 720c69a198
3 changed files with 47 additions and 1 deletions
+2 -1
View File
@@ -11,7 +11,8 @@ export default tseslint.config(
{
files: ['**/*.vue'],
languageOptions: { parserOptions: { parser: tseslint.parser } },
rules: { 'vue/multi-word-component-names': 'off' },
// TypeScript checks identifiers and DOM globals in Vue's script setup.
rules: { 'vue/multi-word-component-names': 'off', 'no-undef': 'off' },
},
{
files: ['vite.config.ts'],
+3
View File
@@ -19,7 +19,10 @@
"check:api": "pnpm generate:api --check"
},
"dependencies": {
"@element-plus/icons-vue": "2.3.2",
"@misskey-dev/tagcanvas-es": "0.1.2",
"element-plus": "^2.9.0",
"monaco-editor": "0.57.0",
"openapi-fetch": "^0.14.0",
"pinia": "^3.0.0",
"vue": "^3.5.0",
+42
View File
@@ -8,9 +8,18 @@ importers:
.:
dependencies:
'@element-plus/icons-vue':
specifier: 2.3.2
version: 2.3.2(vue@3.5.43(typescript@5.9.3))
'@misskey-dev/tagcanvas-es':
specifier: 0.1.2
version: 0.1.2
element-plus:
specifier: ^2.9.0
version: 2.14.7(vue@3.5.43(typescript@5.9.3))
monaco-editor:
specifier: 0.57.0
version: 0.57.0
openapi-fetch:
specifier: ^0.14.0
version: 0.14.1
@@ -335,6 +344,9 @@ packages:
'@keyv/serialize@1.1.1':
resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==}
'@misskey-dev/tagcanvas-es@0.1.2':
resolution: {integrity: sha512-SGqyu30/CCQyIC95Zcmj3k1vYXwfX66/arsxpl1UUulUqvlRpTpuhB7kEAAps1lqXin0rQzXknb31EeveNKsaw==}
'@napi-rs/lzma-linux-x64-gnu@1.5.1':
resolution: {integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==}
engines: {node: ^22.20 || ^24.12 || >=25}
@@ -514,6 +526,9 @@ packages:
'@types/node@24.19.1':
resolution: {integrity: sha512-aS3/DG0oM05K0RIXXP+hKjinGG5IgSSVGzswZxW3O0sS3pH4/fycXundUC9XsszgKCk4gHXylTEK6hyFxVxnoQ==}
'@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
'@types/web-bluetooth@0.0.21':
resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
@@ -745,6 +760,9 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dompurify@3.4.15:
resolution: {integrity: sha512-EUBjM+B+lkDE41iE82DDSCfkoPGfXx8IxFxPMjNzm/Uk4xDet77rTN9wqlxlVg71kK7XGuUMv6wUxJUwwv+Xyw==}
element-plus@2.14.7:
resolution: {integrity: sha512-lrG7pZyCS+mpCNVpzxxyu5r35+T6V0hzkAeIwn7HA6to772XSTHKuYCZG51OfzlqaxGbNegLxs650zAF1j43gA==}
peerDependencies:
@@ -959,6 +977,11 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
marked@14.0.0:
resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==}
engines: {node: '>= 18'}
hasBin: true
memoize-one@6.0.0:
resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
@@ -973,6 +996,9 @@ packages:
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
monaco-editor@0.57.0:
resolution: {integrity: sha512-5BkI9KGoqrNvBGUe15/QlZq3OooZ8WLg1AxTpaqHRCP3HNpzPPZKE2EDz8M7c+VRmCeUw1Brp4cx/PWm3kI/5A==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -1446,6 +1472,8 @@ snapshots:
'@keyv/serialize@1.1.1': {}
'@misskey-dev/tagcanvas-es@0.1.2': {}
'@napi-rs/lzma-linux-x64-gnu@1.5.1':
optional: true
@@ -1567,6 +1595,9 @@ snapshots:
dependencies:
undici-types: 7.24.6
'@types/trusted-types@2.0.7':
optional: true
'@types/web-bluetooth@0.0.21': {}
'@typescript-eslint/eslint-plugin@8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.12.0(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3))(eslint@10.12.0(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)':
@@ -1850,6 +1881,10 @@ snapshots:
deep-is@0.1.4: {}
dompurify@3.4.15:
optionalDependencies:
'@types/trusted-types': 2.0.7
element-plus@2.14.7(vue@3.5.43(typescript@5.9.3)):
dependencies:
'@ctrl/tinycolor': 4.2.1
@@ -2093,6 +2128,8 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.6.0
marked@14.0.0: {}
memoize-one@6.0.0: {}
minimatch@10.2.6:
@@ -2105,6 +2142,11 @@ snapshots:
mitt@3.0.1: {}
monaco-editor@0.57.0:
dependencies:
dompurify: 3.4.15
marked: 14.0.0
ms@2.1.3: {}
muggle-string@0.4.1: {}