docs/docs/vite.config.ts   A
last analyzed

Complexity

Total Complexity 8
Complexity/F 0

Size

Lines of Code 34
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 8
eloc 26
mnd 8
bc 8
fnc 0
dl 0
loc 34
rs 10
bpm 0
cpm 0
noi 0
c 0
b 0
f 0
1
import {defineConfig} from 'vite'
2
import {sitemap, Url as SitemapUrl} from '@aminnairi/rollup-plugin-sitemap'
3
import VitePressConfig from './.vitepress/config'
4
import {DefaultTheme} from "vitepress/types/default-theme";
5
6
const docsSiteBaseUrl = 'https://nystudio107.com'
7
const docsBaseUrl = new URL(VitePressConfig.base!, docsSiteBaseUrl).href.replace(/\/$/, '') + '/';
8
let siteMapUrls: SitemapUrl[] = [];
9
if (Array.isArray(VitePressConfig.themeConfig?.sidebar)) {
10
  siteMapUrls = VitePressConfig.themeConfig?.sidebar?.map((group: DefaultTheme.SidebarItem) => {
11
    return group.items!.map((items: DefaultTheme.SidebarItem) => (<SitemapUrl>{
12
      location: items.link!.replace(/^\/+/, '') ?? '',
13
      lastModified: new Date(),
14
    }));
15
  }).reduce((prev: SitemapUrl[], curr: SitemapUrl[]) => {
16
    return prev!.concat(curr!);
17
  });
18
}
19
20
// https://vitejs.dev/config/
21
export default defineConfig({
22
  plugins: [
23
    sitemap({
24
      baseUrl: docsBaseUrl,
25
      urls: siteMapUrls,
26
    })
27
  ],
28
  server: {
29
    host: '0.0.0.0',
30
    port: parseInt(process.env.DOCS_DEV_PORT ?? '4000'),
31
    strictPort: true,
32
  }
33
});
34