diff --git a/bun.lockb b/bun.lockb index 0722d6b..60b3b28 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/index.html b/index.html deleted file mode 100644 index 8ab0477..0000000 --- a/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - Vite + Svelte - - - - -
- - - - diff --git a/package.json b/package.json index 9eb31d1..5330c2f 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/svelte.config.js b/svelte.config.js index ea1e108..42d8916 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -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() + } } }; diff --git a/vite.config.js b/vite.config.js index a3eb481..0513431 100644 --- a/vite.config.js +++ b/vite.config.js @@ -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 + }, });