Add a plugin to pre-compress built assets
All checks were successful
Deploy / build (push) Successful in 52s
All checks were successful
Deploy / build (push) Successful in 52s
This commit is contained in:
parent
1decdef014
commit
6cf984df83
3 changed files with 60 additions and 15 deletions
|
@ -8,8 +8,10 @@
|
||||||
"start": "vite preview"
|
"start": "vite preview"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@types/node": "^22.13.5",
|
||||||
"@vitejs/plugin-vue": "^5.2.1",
|
"@vitejs/plugin-vue": "^5.2.1",
|
||||||
"@vue/compiler-sfc": "^3.5.13",
|
"@vue/compiler-sfc": "^3.5.13",
|
||||||
|
"rollup-plugin-gzip": "^4.0.1",
|
||||||
"typescript": "^5.7.3",
|
"typescript": "^5.7.3",
|
||||||
"vite": "^6.1.0",
|
"vite": "^6.1.0",
|
||||||
"vite-plugin-pages": "^0.32.4",
|
"vite-plugin-pages": "^0.32.4",
|
||||||
|
|
57
pnpm-lock.yaml
generated
57
pnpm-lock.yaml
generated
|
@ -31,7 +31,7 @@ importers:
|
||||||
version: 22.0.0(@vue/compiler-sfc@3.5.13)
|
version: 22.0.0(@vue/compiler-sfc@3.5.13)
|
||||||
vite-ssg:
|
vite-ssg:
|
||||||
specifier: ^25.0.0
|
specifier: ^25.0.0
|
||||||
version: 25.0.0(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
|
version: 25.0.0(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))
|
||||||
vue:
|
vue:
|
||||||
specifier: ^3.5.13
|
specifier: ^3.5.13
|
||||||
version: 3.5.13(typescript@5.7.3)
|
version: 3.5.13(typescript@5.7.3)
|
||||||
|
@ -39,24 +39,30 @@ importers:
|
||||||
specifier: ^4.5.0
|
specifier: ^4.5.0
|
||||||
version: 4.5.0(vue@3.5.13(typescript@5.7.3))
|
version: 4.5.0(vue@3.5.13(typescript@5.7.3))
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@types/node':
|
||||||
|
specifier: ^22.13.5
|
||||||
|
version: 22.13.5
|
||||||
'@vitejs/plugin-vue':
|
'@vitejs/plugin-vue':
|
||||||
specifier: ^5.2.1
|
specifier: ^5.2.1
|
||||||
version: 5.2.1(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
|
version: 5.2.1(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))
|
||||||
'@vue/compiler-sfc':
|
'@vue/compiler-sfc':
|
||||||
specifier: ^3.5.13
|
specifier: ^3.5.13
|
||||||
version: 3.5.13
|
version: 3.5.13
|
||||||
|
rollup-plugin-gzip:
|
||||||
|
specifier: ^4.0.1
|
||||||
|
version: 4.0.1(rollup@4.34.6)
|
||||||
typescript:
|
typescript:
|
||||||
specifier: ^5.7.3
|
specifier: ^5.7.3
|
||||||
version: 5.7.3
|
version: 5.7.3
|
||||||
vite:
|
vite:
|
||||||
specifier: ^6.1.0
|
specifier: ^6.1.0
|
||||||
version: 6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
version: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
||||||
vite-plugin-pages:
|
vite-plugin-pages:
|
||||||
specifier: ^0.32.4
|
specifier: ^0.32.4
|
||||||
version: 0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))
|
version: 0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))
|
||||||
vite-plugin-windicss:
|
vite-plugin-windicss:
|
||||||
specifier: ^1.9.4
|
specifier: ^1.9.4
|
||||||
version: 1.9.4(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))
|
version: 1.9.4(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))
|
||||||
windicss:
|
windicss:
|
||||||
specifier: ^3.5.6
|
specifier: ^3.5.6
|
||||||
version: 3.5.6
|
version: 3.5.6
|
||||||
|
@ -428,6 +434,9 @@ packages:
|
||||||
'@types/ms@2.1.0':
|
'@types/ms@2.1.0':
|
||||||
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
|
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
|
||||||
|
|
||||||
|
'@types/node@22.13.5':
|
||||||
|
resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==}
|
||||||
|
|
||||||
'@types/web-bluetooth@0.0.20':
|
'@types/web-bluetooth@0.0.20':
|
||||||
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
|
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
|
||||||
|
|
||||||
|
@ -857,6 +866,12 @@ packages:
|
||||||
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
|
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
|
||||||
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||||
|
|
||||||
|
rollup-plugin-gzip@4.0.1:
|
||||||
|
resolution: {integrity: sha512-HVukJ5vwTxgzKaNeKCNEqFRQ+/T/j/3zqoUaCN3VGTt8/Mn7Wu2nMCE8VBIDubjM5U+QGgiWs6fYysn63JZY1g==}
|
||||||
|
engines: {node: '>=10.0.0'}
|
||||||
|
peerDependencies:
|
||||||
|
rollup: '>=2.0.0'
|
||||||
|
|
||||||
rollup@4.34.6:
|
rollup@4.34.6:
|
||||||
resolution: {integrity: sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==}
|
resolution: {integrity: sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==}
|
||||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||||
|
@ -941,6 +956,9 @@ packages:
|
||||||
ufo@1.5.4:
|
ufo@1.5.4:
|
||||||
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
|
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
|
||||||
|
|
||||||
|
undici-types@6.20.0:
|
||||||
|
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
|
||||||
|
|
||||||
unhead@1.11.18:
|
unhead@1.11.18:
|
||||||
resolution: {integrity: sha512-TWgGUoZMpYe2yJwY6jZ0/9kpQT18ygr2h5lI6cUXdfD9UzDc0ytM9jGaleSYkj9guJWXkk7izYBnzJvxl8mRvQ==}
|
resolution: {integrity: sha512-TWgGUoZMpYe2yJwY6jZ0/9kpQT18ygr2h5lI6cUXdfD9UzDc0ytM9jGaleSYkj9guJWXkk7izYBnzJvxl8mRvQ==}
|
||||||
|
|
||||||
|
@ -1394,6 +1412,10 @@ snapshots:
|
||||||
|
|
||||||
'@types/ms@2.1.0': {}
|
'@types/ms@2.1.0': {}
|
||||||
|
|
||||||
|
'@types/node@22.13.5':
|
||||||
|
dependencies:
|
||||||
|
undici-types: 6.20.0
|
||||||
|
|
||||||
'@types/web-bluetooth@0.0.20': {}
|
'@types/web-bluetooth@0.0.20': {}
|
||||||
|
|
||||||
'@unhead/dom@1.11.18':
|
'@unhead/dom@1.11.18':
|
||||||
|
@ -1424,9 +1446,9 @@ snapshots:
|
||||||
unhead: 1.11.18
|
unhead: 1.11.18
|
||||||
vue: 3.5.13(typescript@5.7.3)
|
vue: 3.5.13(typescript@5.7.3)
|
||||||
|
|
||||||
'@vitejs/plugin-vue@5.2.1(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))':
|
'@vitejs/plugin-vue@5.2.1(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))':
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
vite: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
||||||
vue: 3.5.13(typescript@5.7.3)
|
vue: 3.5.13(typescript@5.7.3)
|
||||||
|
|
||||||
'@vue/compiler-core@3.5.13':
|
'@vue/compiler-core@3.5.13':
|
||||||
|
@ -1891,6 +1913,10 @@ snapshots:
|
||||||
|
|
||||||
reusify@1.0.4: {}
|
reusify@1.0.4: {}
|
||||||
|
|
||||||
|
rollup-plugin-gzip@4.0.1(rollup@4.34.6):
|
||||||
|
dependencies:
|
||||||
|
rollup: 4.34.6
|
||||||
|
|
||||||
rollup@4.34.6:
|
rollup@4.34.6:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.6
|
'@types/estree': 1.0.6
|
||||||
|
@ -1986,6 +2012,8 @@ snapshots:
|
||||||
|
|
||||||
ufo@1.5.4: {}
|
ufo@1.5.4: {}
|
||||||
|
|
||||||
|
undici-types@6.20.0: {}
|
||||||
|
|
||||||
unhead@1.11.18:
|
unhead@1.11.18:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@unhead/dom': 1.11.18
|
'@unhead/dom': 1.11.18
|
||||||
|
@ -2014,7 +2042,7 @@ snapshots:
|
||||||
acorn: 8.14.0
|
acorn: 8.14.0
|
||||||
webpack-virtual-modules: 0.6.2
|
webpack-virtual-modules: 0.6.2
|
||||||
|
|
||||||
vite-plugin-pages@0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3))):
|
vite-plugin-pages@0.32.4(@vue/compiler-sfc@3.5.13)(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3))):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/debug': 4.1.12
|
'@types/debug': 4.1.12
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
|
@ -2024,7 +2052,7 @@ snapshots:
|
||||||
json5: 2.2.3
|
json5: 2.2.3
|
||||||
local-pkg: 0.5.1
|
local-pkg: 0.5.1
|
||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
vite: 6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
vite: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
||||||
yaml: 2.7.0
|
yaml: 2.7.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@vue/compiler-sfc': 3.5.13
|
'@vue/compiler-sfc': 3.5.13
|
||||||
|
@ -2032,17 +2060,17 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
vite-plugin-windicss@1.9.4(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)):
|
vite-plugin-windicss@1.9.4(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@windicss/plugin-utils': 1.9.4
|
'@windicss/plugin-utils': 1.9.4
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
kolorist: 1.8.0
|
kolorist: 1.8.0
|
||||||
vite: 6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
vite: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
||||||
windicss: 3.5.6
|
windicss: 3.5.6
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
vite-ssg@25.0.0(vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3)):
|
vite-ssg@25.0.0(vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@unhead/dom': 1.11.18
|
'@unhead/dom': 1.11.18
|
||||||
'@unhead/vue': 1.11.18(vue@3.5.13(typescript@5.7.3))
|
'@unhead/vue': 1.11.18(vue@3.5.13(typescript@5.7.3))
|
||||||
|
@ -2052,7 +2080,7 @@ snapshots:
|
||||||
jsdom: 25.0.1
|
jsdom: 25.0.1
|
||||||
kolorist: 1.8.0
|
kolorist: 1.8.0
|
||||||
prettier: 3.5.1
|
prettier: 3.5.1
|
||||||
vite: 6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
vite: 6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0)
|
||||||
vue: 3.5.13(typescript@5.7.3)
|
vue: 3.5.13(typescript@5.7.3)
|
||||||
yargs: 17.7.2
|
yargs: 17.7.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
@ -2063,12 +2091,13 @@ snapshots:
|
||||||
- supports-color
|
- supports-color
|
||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
|
|
||||||
vite@6.1.0(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0):
|
vite@6.1.0(@types/node@22.13.5)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.24.2
|
esbuild: 0.24.2
|
||||||
postcss: 8.5.2
|
postcss: 8.5.2
|
||||||
rollup: 4.34.6
|
rollup: 4.34.6
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
'@types/node': 22.13.5
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
jiti: 1.21.7
|
jiti: 1.21.7
|
||||||
terser: 5.39.0
|
terser: 5.39.0
|
||||||
|
|
|
@ -3,14 +3,28 @@ import vuePlugin from "@vitejs/plugin-vue"
|
||||||
import windicssPlugin from "vite-plugin-windicss"
|
import windicssPlugin from "vite-plugin-windicss"
|
||||||
import pagesPlugin from "vite-plugin-pages"
|
import pagesPlugin from "vite-plugin-pages"
|
||||||
import iconsPlugin from "unplugin-icons/vite"
|
import iconsPlugin from "unplugin-icons/vite"
|
||||||
|
import gzipPlugin from "rollup-plugin-gzip"
|
||||||
|
import { promisify } from "node:util"
|
||||||
|
import { brotliCompress as brotliCompressCallback } from "node:zlib"
|
||||||
|
|
||||||
|
const brotliCompress = promisify(brotliCompressCallback)
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [
|
plugins: [
|
||||||
vuePlugin(),
|
vuePlugin(),
|
||||||
pagesPlugin(),
|
pagesPlugin(),
|
||||||
windicssPlugin(),
|
windicssPlugin(),
|
||||||
iconsPlugin()
|
iconsPlugin(),
|
||||||
|
gzipPlugin({
|
||||||
|
minSize: 1501
|
||||||
|
}),
|
||||||
|
gzipPlugin({
|
||||||
|
minSize: 1501,
|
||||||
|
fileName: ".br",
|
||||||
|
customCompression: content => brotliCompress(Buffer.from(content))
|
||||||
|
})
|
||||||
],
|
],
|
||||||
|
// @ts-expect-error
|
||||||
ssgOptions: {
|
ssgOptions: {
|
||||||
formatting: "minify",
|
formatting: "minify",
|
||||||
dirStyle: "nested"
|
dirStyle: "nested"
|
||||||
|
|
Loading…
Add table
Reference in a new issue