Passed
Push — v4 ( 345cd4...fda6ca )
by Andrew
10:51 queued 05:25
created

docs/docs/vite.config.ts   A

Complexity

Total Complexity 10
Complexity/F 0

Size

Lines of Code 35
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 10
eloc 28
mnd 10
bc 10
fnc 0
dl 0
loc 35
bpm 0
cpm 0
noi 0
c 0
b 0
f 0
rs 10
1
import {defineConfig} from 'vite'
2
import SitemapPlugin from '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 siteMapRoutes: SiteMapPluginUrls = [];
9
if (Array.isArray(VitePressConfig.themeConfig?.sidebar)) {
10
  siteMapRoutes = VitePressConfig.themeConfig?.sidebar?.map((group: DefaultTheme.SidebarItem) => {
11
    return group.items!.map((items: DefaultTheme.SidebarItem) => ({
12
      path: items.link!.replace(/^\/+/, '') ?? '',
13
      name: items.text ?? ''
14
    }));
15
  }).reduce((prev: SiteMapPluginUrls, curr: SiteMapPluginUrls) => {
16
    return prev!.concat(curr!);
17
  });
18
}
19
20
// https://vitejs.dev/config/
21
export default defineConfig({
22
  plugins: [
23
    SitemapPlugin({
24
      baseUrl: docsBaseUrl,
25
      contentBase: './docs/.vitepress/dist',
26
      routes: siteMapRoutes,
27
    })
28
  ],
29
  server: {
30
    host: '0.0.0.0',
31
    port: parseInt(process.env.DOCS_DEV_PORT ?? '4000'),
32
    strictPort: true,
33
  }
34
});
35