Optimised build

This commit is contained in:
2025-01-10 23:49:59 +00:00
parent 09e2fe3c3b
commit eaed024a10
5 changed files with 57 additions and 45 deletions

BIN
bun.lockb

Binary file not shown.

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Svelte</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

View File

@@ -3,33 +3,13 @@
"version": "0.0.1",
"scripts": {
"dev": "vite dev",
"build": "vite build && npm run package",
"preview": "vite preview",
"package": "svelte-kit sync && svelte-package && publint",
"prepublishOnly": "npm run package"
"build": "vite build",
"preview": "vite preview"
},
"files": [
"dist",
"!dist/**/*.test.*",
"!dist/**/*.spec.*"
],
"sideEffects": [
"**/*.css"
],
"svelte": "./dist/index.js",
"types": "./dist/index.d.ts",
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.ts",
"svelte": "./dist/index.js"
}
},
"peerDependencies": {
"svelte": "^5.0.0"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^3.3.1",
"@sveltejs/adapter-node": "^5.2.11",
"@sveltejs/kit": "^2.15.2",
"@sveltejs/package": "^2.3.7",
"@sveltejs/vite-plugin-svelte": "^4.0.4",
@@ -40,6 +20,8 @@
"publint": "^0.2.12",
"tailwindcss": "^3.4.17",
"typescript": "^5.7.3",
"terser": "^5.37.0",
"vite-plugin-compression": "^0.5.1",
"vite": "^5.4.11"
},
"dependencies": {

View File

@@ -1,11 +1,29 @@
import preprocess from "svelte-preprocess";
import adapter from '@sveltejs/adapter-auto';
import adapter from '@sveltejs/adapter-node';
/** @type {import('@sveltejs/kit').Config} */
const config = {
preprocess: preprocess({}),
preprocess: preprocess({
postcss: true,
}),
kit: {
adapter: adapter()
adapter: adapter({
out: 'build',
precompress: true, // Pre-compresses files
polyfill: true
}),
prerender: {
handleMissingId: 'warn'
},
csp: {
mode: 'auto',
directives: {
'script-src': ['self']
}
},
version: {
name: Date.now().toString()
}
}
};

View File

@@ -1,6 +1,35 @@
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import { sveltekit } from '@sveltejs/kit/vite'
import viteCompression from 'vite-plugin-compression'
export default defineConfig({
plugins: [sveltekit()]
plugins: [
sveltekit(),
viteCompression({
algorithm: 'brotli',
threshold: 1024,
compressionOptions: { level: 11 },
exclude: [/\.(br|gz)$/, /\.(jpe?g|png|gif|webp|zip)$/i],
filter: /\.(js|css|html|svg)$/i
}),
viteCompression({
algorithm: 'gzip',
threshold: 1024,
compressionOptions: { level: 9 },
exclude: [/\.(br|gz)$/, /\.(jpe?g|png|gif|webp|zip)$/i],
filter: /\.(js|css|html|svg)$/i
})
],
build: {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true
}
},
reportCompressedSize: true,
cssMinify: true,
cssCodeSplit: true
},
});