mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-31 07:06:25 +02:00
Replace webpack with Vite 8 as the frontend bundler. Frontend build is around 3-4 times faster than before. Will work on all platforms including riscv64 (via wasm). `iife.js` is a classic render-blocking script in `<head>` (handles web components/early DOM setup). `index.js` is loaded as a `type="module"` script in the footer. All other JS chunks are also module scripts (supported in all browsers since 2018). Entry filenames are content-hashed (e.g. `index.C6Z2MRVQ.js`) and resolved at runtime via the Vite manifest, eliminating the `?v=` cache busting (which was unreliable in some scenarios like vscode dev build). Replaces: https://github.com/go-gitea/gitea/pull/36896 Fixes: https://github.com/go-gitea/gitea/issues/17793 Signed-off-by: silverwind <me@silverwind.io> Signed-off-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Claude (Opus 4.6) <noreply@anthropic.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
142 lines
4.8 KiB
JSON
142 lines
4.8 KiB
JSON
{
|
|
"type": "module",
|
|
"packageManager": "pnpm@10.33.0",
|
|
"engines": {
|
|
"node": ">= 22.6.0",
|
|
"pnpm": ">= 10.0.0"
|
|
},
|
|
"dependencies": {
|
|
"@citation-js/core": "0.7.21",
|
|
"@citation-js/plugin-bibtex": "0.7.21",
|
|
"@citation-js/plugin-csl": "0.7.22",
|
|
"@citation-js/plugin-software-formats": "0.6.2",
|
|
"@github/markdown-toolbar-element": "2.2.3",
|
|
"@github/paste-markdown": "1.5.3",
|
|
"@github/text-expander-element": "2.9.4",
|
|
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
|
|
"@mermaid-js/layout-elk": "0.2.1",
|
|
"@primer/octicons": "19.23.1",
|
|
"@resvg/resvg-wasm": "2.6.2",
|
|
"@silverwind/vue3-calendar-heatmap": "2.1.1",
|
|
"@vitejs/plugin-vue": "6.0.5",
|
|
"ansi_up": "6.0.6",
|
|
"asciinema-player": "3.15.1",
|
|
"chart.js": "4.5.1",
|
|
"chartjs-adapter-dayjs-4": "1.0.4",
|
|
"chartjs-plugin-zoom": "2.2.0",
|
|
"clippie": "4.1.10",
|
|
"colord": "2.9.3",
|
|
"compare-versions": "6.1.1",
|
|
"cropperjs": "1.6.2",
|
|
"dayjs": "1.11.20",
|
|
"dropzone": "6.0.0-beta.2",
|
|
"easymde": "2.20.0",
|
|
"esbuild": "0.27.4",
|
|
"htmx.org": "2.0.8",
|
|
"idiomorph": "0.7.4",
|
|
"jquery": "4.0.0",
|
|
"js-yaml": "4.1.1",
|
|
"katex": "0.16.43",
|
|
"mermaid": "11.13.0",
|
|
"monaco-editor": "0.55.1",
|
|
"online-3d-viewer": "0.18.0",
|
|
"pdfobject": "2.3.1",
|
|
"perfect-debounce": "2.1.0",
|
|
"postcss": "8.5.8",
|
|
"rollup-plugin-license": "3.7.0",
|
|
"sortablejs": "1.15.7",
|
|
"swagger-ui-dist": "5.32.1",
|
|
"tailwindcss": "3.4.19",
|
|
"throttle-debounce": "5.0.2",
|
|
"tippy.js": "6.3.7",
|
|
"toastify-js": "1.12.0",
|
|
"tributejs": "5.1.3",
|
|
"uint8-to-base64": "0.2.1",
|
|
"vanilla-colorful": "0.7.2",
|
|
"vite": "8.0.3",
|
|
"vite-string-plugin": "2.0.2",
|
|
"vue": "3.5.31",
|
|
"vue-bar-graph": "2.2.0",
|
|
"vue-chartjs": "5.3.3",
|
|
"wrap-ansi": "10.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint-community/eslint-plugin-eslint-comments": "4.7.1",
|
|
"@eslint/json": "1.2.0",
|
|
"@playwright/test": "1.58.2",
|
|
"@stylistic/eslint-plugin": "5.10.0",
|
|
"@stylistic/stylelint-plugin": "5.0.1",
|
|
"@types/codemirror": "5.60.17",
|
|
"@types/dropzone": "5.7.9",
|
|
"@types/jquery": "4.0.0",
|
|
"@types/js-yaml": "4.0.9",
|
|
"@types/katex": "0.16.8",
|
|
"@types/node": "25.5.0",
|
|
"@types/pdfobject": "2.2.5",
|
|
"@types/sortablejs": "1.15.9",
|
|
"@types/swagger-ui-dist": "3.30.6",
|
|
"@types/throttle-debounce": "5.0.2",
|
|
"@types/toastify-js": "1.12.4",
|
|
"@typescript-eslint/parser": "8.57.2",
|
|
"@vitejs/plugin-vue": "6.0.5",
|
|
"@vitest/eslint-plugin": "1.6.13",
|
|
"eslint": "10.1.0",
|
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
"eslint-plugin-array-func": "5.1.1",
|
|
"eslint-plugin-de-morgan": "2.1.1",
|
|
"eslint-plugin-github": "6.0.0",
|
|
"eslint-plugin-import-x": "4.16.2",
|
|
"eslint-plugin-playwright": "2.10.1",
|
|
"eslint-plugin-regexp": "3.1.0",
|
|
"eslint-plugin-sonarjs": "4.0.2",
|
|
"eslint-plugin-unicorn": "63.0.0",
|
|
"eslint-plugin-vue": "10.8.0",
|
|
"eslint-plugin-vue-scoped-css": "3.0.0",
|
|
"eslint-plugin-wc": "3.1.0",
|
|
"globals": "17.4.0",
|
|
"happy-dom": "20.8.8",
|
|
"jiti": "2.6.1",
|
|
"markdownlint-cli": "0.48.0",
|
|
"material-icon-theme": "5.32.0",
|
|
"nolyfill": "1.0.44",
|
|
"postcss-html": "1.8.1",
|
|
"spectral-cli-bundle": "1.0.7",
|
|
"stylelint": "17.6.0",
|
|
"stylelint-config-recommended": "18.0.0",
|
|
"stylelint-declaration-block-no-ignored-properties": "3.0.0",
|
|
"stylelint-declaration-strict-value": "1.11.1",
|
|
"stylelint-value-no-unknown-custom-properties": "6.1.1",
|
|
"svgo": "4.0.1",
|
|
"typescript": "5.9.3",
|
|
"typescript-eslint": "8.57.2",
|
|
"updates": "17.12.0",
|
|
"vitest": "4.1.2",
|
|
"vue-tsc": "3.2.6"
|
|
},
|
|
"pnpm": {
|
|
"peerDependencyRules": {
|
|
"allowedVersions": {
|
|
"eslint-plugin-github>eslint": ">=9"
|
|
}
|
|
},
|
|
"overrides": {
|
|
"array-includes": "npm:@nolyfill/array-includes@^1",
|
|
"array.prototype.findlastindex": "npm:@nolyfill/array.prototype.findlastindex@^1",
|
|
"array.prototype.flat": "npm:@nolyfill/array.prototype.flat@^1",
|
|
"array.prototype.flatmap": "npm:@nolyfill/array.prototype.flatmap@^1",
|
|
"es-aggregate-error": "npm:@nolyfill/es-aggregate-error@^1",
|
|
"hasown": "npm:@nolyfill/hasown@^1",
|
|
"is-core-module": "npm:@nolyfill/is-core-module@^1",
|
|
"object.assign": "npm:@nolyfill/object.assign@^1",
|
|
"object.fromentries": "npm:@nolyfill/object.fromentries@^1",
|
|
"object.groupby": "npm:@nolyfill/object.groupby@^1",
|
|
"object.values": "npm:@nolyfill/object.values@^1",
|
|
"safe-buffer": "npm:@nolyfill/safe-buffer@^1",
|
|
"safe-regex-test": "npm:@nolyfill/safe-regex-test@^1",
|
|
"safer-buffer": "npm:@nolyfill/safer-buffer@^1",
|
|
"string.prototype.includes": "npm:@nolyfill/string.prototype.includes@^1",
|
|
"string.prototype.trimend": "npm:@nolyfill/string.prototype.trimend@^1"
|
|
}
|
|
}
|
|
}
|