{ "name": "nfsm", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc && vite build", "preview": "vite preview", "lint": "eslint .", "lint:fix": "eslint . --fix" }, "dependencies": { "@intlify/unplugin-vue-i18n": "^1.4.0", "@vee-validate/zod": "^4.11.8", "@vueuse/core": "^10.5.0", "@vueuse/head": "^2.0.0", "axios": "^1.6.0", "events": "^3.3.0", "focus-trap": "^7.5.4", "focus-trap-vue": "^4.0.3", "markdown-it-link-attributes": "^4.0.1", "markdown-it-shiki": "^0.9.0", "simple-jsonrpc-js": "^1.2.0", "unplugin-vue-markdown": "^0.24.3", "vee-validate": "^4.11.8", "vue": "^3.3.7", "vue-i18n": "^9.6.2", "vue-router": "^4.2.5", "vue-toast-notification": "^3.1.2", "ws": "^8.14.2", "zod": "^3.22.4" }, "devDependencies": { "@iconify/json": "^2.2.135", "@types/events": "^3.0.2", "@types/markdown-it-link-attributes": "^3.0.3", "@typescript-eslint/parser": "^6.9.1", "@vitejs/plugin-vue": "^4.4.0", "@vue-macros/reactivity-transform": "^0.3.23", "@vue-macros/volar": "^0.17.1", "eslint": "^8.52.0", "eslint-plugin-vue": "^9.18.1", "typescript": "^5.2.2", "unplugin-auto-import": "^0.16.7", "unplugin-icons": "^0.17.1", "unplugin-vue-components": "^0.25.2", "unplugin-vue-macros": "^2.6.1", "vite": "^4.5.0", "vite-plugin-pages": "^0.31.0", "vue-tsc": "^1.8.22" }, "eslintConfig": { "root": true, "parser": "vue-eslint-parser", "parserOptions": { "parser": "@typescript-eslint/parser", "sourceType": "module" }, "overrides": [ { "files": "**/*.+(ts|vue)" } ], "extends": [ "plugin:vue/vue3-strongly-recommended" ], "plugins": [ "eslint-plugin-vue" ], "rules": { "semi": [ "error", "always" ], "comma-dangle": [ "error", "always-multiline" ], "no-trailing-spaces": "error", "quotes": [ "warn", "single" ], "prefer-template": "warn", "vue/multi-word-component-names": "off", "vue/html-closing-bracket-spacing": "off", "vue/html-self-closing": "off", "vue/first-attribute-linebreak": "off", "vue/max-attributes-per-line": "off", "vue/html-closing-bracket-newline": "off", "vue/singleline-html-element-content-newline": "off", "indent": [ "error", 2 ] } } }