Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JS Heap OOM Error for OpenAPI spec file with 11.6k lines #383

Open
evisdrenova opened this issue Oct 22, 2024 · 0 comments
Open

JS Heap OOM Error for OpenAPI spec file with 11.6k lines #383

evisdrenova opened this issue Oct 22, 2024 · 0 comments

Comments

@evisdrenova
Copy link

evisdrenova commented Oct 22, 2024

I'm trying to render a large openapi spec file with 11.6k lines but the docusaurus build is failing due to a JS Heap size issue. I'm not sure if this is a docusaurus issue or a redocusaurus issue but any help would be appreciated.

link to spec caled final_openapi.yaml

<--- Last few GCs --->

[27310:0x150008000]    42669 ms: Mark-Compact 3947.6 (4142.5) -> 3942.4 (4141.9) MB, 256.67 / 0.00 ms  (average mu = 0.134, current mu = 0.030) allocation failure; scavenge might not succeed
[27310:0x150008000]    42939 ms: Mark-Compact 3946.6 (4143.1) -> 3942.8 (4142.4) MB, 264.67 / 0.00 ms  (average mu = 0.079, current mu = 0.019) allocation failure; scavenge might not succeed


<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x105088bf4 node::Abort() [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 2: 0x105088ddc node::ModifyCodeGenerationFromStrings(v8::Local<v8::Context>, v8::Local<v8::Value>, bool) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 3: 0x10520cda8 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 4: 0x1053e16e8 v8::internal::Heap::GarbageCollectionReasonToString(v8::internal::GarbageCollectionReason) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 5: 0x1053e559c v8::internal::Heap::CollectGarbageShared(v8::internal::LocalHeap*, v8::internal::GarbageCollectionReason) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 6: 0x1053e2000 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 7: 0x1053dfd88 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 8: 0x1053d69dc v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
 9: 0x1053d723c v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
10: 0x1053bbb04 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
11: 0x1053af8ec v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArrayWithFiller(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Handle<v8::internal::Oddball>, v8::internal::AllocationType) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
12: 0x1056832a0 v8::internal::Handle<v8::internal::NumberDictionary> v8::internal::HashTable<v8::internal::NumberDictionary, v8::internal::NumberDictionaryShape>::New<v8::internal::Isolate>(v8::internal::Isolate*, int, v8::internal::AllocationType, v8::internal::MinimumCapacity) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
13: 0x10527c728 v8::internal::Builtin_ArrayConcat(int, unsigned long*, v8::internal::Isolate*) [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
14: 0x105b00b24 Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
15: 0x10bb1b730 
16: 0x10bae7538 
17: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
18: 0x10baed46c 
19: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
20: 0x10bb10c94 
21: 0x10bb19b5c 
22: 0x10bae76c4 
23: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
24: 0x10bba0b94 
25: 0x10bb18f3c 
26: 0x10bae76c4 
27: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
28: 0x10baed46c 
29: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
30: 0x10bb10c94 
31: 0x10bb19b5c 
32: 0x10bae76c4 
33: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
34: 0x10baed46c 
35: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
36: 0x10bb10c94 
37: 0x10bb19b5c 
38: 0x10bae76c4 
39: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
40: 0x10bba0b94 
41: 0x10bb18f3c 
42: 0x10bb39d10 
43: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
44: 0x10bb10c94 
45: 0x10bb19b5c 
46: 0x10bb39d10 
47: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
48: 0x10baf2088 
49: 0x105b23ee4 Builtins_ArrayMap [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
50: 0x10baf5cd4 
51: 0x10baf037c 
52: 0x10bae76c4 
53: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
54: 0x10bba0b94 
55: 0x10baf020c 
56: 0x10bae76c4 
57: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
58: 0x105bb45cc Builtins_ConstructHandler [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
59: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
60: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
61: 0x105bb45cc Builtins_ConstructHandler [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
62: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
63: 0x105b23ee4 Builtins_ArrayMap [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
64: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
65: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
66: 0x105bb45cc Builtins_ConstructHandler [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
67: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
68: 0x105a75708 construct_stub_create_deopt_addr [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
69: 0x105bb45cc Builtins_ConstructHandler [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
70: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
71: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
72: 0x105a84de4 Builtins_LoadIC_NoFeedback [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
73: 0x105ba9218 Builtins_GetNamedPropertyHandler [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
74: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
75: 0x10bad64ec 
76: 0x10bac8278 
77: 0x10bad48cc 
78: 0x10bad6074 
79: 0x10bac8278 
80: 0x10bad9918 
81: 0x10bad4370 
82: 0x10bac8278 
83: 0x10b499910 
84: 0x10bad4ac0 
85: 0x10bac8278 
86: 0x10bad5fa4 
87: 0x10bac8278 
88: 0x10b499910 
89: 0x10bab6448 
90: 0x10bac8438 
91: 0x10bad5178 
92: 0x10bac8278 
93: 0x10bad9918 
94: 0x10bad4370 
95: 0x10bac8278 
96: 0x10b499910 
97: 0x10bab6448 
98: 0x10bac8438 
99: 0x10bad9918 
100: 0x10bad4370 
101: 0x10bac8278 
102: 0x10b499910 
103: 0x10bab6448 
104: 0x10bac8438 
105: 0x10bad5178 
106: 0x10bac8278 
107: 0x10bad9918 
108: 0x10bad4370 
109: 0x10bac8278 
110: 0x10b499910 
111: 0x10bab6448 
112: 0x10bac8438 
113: 0x10bad9918 
114: 0x10bad4370 
115: 0x10bac8278 
116: 0x10b499910 
117: 0x10bab6448 
118: 0x10bac8438 
119: 0x10bad5178 
120: 0x10bac8278 
121: 0x10bad9918 
122: 0x10bad4370 
123: 0x10bac8278 
124: 0x10b499910 
125: 0x10bab6448 
126: 0x10bac8438 
127: 0x10bad9918 
128: 0x10bad4370 
129: 0x10bac8278 
130: 0x10b499910 
131: 0x10bab6448 
132: 0x10bac8438 
133: 0x10b499910 
134: 0x10bad4ac0 
135: 0x10bac8278 
136: 0x10bad5fa4 
137: 0x10bac8278 
138: 0x10b499910 
139: 0x10bab6448 
140: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
141: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
142: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
143: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
144: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
145: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
146: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
147: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
148: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
149: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
150: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
151: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
152: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
153: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
154: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
155: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
156: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
157: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
158: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
159: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
160: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
161: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
162: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
163: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
164: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
165: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
166: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
167: 0x105a783e4 Builtins_InterpreterEntryTrampoline [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
168: 0x10b7d2fc4 
169: 0x10b4653c4 
170: 0x10bbdc7dc 
171: 0x10bbd47ec 
172: 0x10bbdc748 
173: 0x10b466110 
174: 0x10bbdc7dc 
175: 0x105a79014 Builtins_InterpreterEnterAtNextBytecode [/Users/evisdrenova/.volta/tools/image/node/20.10.0/bin/node]
176: 0x10bbdc7dc 
177: 0x10b6d5960 
178: 0x10bbdc7dc 
179: 0x10b28b1f8 
180: 0x10b6d5950 
181: 0x10bbdc7dc 
182: 0x10b6d5930 
183: 0x10bbdc7dc 
184: 0x10bbd47ec 
185: 0x10bbdc748 
186: 0x10b6d5900 
187: 0x10bbdc7dc 
188: 0x10b6d5960 
189: 0x10bbdc7dc 
190: 0x10b6d5900 
191: 0x10bbdc7dc 
192: 0x10b6d5960 
193: 0x10bbdc7dc 
194: 0x10b6d5900 
195: 0x10bbdc7dc 
196: 0x10b6d5960 
197: 0x10bbdc7dc 
198: 0x10b6d5960 
199: 0x10bbdc7dc 
200: 0x10bbd47ec 
201: 0x10bbdc748 
202: 0x10b6d5900 
203: 0x10bbdc7dc 
204: 0x10b6d5960 
205: 0x10bbdc7dc 
206: 0x10b6d5960 
207: 0x10bbdc7dc 
208: 0x10b6d5900 
209: 0x10bbdc7dc 
210: 0x10b6d5960 
211: 0x10bbdc7dc 
212: 0x10b6d5960 
213: 0x10bbdc7dc 
214: 0x10b6d5900 
215: 0x10bbdc7dc 
216: 0x10b6d5960 
217: 0x10bbdc7dc 
218: 0x10b6d5900 
219: 0x10bbdc7dc 
220: 0x10b6d5960 
221: 0x10bbdc7dc 
222: 0x10b6d5900 
223: 0x10bbdc7dc 
224: 0x10b6d5960 
225: 0x10bbdc7dc 
226: 0x10b6d5920 
227: 0x10bbdc7dc 
228: 0x10b6d5960 
229: 0x10bbdc7dc 
230: 0x10b6d5960 
231: 0x10bbdc7dc 
232: 0x10b6d5960 
233: 0x10bbdc7dc 
234: 0x10b6d5960 
235: 0x10bbdc7dc 
236: 0x10b6d5900 
237: 0x10bbdc7dc 
238: 0x10b6d5960 
239: 0x10bbdc7dc 
240: 0x10b28b1f8 
241: 0x10b6d5950 
242: 0x10bbdc7dc 
243: 0x10b6d5900 
244: 0x10bbdc7dc 
245: 0x10b6d58fc 
246: 0x10bbdc7dc 
247: 0x10b28b1f8 
248: 0x10b6d5950 
249: 0x10bbdc7dc 
250: 0x10b6d58fc 
251: 0x10bbdc7dc 
252: 0x10b28b1f8 
253: 0x10b6d5950 
254: 0x10bbdc7dc 
255: 0x10b6d5900 
sh: line 1: 27310 Abort trap: 6           docusaurus build

Here is my docusaurus config:

// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion

import type { Config } from '@docusaurus/types';
import { themes } from 'prism-react-renderer';
import type * as Redocusaurus from 'redocusaurus';

const config: Config = {
  title: 'Neosync',
  tagline: 'Open source Data Anonymization and Synthetic Data',
  favicon: 'img/logo_light_mode.png',
  headTags: [
    {
      tagName: 'script',
      attributes: {
        id: 'koala-snippet',

        innerHTML: `!function(t){if(window.ko)return;window.ko=[],["identify","track","removeListeners","open","on","off","qualify","ready"].forEach(function(t){ko[t]=function(){var n=[].slice.call(arguments);return n.unshift(t),ko.push(n),ko}});var n=document.createElement("script");n.async=!0,n.setAttribute("src","https://cdn.getkoala.com/v1/pk_4fa92236b6fe5d23fb878c88c14d209fd48e/sdk.js"),(document.body || document.head).appendChild(n)}();`,
      },
    },
  ],
  // Set the production url of your s here
  url: 'https://docs.neosync.dev',
  // Set the /<baseUrl>/ pathname under which your site is served
  // For GitHub pages deployment, it is often '/<projectName>/'
  baseUrl: '/',

  // GitHub pages deployment config.
  // If you aren't using GitHub pages, you don't need these.
  organizationName: 'nucleuscloud', // Usually your GitHub org/user name.
  projectName: 'neosync', // Usually your repo name.

  onBrokenLinks: 'throw',
  onBrokenMarkdownLinks: 'warn', //should probably be throw or warn but was causing a known issue in the markdown parsing of readme files from node_modules. https://github.com/facebook/docusaurus/issues/6370

  // Even if you don't use internalization, you can use this field to set useful
  // metadata like html lang. For example, if your site is Chinese, you may want
  // to replace "en" with "zh-Hans".
  i18n: {
    defaultLocale: 'en',
    locales: ['en'],
  },
  plugins: [
    [
      'posthog-docusaurus',
      {
        apiKey: process.env.POSTHOG_KEY
          ? process.env.POSTHOG_KEY
          : 'phc_2hFE16FGvpOmUdgVczrxrJPDJ1sp724se5w7uAte9GS',
        appUrl: process.env.POSTHOG_HOST
          ? process.env.POSTHOG_HOST
          : 'https://app.posthog.com',
        enableInDevelopment: false,
      },
    ],
    async function tailwindcssPlugin(context, options) {
      return {
        name: 'docusaurus-tailwindcss',
        configurePostCss(postcssOptions) {
          // Appends TailwindCSS and AutoPrefixer.
          postcssOptions.plugins.push(require('tailwindcss'));
          postcssOptions.plugins.push(require('autoprefixer'));
          return postcssOptions;
        },
      };
    },
  ],

  presets: [
    [
      'classic',
      {
        docs: {
          id: 'default',
          routeBasePath: '/',
          sidebarPath: './sidebars.ts',
          // Remove this to remove the "edit this page" links.
          editUrl: 'https://github.com/nucleuscloud/neosync/blob/main/docs',
        },
        blog: {
          routeBasePath: '/changelog',
          editUrl: 'https://github.com/nucleuscloud/neosync/blob/main/docs',
          blogTitle: 'Neosync Changelog',
          blogDescription: 'Neosync Changelog',
          blogSidebarTitle: ' Changelog',
          blogSidebarCount: 'ALL',
        },
        theme: {
          customCss: ['./src/css/custom.css'],
        },
      },
    ],
    [
      'docusaurus-protobuffet',
      {
        protobuffet: {
          fileDescriptorsPath: './protos/data/proto_docs.json',
          protoDocsPath: 'protos',
          sidebarPath: './protos/proto-sidebars.js',
        },
        docs: {
          routeBasePath: 'api',
          sidebarPath: './proto-sidebars.ts',
        },
        blog: false,
        theme: {
          customCss: require.resolve('./src/css/custom.css'),
        },
      },
    ],
    [
      'redocusaurus',
      {
        specs: [
          {
            spec: './final_openapi.yaml',
            route: '/reference',
          },
        ],
        // Theme Options for modifying how redoc renders them
        theme: {
          // Change with your site colors
          primaryColor: '#1890ff',
        },
      },
    ] satisfies Redocusaurus.PresetEntry,
  ],

  themeConfig: {
    metadata: [
      {
        name: 'keywords',
        content:
          'open source, anonymization, data anonymization, synthetic data, data privacy, data security',
      },
    ],
    image: 'img/docsOG.png',
    colorMode: {
      defaultMode: 'light',
      disableSwitch: false,
      // disabling preference until dark mode switching is fixed: https://github.com/facebook/docusaurus/issues/8938
      respectPrefersColorScheme: false,
    },
    navbar: {
      logo: {
        alt: 'Neosync',
        srcDark: 'img/logo_and_text_dark_mode.png',
        src: 'img/logo_and_text_light_mode.png',
      },

      items: [
        {
          href: 'https://github.com/nucleuscloud/neosync',
          position: 'right',
          className: 'header-github-link',
          'aria-label': 'GitHub repository',
        },
        {
          href: 'https://discord.com/invite/MFAMgnp4HF',
          position: 'right',
          className: 'header-discord-link',
          'aria-label': 'Discord Server',
        },
        { to: '/', label: 'Docs' },
        { to: '/api', label: 'API' },
        { to: '/reference', label: 'Reference' },
        { to: '/changelog', label: 'Changelog' },
      ],
    },
    footer: {
      copyright: `Copyright © Nucleus Cloud Corp ${new Date().getFullYear()}`,
    },
    prism: {
      theme: themes.github,
      darkTheme: themes.dracula,
    },
    algolia: {
      appId: 'xxx',
      apiKey: 'xxx',
      indexName: 'neosync',
      contextualSearch: true,
      searchParameters: {},
      searchPagePath: 'search',
    },
  },
};

export default config;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant