-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathvite.config.ts
More file actions
42 lines (40 loc) · 1.3 KB
/
vite.config.ts
File metadata and controls
42 lines (40 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { sveltekit } from '@sveltejs/kit/vite';
import tailwindcss from '@tailwindcss/vite';
import { realpathSync } from 'node:fs';
import { createRequire } from 'node:module';
import { dirname, join, resolve } from 'node:path';
import { defineConfig, searchForWorkspaceRoot } from 'vite';
const require = createRequire(import.meta.url);
const projectRoot = realpathSync(process.env.SKILL_HARBOR_PROJECT_ROOT || resolve(import.meta.dirname));
const webPackageRoot = realpathSync(resolve(import.meta.dirname));
const svelteKitRoot = realpathSync(dirname(require.resolve('@sveltejs/kit/package.json')));
const viteRoot = realpathSync(dirname(require.resolve('vite/package.json')));
const graphDependencies = ['3d-force-graph', 'three-forcegraph', 'ngraph.graph', 'ngraph.forcelayout'];
const allowList = [
searchForWorkspaceRoot(projectRoot),
projectRoot,
join(projectRoot, 'node_modules'),
webPackageRoot,
svelteKitRoot,
viteRoot,
];
export default defineConfig({
plugins: [tailwindcss(), sveltekit()],
envDir: projectRoot,
optimizeDeps: {
include: graphDependencies,
},
define: {
__PROJECT_ROOT__: JSON.stringify(projectRoot),
__WEB_PACKAGE_ROOT__: JSON.stringify(webPackageRoot),
},
server: {
fs: {
allow: allowList,
},
},
ssr: {
external: ['gray-matter'],
noExternal: graphDependencies,
},
});