{ "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": "^4.0.0", "@vee-validate/zod": "^4.12.8", "@vueuse/core": "^10.9.0", "@vueuse/head": "^2.0.0", "axios": "^1.6.8", "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.26.2", "vee-validate": "^4.12.8", "vue": "^3.4.27", "vue-i18n": "^9.13.1", "vue-router": "^4.3.2", "vue-toast-notification": "^3.1.2", "ws": "^8.17.0", "zod": "^3.23.8" }, "devDependencies": { "@iconify/json": "^2.2.211", "@types/events": "^3.0.3", "@types/markdown-it-link-attributes": "^3.0.5", "@typescript-eslint/parser": "^7.9.0", "@vitejs/plugin-vue": "^5.0.4", "@vue-macros/reactivity-transform": "^0.4.5", "@vue-macros/volar": "^0.19.1", "eslint": "^9.3.0", "eslint-plugin-vue": "^9.26.0", "typescript": "^5.4.5", "unplugin-auto-import": "^0.17.6", "unplugin-icons": "^0.19.0", "unplugin-vue-components": "^0.27.0", "unplugin-vue-macros": "^2.9.2", "vite": "^5.2.11", "vite-plugin-pages": "^0.32.1", "vite-tsconfig-paths": "^4.3.2", "vue-tsc": "^2.0.19" }, "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/no-dupe-keys": "off", "vue/no-template-shadow": "off", "vue/singleline-html-element-content-newline": "off", "indent": [ "error", 2 ] } } }