102 lines
5.3 KiB
TypeScript
102 lines
5.3 KiB
TypeScript
import { defineConfig } from 'vitepress'
|
|
import { withMermaid } from 'vitepress-plugin-mermaid'
|
|
|
|
const config = withMermaid(
|
|
defineConfig({
|
|
// title: "Frontend Monorepo",
|
|
title: 'Frontend Arch',
|
|
description: "Centralized documentation for the Enterprise Frontend Monorepo",
|
|
head: [
|
|
['link', { rel: 'icon', href: '/favicon.svg' }] // Jika Anda menggunakan favicon.svg
|
|
],
|
|
themeConfig: {
|
|
search: {
|
|
provider: 'local',
|
|
options: {
|
|
detailedView: true
|
|
}
|
|
},
|
|
logo: '/logo.svg',
|
|
nav: [
|
|
{ text: 'Docs', link: '/overview' },
|
|
],
|
|
|
|
sidebar: [
|
|
{
|
|
text: 'Getting Started',
|
|
items: [
|
|
{ text: 'Project Overview', link: '/overview' },
|
|
{ text: 'Development Setup', link: '/setup' },
|
|
],
|
|
},
|
|
{
|
|
text: 'Core Architecture',
|
|
collapsed: false,
|
|
items: [
|
|
{ text: 'API & Domain Logic', link: '/packages/core-api/' },
|
|
{ text: 'Event Bus System', link: '/packages/core-events/' },
|
|
{ text: 'Storage & Persistence', link: '/packages/core-storage/' },
|
|
{ text: 'I18n & Localization', link: '/packages/core-i18n/' },
|
|
],
|
|
},
|
|
{
|
|
text: 'UI System',
|
|
collapsed: false,
|
|
items: [
|
|
{ text: 'Overview', link: '/packages/ui/' },
|
|
{ text: 'App Layout', link: '/packages/ui/CORE-APP-SHELL' },
|
|
{ text: 'Form Primitives', link: '/packages/ui/FORM-COMPONENTS' },
|
|
],
|
|
},
|
|
{
|
|
text: 'Desktop Ecosystem',
|
|
collapsed: false,
|
|
items: [
|
|
{ text: 'Overview', link: '/apps/desktop/' },
|
|
{ text: 'Lifecycle & Configuration', link: '/apps/desktop/CONFIGURATION' },
|
|
{ text: 'IPC & Bridge Architecture', link: '/apps/desktop/IPC_ARCHITECTURE' },
|
|
{ text: 'Distribution & Auto-Update', link: '/apps/desktop/AUTO_UPDATER' },
|
|
],
|
|
},
|
|
],
|
|
|
|
outline: { level: [2, 3] },
|
|
socialLinks: [
|
|
{
|
|
icon: {
|
|
svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" height="24" width="24"><title>Gitea</title><path d="M4.209 4.603c-0.247 0 -0.525 0.02 -0.84 0.088 -0.333 0.07 -1.28 0.283 -2.054 1.027C-0.403 7.25 0.035 9.685 0.089 10.052c0.065 0.446 0.263 1.687 1.21 2.768 1.749 2.141 5.513 2.092 5.513 2.092s0.462 1.103 1.168 2.119c0.955 1.263 1.936 2.248 2.89 2.367 2.406 0 7.212 -0.004 7.212 -0.004s0.458 0.004 1.08 -0.394c0.535 -0.324 1.013 -0.893 1.013 -0.893s0.492 -0.527 1.18 -1.73c0.21 -0.37 0.385 -0.729 0.538 -1.068 0 0 2.107 -4.471 2.107 -8.823 -0.042 -1.318 -0.367 -1.55 -0.443 -1.627 -0.156 -0.156 -0.366 -0.153 -0.366 -0.153s-4.475 0.252 -6.792 0.306c-0.508 0.011 -1.012 0.023 -1.512 0.027v4.474l-0.634 -0.301c0 -1.39 -0.004 -4.17 -0.004 -4.17 -1.107 0.016 -3.405 -0.084 -3.405 -0.084s-5.399 -0.27 -5.987 -0.324c-0.187 -0.011 -0.401 -0.032 -0.648 -0.032zm0.354 1.832h0.111s0.271 2.269 0.6 3.597C5.549 11.147 6.22 13 6.22 13s-0.996 -0.119 -1.641 -0.348c-0.99 -0.324 -1.409 -0.714 -1.409 -0.714s-0.73 -0.511 -1.096 -1.52C1.444 8.73 2.021 7.7 2.021 7.7s0.32 -0.859 1.47 -1.145c0.395 -0.106 0.863 -0.12 1.072 -0.12zm8.33 2.554c0.26 0.003 0.509 0.127 0.509 0.127l0.868 0.422 -0.529 1.075a0.686 0.686 0 0 0 -0.614 0.359 0.685 0.685 0 0 0 0.072 0.756l-0.939 1.924a0.69 0.69 0 0 0 -0.66 0.527 0.687 0.687 0 0 0 0.347 0.763 0.686 0.686 0 0 0 0.867 -0.206 0.688 0.688 0 0 0 -0.069 -0.882l0.916 -1.874a0.667 0.667 0 0 0 0.237 -0.02 0.657 0.657 0 0 0 0.271 -0.137 8.826 8.826 0 0 1 1.016 0.512 0.761 0.761 0 0 1 0.286 0.282c0.073 0.21 -0.073 0.569 -0.073 0.569 -0.087 0.29 -0.702 1.55 -0.702 1.55a0.692 0.692 0 0 0 -0.676 0.477 0.681 0.681 0 1 0 1.157 -0.252c0.073 -0.141 0.141 -0.282 0.214 -0.431 0.19 -0.397 0.515 -1.16 0.515 -1.16 0.035 -0.066 0.218 -0.394 0.103 -0.814 -0.095 -0.435 -0.48 -0.638 -0.48 -0.638 -0.467 -0.301 -1.116 -0.58 -1.116 -0.58s0 -0.156 -0.042 -0.27a0.688 0.688 0 0 0 -0.148 -0.241l0.516 -1.062 2.89 1.401s0.48 0.218 0.583 0.619c0.073 0.282 -0.019 0.534 -0.069 0.657 -0.24 0.587 -2.1 4.317 -2.1 4.317s-0.232 0.554 -0.748 0.588a1.065 1.065 0 0 1 -0.393 -0.045l-0.202 -0.08 -4.31 -2.1s-0.417 -0.218 -0.49 -0.596c-0.083 -0.31 0.104 -0.691 0.104 -0.691l2.073 -4.272s0.183 -0.37 0.466 -0.497a0.855 0.855 0 0 1 0.35 -0.077z" fill="currentColor" stroke-width="1"></path></svg>'
|
|
},
|
|
link: 'https://git.eigen.co.id/eigen/fe-monorepo-template'
|
|
}
|
|
]
|
|
},
|
|
|
|
// Mermaid configuration
|
|
mermaid: {
|
|
theme: 'default',
|
|
},
|
|
|
|
// Fix cascading CJS/ESM SyntaxErrors caused by Vite dynamically discovering mermaid
|
|
vite: {
|
|
optimizeDeps: {
|
|
include: [
|
|
'mermaid'
|
|
]
|
|
}
|
|
}
|
|
})
|
|
);
|
|
|
|
// Pnpm strict workspace workaround:
|
|
// vitepress-plugin-mermaid aggressively injects sub-dependencies into optimizeDeps.include.
|
|
// Because pnpm uses strict symlinks, Vite fails to resolve these sub-dependencies from the project root,
|
|
// causing pre-bundling to fail and cascading CJS/ESM SyntaxErrors in the browser.
|
|
// We strip them out so esbuild can naturally inline them into the 'mermaid' chunk instead.
|
|
if (config.vite?.optimizeDeps?.include) {
|
|
config.vite.optimizeDeps.include = config.vite.optimizeDeps.include.filter(
|
|
(dep) => !['@braintree/sanitize-url', 'debug', 'cytoscape-cose-bilkent', 'cytoscape'].includes(dep)
|
|
);
|
|
}
|
|
|
|
export default config;
|