UNPKG

@sveltejs/vite-plugin-svelte

Version:

The official [Svelte](https://svelte.dev) plugin for [Vite](https://vitejs.dev).

60 lines (47 loc) 1.99 kB
import { createRequire } from 'node:module'; /** @type {import('svelte/package.json')} */ const sveltePkg = createRequire(import.meta.url)('svelte/package.json'); // list of svelte runtime dependencies to optimize together with svelte itself export const SVELTE_RUNTIME_DEPENDENCIES = /** @type {const} */ ([ 'clsx' // avoids dev server restart after page load with npm + vite6 (see #1067) ]).filter((dep) => !!sveltePkg.dependencies?.[dep]); export const SVELTE_IMPORTS = Object.entries(sveltePkg.exports) .filter(([name, config]) => { // ignore names if (name === './package.json') { return ''; } // ignore type only return !( typeof config === 'object' && Object.keys(config).length === 1 && 'types' in config && config.types ); }) .map(([name]) => { return name.replace(/^\./, 'svelte'); }); export const SVELTE_DEDUPED_IMPORTS = SVELTE_IMPORTS.map((name) => { if (name === 'svelte/compiler') { return ''; } return name; }).filter((s) => s.length > 0); export const SVELTE_CLIENT_IMPORTS = SVELTE_IMPORTS.map((name) => { // ignore names if (name === 'svelte/compiler' || name.endsWith('/server') || name.includes('/server/')) { return ''; } return name; }).filter((s) => s.length > 0); export const SVELTE_EXPORT_CONDITIONS = ['svelte']; const FAQ_URL = 'https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md'; export const FAQ_LINK_MISSING_EXPORTS_CONDITION = `${FAQ_URL}#missing-exports-condition`; export const FAQ_LINK_CSSHASH = `${FAQ_URL}#why-should-csshash-be-calculated-from-filename-during-dev`; export const LINK_TRANSFORM_WITH_PLUGIN = 'https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/advanced-usage.md#transform-svelte-files-with-vite-plugins'; export const DEFAULT_SVELTE_EXT = ['.svelte']; export const DEFAULT_SVELTE_MODULE_INFIX = ['.svelte.']; export const DEFAULT_SVELTE_MODULE_EXT = ['.js', '.ts']; export const SVELTE_VIRTUAL_STYLE_ID_REGEX = /[?&]svelte&type=style&lang.css$/;