-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
75 lines (70 loc) · 2.06 KB
/
vite.config.ts
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import path from 'node:path'
import AutoImport from 'unplugin-auto-import/vite'
import React from '@vitejs/plugin-react'
import RehypeAddClassNames from 'rehype-class-names'
import RehypeSlug from 'rehype-slug'
import RehypeURLs from 'rehype-urls'
import Vike from 'vike/plugin'
import dotenv from 'dotenv'
import type { UserConfig } from 'vite'
import { mdx as MDX } from '@cyco130/vite-plugin-mdx'
import RehypeExternalLinks from 'rehype-external-links'
// We are using the Workers .dev.vars env file, to keep things simple and have a single env file.
dotenv.config({ path: './.dev.vars' })
// Used specifically for this example project
const DEMO_SITE_HOST = 'vike-cf-pages.pages.dev'
const config: UserConfig = {
server: {
port: 3000,
},
resolve: {
alias: {
'#': path.resolve('.'),
},
},
plugins: [
MDX({
rehypePlugins: [
RehypeSlug,
[RehypeURLs, (url: URL) => {
/**
* We add the site hostname to all links so the GitHub readme links go to the right place.
* When used for the website though, these links should be relative.
*/
if (url.hostname === DEMO_SITE_HOST) {
return url.pathname
}
}],
[RehypeExternalLinks, {
target: '_blank',
}],
// We are using a plugin to add class names to our markdown, as we are using an external design system for styling.
// @ts-expect-error Not sure why this complains, but it works
[RehypeAddClassNames, {
h1: 'tp-title-1',
h2: 'tp-title-2',
h3: 'tp-title-3',
h4: 'tp-title-4',
hr: 'tp-rule',
p: 'tp-body-1',
blockquote: 'tp-alert tp-alert--note',
ol: 'tp-list tp-list--decimal',
ul: 'tp-list tp-list--disc',
a: 'tp-link',
}],
],
}),
React(),
Vike(),
AutoImport({
dirs: ['./hooks', './components'],
imports: [
'react',
{
urql: ['useQuery', 'useMutation'],
},
],
}),
],
}
export default config