mirror of
https://github.com/v2rayA/v2rayA.git
synced 2026-10-18 14:40:50 +08:00
3364953513
The documentation site's domain has expired and its pages described a 2021 v2rayA. The page now carries its own docs, written against the current code and shipped with the build, so what a user reads matches the binary they run: quick start, transparent proxy, routing rules, inbounds and sharing, flags and environment, troubleshooting. English and Simplified Chinese; the other locales read the English text and say so. The sections are Markdown under gui/src/docs/<locale>/, compiled to HTML at build time by a small vite plugin around marked (a devDependency; the bundle carries no parser) and loaded on demand, so the first load does not grow. Headings get ids from their text. The flag table is not written by hand: GET /api/params reads conf.Params' struct tags (id, short, default, desc) through reflection, the same tags gonfig parses, and the page renders it, so a new flag documents itself. "#docs" and "#docs/<section>" open the page; the RoutingA dialog's help button, the About page and small book icons in the settings sections and the inbound dialogs point there instead of at the dead site or the wiki. The navigation gains a fifth destination.
56 lines
1.5 KiB
JSON
56 lines
1.5 KiB
JSON
{
|
|
"name": "v2raya",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"license": "GPL-3.0",
|
|
"scripts": {
|
|
"serve": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint src",
|
|
"typecheck": "vue-tsc --noEmit",
|
|
"test": "vitest run --passWithNoTests",
|
|
"i18n-check": "node scripts/i18n-check.mjs",
|
|
"size-gate": "node scripts/size-gate.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@material/material-color-utilities": "0.4.0",
|
|
"@mdi/js": "^7.4.47",
|
|
"@nuintun/qrcode": "^3.3.0",
|
|
"axios": "^0.33.0",
|
|
"dayjs": "^1.10.6",
|
|
"js-base64": "^2.5.1",
|
|
"nanoid": "^3.3.18",
|
|
"pinia": "^4.0.3",
|
|
"qrcode": "^1.4.2",
|
|
"vue": "^3.5.0",
|
|
"vue-i18n": "^11.4.12",
|
|
"vuetify": "^4.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^24.0.0",
|
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
"@vue/devtools-api": "^8.1.5",
|
|
"@vue/eslint-config-prettier": "^10.2.0",
|
|
"@vue/eslint-config-typescript": "^14.9.0",
|
|
"@vue/test-utils": "2",
|
|
"autoprefixer": "^10.4.20",
|
|
"eslint": "^10.11.0",
|
|
"eslint-plugin-prettier": "^5.5.0",
|
|
"eslint-plugin-vue": "^10.11.0",
|
|
"happy-dom": "^20",
|
|
"highlight.js": "^11.4.0",
|
|
"marked": "^17",
|
|
"prettier": "^3.6.0",
|
|
"sass": "^1.86.0",
|
|
"typescript": "~5.9.3",
|
|
"urijs": "^1.19.11",
|
|
"vite": "^6.4.3",
|
|
"vite-plugin-pwa": "^1.3.0",
|
|
"vite-plugin-vuetify": "^2.1.3",
|
|
"vitest": "^5.0.1",
|
|
"vue-eslint-parser": "^10.3.0",
|
|
"vue-tsc": "^3.3.11"
|
|
}
|
|
}
|