svelte.config.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import adapter from '@sveltejs/adapter-static';
  2. import * as child_process from 'node:child_process';
  3. import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
  4. import fs from 'node:fs';
  5. /** @type {import('@sveltejs/kit').Config} */
  6. const config = {
  7. // Consult https://kit.svelte.dev/docs/integrations#preprocessors
  8. // for more information about preprocessors
  9. preprocess: vitePreprocess(),
  10. kit: {
  11. // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
  12. // If your environment is not supported or you settled on a specific environment, switch out the adapter.
  13. // See https://kit.svelte.dev/docs/adapters for more information about adapters.
  14. adapter: adapter({
  15. pages: 'build',
  16. assets: 'build',
  17. fallback: 'index.html'
  18. }),
  19. // poll for new version name every 60 seconds (to trigger reload mechanic in +layout.svelte)
  20. version: {
  21. name: (() => {
  22. try {
  23. return child_process.execSync('git rev-parse HEAD').toString().trim();
  24. } catch {
  25. // if git is not available, fallback to package.json version
  26. // or current timestamp
  27. try {
  28. return (
  29. JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url), 'utf8'))
  30. ?.version || Date.now().toString()
  31. );
  32. } catch {
  33. return Date.now().toString();
  34. }
  35. }
  36. })(),
  37. pollInterval: 60000
  38. }
  39. },
  40. vitePlugin: {
  41. // inspector: {
  42. // toggleKeyCombo: 'meta-shift', // Key combination to open the inspector
  43. // holdMode: false, // Enable or disable hold mode
  44. // showToggleButton: 'always', // Show toggle button ('always', 'active', 'never')
  45. // toggleButtonPos: 'bottom-right' // Position of the toggle button
  46. // }
  47. },
  48. onwarn: (warning, handler) => {
  49. const { code } = warning;
  50. if (code === 'css-unused-selector') return;
  51. handler(warning);
  52. }
  53. };
  54. export default config;