diff --git a/assets/js/d1104007.7c9607a5.js b/assets/js/d1104007.7c9607a5.js
deleted file mode 100644
index 239c031c1..000000000
--- a/assets/js/d1104007.7c9607a5.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[5822],{7268:(e,n,r)=>{"use strict";r.d(n,{A:()=>i});r(6540);var t=r(4848);function i(e){const n=e.children.split("\n"),r=n.find((e=>e.trim()!==e)),i=r?/([^\s])/.exec(r).index:0,o=n.map((e=>e.slice(i))).filter(((e,n)=>e.length>0||n>0)).join("\n");return(0,t.jsx)("pre",{children:o})}},5792:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#1: singleSpa.start() was not called"}),(0,i.jsxs)("p",{children:[(0,i.jsx)("a",{href:"/docs/api#start",children:"singleSpa.start()"})," has not been called, 5000ms after single-spa was loaded. Before start() is called, apps can be declared and loaded, but not bootstrapped or mounted."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n // Insert this into your single-spa root config\n singleSpa.start();\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The single-spa start() API exists to give you fine-grained control over performance. In the majority of use cases, you should call singleSpa.start() immediately after"," ",(0,i.jsx)("a",{href:"http://localhost:3000/docs/api#registerapplication",children:"registering your applications"}),". It was designed for situations where you want to start downloading a single-spa application's code while you're waiting for initial user data or context. To do that, call registerApplication() immediately but delay calling start until the data is loaded."]})]})}},1282:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"mount"})}},1550:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"unmount"})}},5880:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"update"})}},239:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#13: Parcel is not mountable."}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," is currently in"," ",e.getErrorCodeArg(1)," status. You may only call parcel.unmount() when the parcel is in NOT_MOUNTED status."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const customProps = {domElement: document.getElementById('some-container')}\n const parcel = mountParcel(() => import('./some-parcel.js'), customProps);\n\n parcel.unmount().then(() => {\n Now the parcel is guaranteed to be in NOT_MOUNTED status, and you can call parcel.mount()\n parcel.mount()\n })\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["Single-spa parcels have a ",(0,i.jsx)("a",{href:"/docs/api/#getappstatus",children:"status"})," ","(same as single-spa applications). You may only attempt to mount a parcel if it is not currently mounted, but parcel.mount() was called when the parcel was in ",e.getErrorCodeArg(1)," status. Note that you normally do not have to call"," ",(0,i.jsx)("a",{href:"/docs/parcels-api/#mount",children:"parcel.mount()"})," at all, since parcel objects will always be mounted the first time by calling"," ",(0,i.jsx)("a",{href:"/docs/parcels-api/#mountparcel",children:"mountParcel()"}),"."]})]})}},2382:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#14: navigateToUrl / singleSpaNavigate was called incorrectly."}),(0,i.jsx)("p",{children:"singleSpaNavigate/navigateToUrl must be either called with a string url, with an anchor element as its context, or with an event whose currentTarget is an anchor element tag"}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:'\n import { navigateToUrl } from \'single-spa\';\n\n navigateToUrl(\'/path\')\n\n // Or via HTML\n Link\n\n // Or via JSX / templates\n Link\n '})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The singleSpaNavigate global function and the navigateToUrl exported function are identical. They can be used in three different ways, as described in ",(0,i.jsx)("a",{href:"/docs/api/#navigatetourl",children:"the documentation"}),"."]})]})}},6733:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("h1",{children:["#15: lifecycle function ",e.getErrorCodeArg(2)," did not return a promise"]}),(0,i.jsxs)("p",{children:["For ",e.getErrorCodeArg(0,"microfrontend")," ",e.getErrorCodeArg(1),", the lifecycle function"," ",e.getErrorCodeArg(2)," at array index ",e.getErrorCodeArg(3)," did not return a promise."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n // Similar flow applies for other frameworks\n import singleSpaReact from 'single-spa-react';\n import React from 'react';\n import ReactDOM from 'react-dom';\n import Root from './root.component';\n\n const lifecycles = singleSpaReact({\n React,\n ReactDOM,\n rootComponent: Root,\n })\n\n export const bootstrap = lifecycles.bootstrap;\n export const mount = lifecycles.mount;\n export const unmount = lifecycles.unmount;\n "}),(0,i.jsx)(t.A,{children:"\n // If you're implementing your own lifecycle functions, make sure they are async or return a promise.\n export const bootstrap = async () => {\n // do something\n }\n\n export const mount = () => Promise.resolve().then(() => {\n // do something\n })\n\n export const unmount = async () => {\n // do something\n }\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:[(0,i.jsx)("a",{href:"/docs/building-applications#registered-application-lifecycle",children:"Lifecycle functions"})," ","are the framework agnostic API that single-spa uses to mount and unmount microfrontends. A lifecycle function is a function that returns a Promise (or an async function). The promise should resolve once the lifecycle has completed bootstrapping, mounting, or unmounting. The most common implementation for lifecycle functions is to use a"," ",(0,i.jsx)("a",{href:"/docs/ecosystem",children:"helper library"})," for your component framework. If you do that, you won't have to implement the lifecycle functions yourself."]})]})}},2148:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#16: setBootstrapMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setBootstrapMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setBootstrapMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setBootstrapMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setbootstrapmaxtime",children:"setBootstrapMaxTime documentation"}),"."]})]})}},7243:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#17: setMountMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setMountMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setMountMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setMountMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setmountmaxtime",children:"setMountMaxTime documentation"}),"."]})]})}},9530:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#18: setUnmountMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setUnmountMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setUnmountMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setUnmountMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setunmountmaxtime",children:"setUnmountMaxTime documentation"}),"."]})]})}},4438:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#19: setUnloadMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setUnloadMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setUnloadMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setUnloadMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setunloadmaxtime",children:"setUnloadMaxTime documentation"}),"."]})]})}},8745:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#2: Cannot mount parcel - config not provided"}),(0,i.jsx)("p",{children:"Cannot mount parcel without a config object or config loading function."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("p",{children:"Raw, framework agnostic code:"}),(0,i.jsx)(t.A,{children:"\n // The most common root cause of this is that the parcelConfig failed to import correctly\n import parcelConfig from './some-file';\n\n console.log('Make sure this is defined!!!', parcelConfig);\n const domElement = document.createElement('div');\n mountParcel(parcelConfig, {domElement})\n "}),(0,i.jsx)("p",{children:"React-specific code"}),(0,i.jsx)(t.A,{children:"\n // If you're using react, this means the config prop you passed in is undefined,\n // perhaps because it failed to import correctly.\n import parcelConfig from './some-file';\n import Parcel from 'single-spa-react/parcel';\n\n console.log('Make sure this is defined!!!', parcelConfig);\n \n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The single-spa start() API exists to give you fine-grained control over performance. In the majority of use cases, you should call singleSpa.start() immediately after"," ",(0,i.jsx)("a",{href:"http://localhost:3000/docs/api#registerapplication",children:"registering your applications"}),". It was designed for situations where you want to start downloading a single-spa application's code while you're waiting for initial user data or context. To do that, call registerApplication() immediately but delay calling start until the data is loaded."]})]})}},2373:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#20: The first argument to registerApplication must be a non-empty string 'appName'"}),(0,i.jsx)("p",{children:"When calling registerApplication, the first argument must be the string name of the application."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n '@org/name-of-app',\n loadingFunction,\n activityFunction\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication documentation"}),"."]})]})}},534:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#21: Duplicate application name"}),(0,i.jsxs)("p",{children:["Cannot register application '",e.getErrorCodeArg(0),"' because an application has already been registered with that name."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n 'some-other-name',\n loadingFunction,\n activityFunction\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication documentation"}),"."]})]})}},4355:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#22: Custom props must be an object"}),(0,i.jsxs)("p",{children:["Cannot register application '",e.getErrorCodeArg(0),"' because the customProps are not a plain JavaScript object."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n // customProps must be a plain object (not an Array)\n const customProps = {foo: 'bar'};\n\n registerApplication(\n 'name',\n loadingFunction,\n activityFunction,\n customProps\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication documentation"}),"."]})]})}},4092:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#23: Application or loading function is required"}),(0,i.jsx)("p",{children:"You cannot register an application without providing a second argument that is an application object or loading function."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n 'name',\n // This function is the \"loading function\" and is required\n () => System.import('name'),\n activityFunction\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication"})," and"," ",(0,i.jsx)("a",{href:"/docs/configuration#loading-function-or-application",children:"loading function"})," ","documentation."]})]})}},9625:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#24: The activityFunction argument must be a function"}),(0,i.jsx)("p",{children:"You cannot register an application without providing a third argument that is an application's activity function."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n 'name',\n () => System.import('name'),\n // The function below is the \"activity function\", which must be provided\n location => location.pathname.startsWith('/name')\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication"})," and"," ",(0,i.jsx)("a",{href:"/docs/configuration#activity-function",children:"activity function"})," ","documentation."]})]})}},6490:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#25: Cannot unregister application - does not exist"}),(0,i.jsxs)("p",{children:["You cannot unregister application ",e.getErrorCodeArg(0)," because no application with that name was registered."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n __SINGLE_SPA_DEVTOOLS__.exposedMethods.unregisterApplication(\n 'name-of-an-application',\n )\n "})})]})}},9063:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#26: unloadApplication requires a string 'appName'"}),(0,i.jsx)("p",{children:"You cannot unload an application without providing a string 'appName' argument."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { unloadApplication } from 'single-spa';\n\n // Make sure that name-of-app is a registered application\n unloadApplication('name-of-app');\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#unloadApplication",children:"unloadApplication documentation"}),"."]})]})}},9344:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#27: Cannot unload application - no such application"}),(0,i.jsxs)("p",{children:["There is no such application '",e.getErrorCodeArg(0),"', so it cannot be unloaded."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { unloadApplication } from 'single-spa';\n\n // Make sure that name-of-app is a registered application\n unloadApplication('name-of-app');\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#unloadApplication",children:"unloadApplication documentation"}),"."]})]})}},8893:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#28: A single-spa error handler must be a function"}),(0,i.jsx)("p",{children:"You must call addErrorHandler with a function handler as an argument."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { addErrorHandler } from 'single-spa';\n\n addErrorHandler(myHandler);\n\n function myHandler(err) {\n console.error(err);\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#adderrorhandler",children:"addErrorHandler documentation"}),"."]})]})}},5150:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#29: A single-spa error handler must be a function"}),(0,i.jsx)("p",{children:"You must call removeErrorHandler with a function handler as an argument."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { removeErrorHandler } from 'single-spa';\n\n const wasRemoved = removeErrorHandler(myHandler);\n\n function myHandler(err) {\n console.error(err);\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#removeerrorhandler",children:"removeErrorHandler documentation"}),"."]})]})}},6218:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#3: Cannot mount parcel - name is not a string"}),(0,i.jsxs)("p",{children:["Parcel name must be a string, if provided. Was given"," ",(0,i.jsx)("code",{children:e.getErrorCodeArg(0,"unknown")}),"."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n // The easiest way to avoid this error is let single-spa control the name of your parcel\n const parcelConfig = singleSpaReact({...});\n mountParcel(parcelConfig, {domElement});\n "}),(0,i.jsx)(t.A,{children:"\n // Alternatively, you can provide a name but it must be a string\n const parcelConfig = singleSpaReact({...});\n parcelConfig.name = 'my-parcel';\n mountParcel(parcelConfig, {domElement});\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["When you call ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," or"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"}),", you must provide a"," ",(0,i.jsx)("a",{href:"/docs/parcels-overview#parcel-configuration",children:"parcel config"})," ","object. That object may optionally have a string property called name."]})]})}},3264:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#30: Lifecycle function rejected its promise with a non-Error"}),(0,i.jsxs)("p",{children:["For application or parcel ",e.getErrorCodeArg(0),", the lifecycle function ",e.getErrorCodeArg(0)," rejected its promise with something that is not an"," ",(0,i.jsx)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error",target:"_blank",children:"Error"})," ","object."]}),(0,i.jsx)("p",{children:"This problem is logged as a warning to the console, but is not thrown as an additional error. The reason it is logged is that only JavaScript Error objects will provide a good stacktrace for you to debug the cause of the Error."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n export function mount() {\n return new Promise((resolve, reject) => {\n // Always reject with an Error.\n reject(new Error('hi'));\n });\n }\n "})})]})}},4311:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#31: Lifecycle function's promise did not resolve or reject"}),(0,i.jsxs)("p",{children:["For ",e.getErrorCodeArg(1)," ",e.getErrorCodeArg(2),", the lifecycle function ",e.getErrorCodeArg(0)," returned a promise that neither resolved or rejected for ",e.getErrorCodeArg(3),"."]}),(0,i.jsxs)("p",{children:["It is possible that this promise resolved after the timeout occurred. Single-spa has a configuration setting called the"," ",(0,i.jsx)("a",{href:"/docs/api#setbootstrapmaxtime",target:"_blank",children:"timeout configuration"})," ","that controls timeouts for lifecycle functions at both a global and per-app level. You may adjust that setting to no longer see this warning, if you'd like to."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n export function mount() {\n return new Promise((resolve, reject) => {\n // Always reject with an Error.\n reject(new Error('hi'));\n });\n }\n "})})]})}},586:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#32: Cannot update a parcel that is not mounted"}),(0,i.jsxs)("p",{children:["You may not update parcel ",e.getErrorCodeArg(0)," because it is not currently in MOUNTED status."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { mountRootParcel } from 'single-spa';\n\n const parcel = mountRootParcel(parcelConfig, { domElement });\n parcel.mountPromise.then(() => {\n // Wait for the parcel to mount before updating it\n parcel.update();\n });\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/parcels-api#getstatus",children:"documentation"}),"."]})]})}},7801:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#33: Loading function did not return a promise"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0)," did not return a promise. This is required as part of the registerApplication API."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure this returns a promise!\n return System.import('name');\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},9340:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#34: Application must be an object"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with something that is not an object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it."]}),(0,i.jsxs)("p",{children:["The resolved value for the application was was"," ",e.getErrorCodeArg(2)]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},627:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#35: Invalid application - no bootstrap function"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with an invalid application object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it. This application did not have a valid bootstrap function."]}),(0,i.jsxs)("p",{children:["The application object was ",e.getErrorCodeArg(2)]}),(0,i.jsx)("p",{children:"This most commonly occurs due to failed webpack or systemjs configuration."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "}),(0,i.jsx)(t.A,{children:"\n // If you're using SystemJS, run the following in the browser console to debug\n System.import('name-of-my-application').then(application => {\n // Verify that this object has the lifecycle functions on it.\n // If compiling with webpack and consuming in-browser with SystemJS, consider\n // setting webpack's output.libraryTarget to \"system\".\n console.log(application)\n })\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},3046:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#36: Invalid application - no mount function"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with an invalid application object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it. This application did not have a valid mount function."]}),(0,i.jsxs)("p",{children:["The application object was ",e.getErrorCodeArg(2)]}),(0,i.jsx)("p",{children:"This most commonly occurs due to failed webpack or systemjs configuration."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "}),(0,i.jsx)(t.A,{children:"\n // If you're using SystemJS, run the following in the browser console to debug\n System.import('name-of-my-application').then(application => {\n // Verify that this object has the lifecycle functions on it.\n // If compiling with webpack and consuming in-browser with SystemJS, consider\n // setting webpack's output.libraryTarget to \"system\".\n console.log(application)\n })\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},3765:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#37: Invalid application - no unmount function"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with an invalid application object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it. This application did not have a valid unmount function."]}),(0,i.jsxs)("p",{children:["The application object was ",e.getErrorCodeArg(2)]}),(0,i.jsx)("p",{children:"This most commonly occurs due to failed webpack or systemjs configuration."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "}),(0,i.jsx)(t.A,{children:"\n // If you're using SystemJS, run the following in the browser console to debug\n System.import('name-of-my-application').then(application => {\n // Verify that this object has the lifecycle functions on it.\n // If compiling with webpack and consuming in-browser with SystemJS, consider\n // setting webpack's output.libraryTarget to \"system\".\n console.log(application)\n })\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},5352:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(e){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#38: Invalid registerApplication configuration object"}),(0,t.jsxs)("p",{children:['The configuration object in registerApplication accepts only the following keys: "',e.getErrorCodeArg(0),'"']}),(0,t.jsxs)("p",{children:['You provided the following invalid keys: "',e.getErrorCodeArg(1),'"']}),(0,t.jsxs)("p",{children:["See"," ",(0,t.jsx)("a",{href:"/docs/configuration",children:"registerApplication API documentation"})," ","for more information."]})]})}},8511:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#39: Invalid registerApplication configuration object"}),(0,t.jsx)("p",{children:"Configuration object can't be an array or null! Please provide a plain object with correct configuration."}),(0,t.jsxs)("p",{children:["See"," ",(0,t.jsx)("a",{href:"/docs/configuration",children:"registerApplication API documentation"})," ","for more information."]})]})}},3731:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#4: Cannot mount parcel - customProps must be an object"}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," was not provided a customProps object. Was given"," ",(0,i.jsx)("code",{children:e.getErrorCodeArg(1,"unknown customProps")}),"."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const parcelConfig = singleSpaReact({...});\n const customProps = {domElement: document.getElementById('some-container')}\n\n // You must provide a customProps object with a domElement property as the second argument to mountParcel()\n mountParcel(parcelConfig, customProps);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," apis require that you pass in a second argument."]})]})}},3459:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(e){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#40: Invalid custom props returned from function"}),(0,t.jsxs)("p",{children:["The single-spa application ",e.getErrorCodeArg(0)," was registered with a function for its customProps. That function must return an object of custom props, but instead returned ",e.getErrorCodeArg(1),"."]}),(0,t.jsxs)("p",{children:["See the"," ",(0,t.jsx)("a",{href:"/docs/configuration#custom-props",children:"custom props documentation"})," ","for more information."]})]})}},2172:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(e){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#41: single-spa is loaded on the page multiple times"}),(0,t.jsx)("p",{children:"The single-spa library should be loaded only one time on the page. This is important both for performance and to avoid bugs. Any functions you import from single-spa are specific to that instance. This means that functions like navigateToUrl, getAppStatus, etc. are specific to the single-spa instance and will not work as expected when you have multiple instances."}),(0,t.jsx)("h2",{children:"To fix:"}),(0,t.jsxs)("p",{children:["Mark single-spa as a"," ",(0,t.jsx)("a",{href:"https://webpack.js.org/configuration/externals/#root",rel:"noopener",target:"_blank",children:"webpack external"})," ","in your root config and in each of your microfrontends. This will ensure that it will be omitted from the bundle and will be provided at runtime in the browser. If using SystemJS, you will need to add single-spa to your ",(0,t.jsx)("a",{href:"/docs/recommended-setup#import-maps",children:"import map"}),"."]}),(0,t.jsx)("h2",{children:"Additional references"}),(0,t.jsxs)("p",{children:["See"," ",(0,t.jsx)("a",{href:"/docs/faq/#can-i-have-only-one-version-of-react-vue-angular-etc-loaded",children:"this FAQ"})," ","and also"," ",(0,t.jsx)("a",{href:"/docs/recommended-setup#shared-dependencies",children:"this documentation"})," ","for additional information."]})]})}},8268:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#5: Cannot mount parcel - customProps.domElement not provided"}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," was not provided customProps.domElement. The domElement must be a DOMElement container in which the parcel will be mounted."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const parcelConfig = singleSpaReact({...});\n\n // You must provide a domElement in your customProps provided to mountParcel\n const customProps = {domElement: document.getElementById('some-container')}\n\n mountParcel(parcelConfig, customProps);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," apis require that you pass in customProps that have a property called"," ",(0,i.jsx)("code",{children:"domElement"})," that is a DOMElement."]})]})}},4357:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#6: Cannot unmount parcel because it is not mounted"}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," cannot be unmounted because it is not currently mounted. The parcel is in"," ",(0,i.jsx)("code",{children:e.getErrorCodeArg(1,"unknown")})," status."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const parcelConfig = singleSpaVue({...});\n const customProps = {domElement: document.getElementById('some-container')}\n const parcel = mountParcel(parcelConfig, customProps);\n\n // Wait for the parcel to mount before attempting to unmount it\n parcel.mountPromise.then(parcel => {\n // Now it is safe to call unmount\n parcel.unmount()\n })\n\n // Or, check the status before unmounting\n if (parcel.getAppStatus() === 'MOUNTED') {\n parcel.unmount()\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["A parcel has exactly one ",(0,i.jsx)("a",{href:"/docs/api#getappstatus",children:"status"})," ","that indicates which stage of mounting and unmounting it is in. You may only call parcel.unmount() when the parcel is in MOUNTED status."]})]})}},262:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#7: Parcel loading function did not return a promise"}),(0,i.jsx)("p",{children:"When mounting a parcel, the config loading function must return a promise that resolves with the parcel config"}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{children:"Framework agnostic code:"}),(0,i.jsx)(t.A,{children:"\n const customProps = {domElement: document.getElementById('some-container')}\n \n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n const parcel = mountParcel(() => import('./some-parcel.js'), customProps);\n "}),(0,i.jsx)("div",{children:"React code:"}),(0,i.jsx)(t.A,{children:"\n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n System.import('@org-name/some-parcel')} />\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["You can call ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," with a",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-api#mountparcel",children:"asynchronous loading function"})," ","as the first argument. When doing so, the loading function must return a promise that resolves with a valid"," ",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-overview#parcel-configuration",children:"parcel config object"}),"."]})]})}},6927:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#8: Loading function resolved with invalid parcel config"}),(0,i.jsx)("p",{children:"When mounting a parcel, the config loading function must return a promise that resolves with the parcel config"}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{children:"Framework agnostic code:"}),(0,i.jsx)(t.A,{children:"\n const customProps = {domElement: document.getElementById('some-container')}\n \n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n const parcel = mountParcel(() => import('./some-parcel.js'), customProps);\n "}),(0,i.jsx)("div",{children:"React code:"}),(0,i.jsx)(t.A,{children:"\n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n System.import('@org-name/some-parcel')} />\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["You can call ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," with a",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-api#mountparcel",children:"asynchronous loading function"})," ","as the first argument. When doing so, the loading function must return a promise that resolves with a valid"," ",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-overview#parcel-configuration",children:"parcel config object"}),"."]})]})}},2568:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"bootstrap"})}},4733:(e,n,r)=>{"use strict";r.d(n,{A:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("h1",{children:["#",e.errorCode,": Invalid ",e.lifecycleName," lifecycle on"," ",e.isParcel?"parcel":"application"]}),(0,i.jsxs)("p",{children:["The ",e.isParcel?"parcel":"application"," ",e.appOrParcelName," ","has an invalid ",e.lifecycleName," lifecycle function."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{children:"Framework agnostic code:"}),e.isParcel?(0,i.jsx)(t.A,{children:"\n // Create a parcel config by calling singleSpaReact(), singleSpaVue(), singleSpaAngular(), etc.\n const parcelConfig = singleSpaReact({...})\n\n const customProps = {domElement: document.getElementById('some-container')}\n \n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n const parcel = mountParcel(parcelConfig, customProps);\n "}):(0,i.jsx)(t.A,{children:"\n // create your lifecycles with the single-spa helper library for your framework\n const lifecycles = singleSpaAngular({...});\n \n // Export them now\n export const bootstrap = lifecycles.bootstrap;\n export const mount = lifecycles.mount;\n export const unmount = lifecycles.unmount;\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The"," ",(0,i.jsxs)("a",{href:e.isParcel?"http://localhost:3000/docs/parcels-api/#parcel-object":"https://single-spa.js.org/docs/building-applications/#lifecycle-props",children:[e.lifecycleName," lifecycle function"]})," ","must be a function or array of functions that return a promise."]})]})}},8974:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>a});r(6540);var t=r(9641),i=r(4848);const o=r(9999);const a=function(e){const n=new URLSearchParams(e.location.search),r="./"+n.get("code")+".js";if(!o.keys().includes(r))return(0,i.jsx)(t.A,{children:(0,i.jsx)("div",{className:"container container--fluid padding-horiz--xl",style:{marginTop:"8px"},children:n.get("code")?"We could not find an explanation page for the error code "+n.get("code"):"No code query param specified. Could not show error page."})});const a=o("./"+n.get("code")+".js").default,s=n.getAll("arg");return(0,i.jsx)(t.A,{children:(0,i.jsxs)("div",{className:"container container--fluid padding-horiz--xl margin-top--xl",style:{marginBottom:"6.8rem"},children:[(0,i.jsx)(a,{errorCodeArgs:s,getErrorCodeArg:function(e,n){const r=n?"("+n+")":"(unknown)";return s.length>e?s[e]:r},errorCode:n.get("code")}),(0,i.jsx)("a",{href:"https://github.com/single-spa/single-spa.js.org/edit/master/website/src/components/Errors/Codes/"+n.get("code")+".js",children:"Edit this page"})]})})}},9999:(e,n,r)=>{var t={"./1.js":5792,"./10.js":1282,"./11.js":1550,"./12.js":5880,"./13.js":239,"./14.js":2382,"./15.js":6733,"./16.js":2148,"./17.js":7243,"./18.js":9530,"./19.js":4438,"./2.js":8745,"./20.js":2373,"./21.js":534,"./22.js":4355,"./23.js":4092,"./24.js":9625,"./25.js":6490,"./26.js":9063,"./27.js":9344,"./28.js":8893,"./29.js":5150,"./3.js":6218,"./30.js":3264,"./31.js":4311,"./32.js":586,"./33.js":7801,"./34.js":9340,"./35.js":627,"./36.js":3046,"./37.js":3765,"./38.js":5352,"./39.js":8511,"./4.js":3731,"./40.js":3459,"./41.js":2172,"./5.js":8268,"./6.js":4357,"./7.js":262,"./8.js":6927,"./9.js":2568};function i(e){var n=o(e);return r(n)}function o(e){if(!r.o(t,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return t[e]}i.keys=function(){return Object.keys(t)},i.resolve=o,e.exports=i,i.id=9999}}]);
\ No newline at end of file
diff --git a/assets/js/d1104007.eec9a0ca.js b/assets/js/d1104007.eec9a0ca.js
new file mode 100644
index 000000000..191b21a10
--- /dev/null
+++ b/assets/js/d1104007.eec9a0ca.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[5822],{7268:(e,n,r)=>{"use strict";r.d(n,{A:()=>i});r(6540);var t=r(4848);function i(e){const n=e.children.split("\n"),r=n.find((e=>e.trim()!==e)),i=r?/([^\s])/.exec(r).index:0,o=n.map((e=>e.slice(i))).filter(((e,n)=>e.length>0||n>0)).join("\n");return(0,t.jsx)("pre",{children:o})}},5792:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#1: singleSpa.start() was not called"}),(0,i.jsxs)("p",{children:[(0,i.jsx)("a",{href:"/docs/api#start",children:"singleSpa.start()"})," has not been called, 5000ms after single-spa was loaded. Before start() is called, apps can be declared and loaded, but not bootstrapped or mounted."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n // Insert this into your single-spa root config\n singleSpa.start();\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The single-spa start() API exists to give you fine-grained control over performance. In the majority of use cases, you should call singleSpa.start() immediately after"," ",(0,i.jsx)("a",{href:"http://localhost:3000/docs/api#registerapplication",children:"registering your applications"}),". It was designed for situations where you want to start downloading a single-spa application's code while you're waiting for initial user data or context. To do that, call registerApplication() immediately but delay calling start until the data is loaded."]})]})}},1282:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"mount"})}},1550:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"unmount"})}},5880:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"update"})}},239:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#13: Parcel is not mountable."}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," is currently in"," ",e.getErrorCodeArg(1)," status. You may only call parcel.mount() when the parcel is in NOT_MOUNTED status."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const customProps = {domElement: document.getElementById('some-container')}\n const parcel = mountParcel(() => import('./some-parcel.js'), customProps);\n\n parcel.unmount().then(() => {\n // Now the parcel is guaranteed to be in NOT_MOUNTED status, and you can call parcel.mount()\n parcel.mount()\n })\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["Single-spa parcels have a ",(0,i.jsx)("a",{href:"/docs/api/#getappstatus",children:"status"})," ","(same as single-spa applications). You may only attempt to mount a parcel if it is not currently mounted, but parcel.mount() was called when the parcel was in ",e.getErrorCodeArg(1)," status. Note that you normally do not have to call"," ",(0,i.jsx)("a",{href:"/docs/parcels-api/#mount",children:"parcel.mount()"})," at all, since parcel objects will always be mounted the first time by calling"," ",(0,i.jsx)("a",{href:"/docs/parcels-api/#mountparcel",children:"mountParcel()"}),"."]})]})}},2382:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#14: navigateToUrl / singleSpaNavigate was called incorrectly."}),(0,i.jsx)("p",{children:"singleSpaNavigate/navigateToUrl must be either called with a string url, with an anchor element as its context, or with an event whose currentTarget is an anchor element tag"}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:'\n import { navigateToUrl } from \'single-spa\';\n\n navigateToUrl(\'/path\')\n\n // Or via HTML\n Link\n\n // Or via JSX / templates\n Link\n '})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The singleSpaNavigate global function and the navigateToUrl exported function are identical. They can be used in three different ways, as described in ",(0,i.jsx)("a",{href:"/docs/api/#navigatetourl",children:"the documentation"}),"."]})]})}},6733:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("h1",{children:["#15: lifecycle function ",e.getErrorCodeArg(2)," did not return a promise"]}),(0,i.jsxs)("p",{children:["For ",e.getErrorCodeArg(0,"microfrontend")," ",e.getErrorCodeArg(1),", the lifecycle function"," ",e.getErrorCodeArg(2)," at array index ",e.getErrorCodeArg(3)," did not return a promise."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n // Similar flow applies for other frameworks\n import singleSpaReact from 'single-spa-react';\n import React from 'react';\n import ReactDOM from 'react-dom';\n import Root from './root.component';\n\n const lifecycles = singleSpaReact({\n React,\n ReactDOM,\n rootComponent: Root,\n })\n\n export const bootstrap = lifecycles.bootstrap;\n export const mount = lifecycles.mount;\n export const unmount = lifecycles.unmount;\n "}),(0,i.jsx)(t.A,{children:"\n // If you're implementing your own lifecycle functions, make sure they are async or return a promise.\n export const bootstrap = async () => {\n // do something\n }\n\n export const mount = () => Promise.resolve().then(() => {\n // do something\n })\n\n export const unmount = async () => {\n // do something\n }\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:[(0,i.jsx)("a",{href:"/docs/building-applications#registered-application-lifecycle",children:"Lifecycle functions"})," ","are the framework agnostic API that single-spa uses to mount and unmount microfrontends. A lifecycle function is a function that returns a Promise (or an async function). The promise should resolve once the lifecycle has completed bootstrapping, mounting, or unmounting. The most common implementation for lifecycle functions is to use a"," ",(0,i.jsx)("a",{href:"/docs/ecosystem",children:"helper library"})," for your component framework. If you do that, you won't have to implement the lifecycle functions yourself."]})]})}},2148:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#16: setBootstrapMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setBootstrapMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setBootstrapMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setBootstrapMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setbootstrapmaxtime",children:"setBootstrapMaxTime documentation"}),"."]})]})}},7243:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#17: setMountMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setMountMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setMountMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setMountMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setmountmaxtime",children:"setMountMaxTime documentation"}),"."]})]})}},9530:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#18: setUnmountMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setUnmountMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setUnmountMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setUnmountMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setunmountmaxtime",children:"setUnmountMaxTime documentation"}),"."]})]})}},4438:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#19: setUnloadMaxTime was called with an invalid maxTime"}),(0,i.jsx)("p",{children:"The setUnloadMaxTime API must be called with a non-negative integer representing the number of milliseconds to wait before timing out."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { setUnloadMaxTime } from 'single-spa';\n\n // Must be called with a non-negative integer\n setUnloadMaxTime(2000);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#setunloadmaxtime",children:"setUnloadMaxTime documentation"}),"."]})]})}},8745:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#2: Cannot mount parcel - config not provided"}),(0,i.jsx)("p",{children:"Cannot mount parcel without a config object or config loading function."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("p",{children:"Raw, framework agnostic code:"}),(0,i.jsx)(t.A,{children:"\n // The most common root cause of this is that the parcelConfig failed to import correctly\n import parcelConfig from './some-file';\n\n console.log('Make sure this is defined!!!', parcelConfig);\n const domElement = document.createElement('div');\n mountParcel(parcelConfig, {domElement})\n "}),(0,i.jsx)("p",{children:"React-specific code"}),(0,i.jsx)(t.A,{children:"\n // If you're using react, this means the config prop you passed in is undefined,\n // perhaps because it failed to import correctly.\n import parcelConfig from './some-file';\n import Parcel from 'single-spa-react/parcel';\n\n console.log('Make sure this is defined!!!', parcelConfig);\n \n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The single-spa start() API exists to give you fine-grained control over performance. In the majority of use cases, you should call singleSpa.start() immediately after"," ",(0,i.jsx)("a",{href:"http://localhost:3000/docs/api#registerapplication",children:"registering your applications"}),". It was designed for situations where you want to start downloading a single-spa application's code while you're waiting for initial user data or context. To do that, call registerApplication() immediately but delay calling start until the data is loaded."]})]})}},2373:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#20: The first argument to registerApplication must be a non-empty string 'appName'"}),(0,i.jsx)("p",{children:"When calling registerApplication, the first argument must be the string name of the application."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n '@org/name-of-app',\n loadingFunction,\n activityFunction\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication documentation"}),"."]})]})}},534:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#21: Duplicate application name"}),(0,i.jsxs)("p",{children:["Cannot register application '",e.getErrorCodeArg(0),"' because an application has already been registered with that name."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n 'some-other-name',\n loadingFunction,\n activityFunction\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication documentation"}),"."]})]})}},4355:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#22: Custom props must be an object"}),(0,i.jsxs)("p",{children:["Cannot register application '",e.getErrorCodeArg(0),"' because the customProps are not a plain JavaScript object."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n // customProps must be a plain object (not an Array)\n const customProps = {foo: 'bar'};\n\n registerApplication(\n 'name',\n loadingFunction,\n activityFunction,\n customProps\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication documentation"}),"."]})]})}},4092:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#23: Application or loading function is required"}),(0,i.jsx)("p",{children:"You cannot register an application without providing a second argument that is an application object or loading function."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n 'name',\n // This function is the \"loading function\" and is required\n () => System.import('name'),\n activityFunction\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication"})," and"," ",(0,i.jsx)("a",{href:"/docs/configuration#loading-function-or-application",children:"loading function"})," ","documentation."]})]})}},9625:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#24: The activityFunction argument must be a function"}),(0,i.jsx)("p",{children:"You cannot register an application without providing a third argument that is an application's activity function."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication(\n 'name',\n () => System.import('name'),\n // The function below is the \"activity function\", which must be provided\n location => location.pathname.startsWith('/name')\n )\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api#registerApplication",children:"registerApplication"})," and"," ",(0,i.jsx)("a",{href:"/docs/configuration#activity-function",children:"activity function"})," ","documentation."]})]})}},6490:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#25: Cannot unregister application - does not exist"}),(0,i.jsxs)("p",{children:["You cannot unregister application ",e.getErrorCodeArg(0)," because no application with that name was registered."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n __SINGLE_SPA_DEVTOOLS__.exposedMethods.unregisterApplication(\n 'name-of-an-application',\n )\n "})})]})}},9063:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#26: unloadApplication requires a string 'appName'"}),(0,i.jsx)("p",{children:"You cannot unload an application without providing a string 'appName' argument."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { unloadApplication } from 'single-spa';\n\n // Make sure that name-of-app is a registered application\n unloadApplication('name-of-app');\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#unloadApplication",children:"unloadApplication documentation"}),"."]})]})}},9344:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#27: Cannot unload application - no such application"}),(0,i.jsxs)("p",{children:["There is no such application '",e.getErrorCodeArg(0),"', so it cannot be unloaded."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { unloadApplication } from 'single-spa';\n\n // Make sure that name-of-app is a registered application\n unloadApplication('name-of-app');\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#unloadApplication",children:"unloadApplication documentation"}),"."]})]})}},8893:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#28: A single-spa error handler must be a function"}),(0,i.jsx)("p",{children:"You must call addErrorHandler with a function handler as an argument."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { addErrorHandler } from 'single-spa';\n\n addErrorHandler(myHandler);\n\n function myHandler(err) {\n console.error(err);\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#adderrorhandler",children:"addErrorHandler documentation"}),"."]})]})}},5150:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#29: A single-spa error handler must be a function"}),(0,i.jsx)("p",{children:"You must call removeErrorHandler with a function handler as an argument."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { removeErrorHandler } from 'single-spa';\n\n const wasRemoved = removeErrorHandler(myHandler);\n\n function myHandler(err) {\n console.error(err);\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See"," ",(0,i.jsx)("a",{href:"/docs/api#removeerrorhandler",children:"removeErrorHandler documentation"}),"."]})]})}},6218:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#3: Cannot mount parcel - name is not a string"}),(0,i.jsxs)("p",{children:["Parcel name must be a string, if provided. Was given"," ",(0,i.jsx)("code",{children:e.getErrorCodeArg(0,"unknown")}),"."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n // The easiest way to avoid this error is let single-spa control the name of your parcel\n const parcelConfig = singleSpaReact({...});\n mountParcel(parcelConfig, {domElement});\n "}),(0,i.jsx)(t.A,{children:"\n // Alternatively, you can provide a name but it must be a string\n const parcelConfig = singleSpaReact({...});\n parcelConfig.name = 'my-parcel';\n mountParcel(parcelConfig, {domElement});\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["When you call ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," or"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"}),", you must provide a"," ",(0,i.jsx)("a",{href:"/docs/parcels-overview#parcel-configuration",children:"parcel config"})," ","object. That object may optionally have a string property called name."]})]})}},3264:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#30: Lifecycle function rejected its promise with a non-Error"}),(0,i.jsxs)("p",{children:["For application or parcel ",e.getErrorCodeArg(0),", the lifecycle function ",e.getErrorCodeArg(0)," rejected its promise with something that is not an"," ",(0,i.jsx)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error",target:"_blank",children:"Error"})," ","object."]}),(0,i.jsx)("p",{children:"This problem is logged as a warning to the console, but is not thrown as an additional error. The reason it is logged is that only JavaScript Error objects will provide a good stacktrace for you to debug the cause of the Error."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n export function mount() {\n return new Promise((resolve, reject) => {\n // Always reject with an Error.\n reject(new Error('hi'));\n });\n }\n "})})]})}},4311:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#31: Lifecycle function's promise did not resolve or reject"}),(0,i.jsxs)("p",{children:["For ",e.getErrorCodeArg(1)," ",e.getErrorCodeArg(2),", the lifecycle function ",e.getErrorCodeArg(0)," returned a promise that neither resolved or rejected for ",e.getErrorCodeArg(3),"."]}),(0,i.jsxs)("p",{children:["It is possible that this promise resolved after the timeout occurred. Single-spa has a configuration setting called the"," ",(0,i.jsx)("a",{href:"/docs/api#setbootstrapmaxtime",target:"_blank",children:"timeout configuration"})," ","that controls timeouts for lifecycle functions at both a global and per-app level. You may adjust that setting to no longer see this warning, if you'd like to."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n export function mount() {\n return new Promise((resolve, reject) => {\n // Always reject with an Error.\n reject(new Error('hi'));\n });\n }\n "})})]})}},586:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#32: Cannot update a parcel that is not mounted"}),(0,i.jsxs)("p",{children:["You may not update parcel ",e.getErrorCodeArg(0)," because it is not currently in MOUNTED status."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { mountRootParcel } from 'single-spa';\n\n const parcel = mountRootParcel(parcelConfig, { domElement });\n parcel.mountPromise.then(() => {\n // Wait for the parcel to mount before updating it\n parcel.update();\n });\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/parcels-api#getstatus",children:"documentation"}),"."]})]})}},7801:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#33: Loading function did not return a promise"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0)," did not return a promise. This is required as part of the registerApplication API."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure this returns a promise!\n return System.import('name');\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},9340:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#34: Application must be an object"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with something that is not an object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it."]}),(0,i.jsxs)("p",{children:["The resolved value for the application was was"," ",e.getErrorCodeArg(2)]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},627:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#35: Invalid application - no bootstrap function"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with an invalid application object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it. This application did not have a valid bootstrap function."]}),(0,i.jsxs)("p",{children:["The application object was ",e.getErrorCodeArg(2)]}),(0,i.jsx)("p",{children:"This most commonly occurs due to failed webpack or systemjs configuration."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "}),(0,i.jsx)(t.A,{children:"\n // If you're using SystemJS, run the following in the browser console to debug\n System.import('name-of-my-application').then(application => {\n // Verify that this object has the lifecycle functions on it.\n // If compiling with webpack and consuming in-browser with SystemJS, consider\n // setting webpack's output.libraryTarget to \"system\".\n console.log(application)\n })\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},3046:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#36: Invalid application - no mount function"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with an invalid application object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it. This application did not have a valid mount function."]}),(0,i.jsxs)("p",{children:["The application object was ",e.getErrorCodeArg(2)]}),(0,i.jsx)("p",{children:"This most commonly occurs due to failed webpack or systemjs configuration."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "}),(0,i.jsx)(t.A,{children:"\n // If you're using SystemJS, run the following in the browser console to debug\n System.import('name-of-my-application').then(application => {\n // Verify that this object has the lifecycle functions on it.\n // If compiling with webpack and consuming in-browser with SystemJS, consider\n // setting webpack's output.libraryTarget to \"system\".\n console.log(application)\n })\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},3765:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#37: Invalid application - no unmount function"}),(0,i.jsxs)("p",{children:["The loading function for ",e.getErrorCodeArg(0,"application")," ",e.getErrorCodeArg(1)," returned a promise that resolved with an invalid application object. The loading function should resolve with an application object that has the single-spa lifecycle functions on it. This application did not have a valid unmount function."]}),(0,i.jsxs)("p",{children:["The application object was ",e.getErrorCodeArg(2)]}),(0,i.jsx)("p",{children:"This most commonly occurs due to failed webpack or systemjs configuration."}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(t.A,{children:"\n import { registerApplication } from 'single-spa';\n\n registerApplication('name', loadingFn, activityFn);\n\n function loadingFn() {\n // Make sure the resolved value of the promise is an object!\n return System.import('name');\n }\n "}),(0,i.jsx)(t.A,{children:"\n // If you're using SystemJS, run the following in the browser console to debug\n System.import('name-of-my-application').then(application => {\n // Verify that this object has the lifecycle functions on it.\n // If compiling with webpack and consuming in-browser with SystemJS, consider\n // setting webpack's output.libraryTarget to \"system\".\n console.log(application)\n })\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["See ",(0,i.jsx)("a",{href:"/docs/api/#registerapplication",children:"documentation"}),"."]})]})}},5352:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(e){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#38: Invalid registerApplication configuration object"}),(0,t.jsxs)("p",{children:['The configuration object in registerApplication accepts only the following keys: "',e.getErrorCodeArg(0),'"']}),(0,t.jsxs)("p",{children:['You provided the following invalid keys: "',e.getErrorCodeArg(1),'"']}),(0,t.jsxs)("p",{children:["See"," ",(0,t.jsx)("a",{href:"/docs/configuration",children:"registerApplication API documentation"})," ","for more information."]})]})}},8511:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#39: Invalid registerApplication configuration object"}),(0,t.jsx)("p",{children:"Configuration object can't be an array or null! Please provide a plain object with correct configuration."}),(0,t.jsxs)("p",{children:["See"," ",(0,t.jsx)("a",{href:"/docs/configuration",children:"registerApplication API documentation"})," ","for more information."]})]})}},3731:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#4: Cannot mount parcel - customProps must be an object"}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," was not provided a customProps object. Was given"," ",(0,i.jsx)("code",{children:e.getErrorCodeArg(1,"unknown customProps")}),"."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const parcelConfig = singleSpaReact({...});\n const customProps = {domElement: document.getElementById('some-container')}\n\n // You must provide a customProps object with a domElement property as the second argument to mountParcel()\n mountParcel(parcelConfig, customProps);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," apis require that you pass in a second argument."]})]})}},3459:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(e){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#40: Invalid custom props returned from function"}),(0,t.jsxs)("p",{children:["The single-spa application ",e.getErrorCodeArg(0)," was registered with a function for its customProps. That function must return an object of custom props, but instead returned ",e.getErrorCodeArg(1),"."]}),(0,t.jsxs)("p",{children:["See the"," ",(0,t.jsx)("a",{href:"/docs/configuration#custom-props",children:"custom props documentation"})," ","for more information."]})]})}},2172:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>i});r(6540);var t=r(4848);function i(e){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h1",{children:"#41: single-spa is loaded on the page multiple times"}),(0,t.jsx)("p",{children:"The single-spa library should be loaded only one time on the page. This is important both for performance and to avoid bugs. Any functions you import from single-spa are specific to that instance. This means that functions like navigateToUrl, getAppStatus, etc. are specific to the single-spa instance and will not work as expected when you have multiple instances."}),(0,t.jsx)("h2",{children:"To fix:"}),(0,t.jsxs)("p",{children:["Mark single-spa as a"," ",(0,t.jsx)("a",{href:"https://webpack.js.org/configuration/externals/#root",rel:"noopener",target:"_blank",children:"webpack external"})," ","in your root config and in each of your microfrontends. This will ensure that it will be omitted from the bundle and will be provided at runtime in the browser. If using SystemJS, you will need to add single-spa to your ",(0,t.jsx)("a",{href:"/docs/recommended-setup#import-maps",children:"import map"}),"."]}),(0,t.jsx)("h2",{children:"Additional references"}),(0,t.jsxs)("p",{children:["See"," ",(0,t.jsx)("a",{href:"/docs/faq/#can-i-have-only-one-version-of-react-vue-angular-etc-loaded",children:"this FAQ"})," ","and also"," ",(0,t.jsx)("a",{href:"/docs/recommended-setup#shared-dependencies",children:"this documentation"})," ","for additional information."]})]})}},8268:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#5: Cannot mount parcel - customProps.domElement not provided"}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," was not provided customProps.domElement. The domElement must be a DOMElement container in which the parcel will be mounted."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const parcelConfig = singleSpaReact({...});\n\n // You must provide a domElement in your customProps provided to mountParcel\n const customProps = {domElement: document.getElementById('some-container')}\n\n mountParcel(parcelConfig, customProps);\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," apis require that you pass in customProps that have a property called"," ",(0,i.jsx)("code",{children:"domElement"})," that is a DOMElement."]})]})}},4357:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#6: Cannot unmount parcel because it is not mounted"}),(0,i.jsxs)("p",{children:["Parcel ",e.getErrorCodeArg(0,"unknown name")," cannot be unmounted because it is not currently mounted. The parcel is in"," ",(0,i.jsx)("code",{children:e.getErrorCodeArg(1,"unknown")})," status."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsx)("div",{children:(0,i.jsx)(t.A,{children:"\n const parcelConfig = singleSpaVue({...});\n const customProps = {domElement: document.getElementById('some-container')}\n const parcel = mountParcel(parcelConfig, customProps);\n\n // Wait for the parcel to mount before attempting to unmount it\n parcel.mountPromise.then(parcel => {\n // Now it is safe to call unmount\n parcel.unmount()\n })\n\n // Or, check the status before unmounting\n if (parcel.getAppStatus() === 'MOUNTED') {\n parcel.unmount()\n }\n "})}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["A parcel has exactly one ",(0,i.jsx)("a",{href:"/docs/api#getappstatus",children:"status"})," ","that indicates which stage of mounting and unmounting it is in. You may only call parcel.unmount() when the parcel is in MOUNTED status."]})]})}},262:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#7: Parcel loading function did not return a promise"}),(0,i.jsx)("p",{children:"When mounting a parcel, the config loading function must return a promise that resolves with the parcel config"}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{children:"Framework agnostic code:"}),(0,i.jsx)(t.A,{children:"\n const customProps = {domElement: document.getElementById('some-container')}\n \n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n const parcel = mountParcel(() => import('./some-parcel.js'), customProps);\n "}),(0,i.jsx)("div",{children:"React code:"}),(0,i.jsx)(t.A,{children:"\n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n System.import('@org-name/some-parcel')} />\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["You can call ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," with a",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-api#mountparcel",children:"asynchronous loading function"})," ","as the first argument. When doing so, the loading function must return a promise that resolves with a valid"," ",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-overview#parcel-configuration",children:"parcel config object"}),"."]})]})}},6927:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("h1",{children:"#8: Loading function resolved with invalid parcel config"}),(0,i.jsx)("p",{children:"When mounting a parcel, the config loading function must return a promise that resolves with the parcel config"}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{children:"Framework agnostic code:"}),(0,i.jsx)(t.A,{children:"\n const customProps = {domElement: document.getElementById('some-container')}\n \n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n const parcel = mountParcel(() => import('./some-parcel.js'), customProps);\n "}),(0,i.jsx)("div",{children:"React code:"}),(0,i.jsx)(t.A,{children:"\n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n System.import('@org-name/some-parcel')} />\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["You can call ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountparcel",children:"mountParcel"})," and"," ",(0,i.jsx)("a",{href:"/docs/parcels-api#mountrootparcel",children:"mountRootParcel"})," with a",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-api#mountparcel",children:"asynchronous loading function"})," ","as the first argument. When doing so, the loading function must return a promise that resolves with a valid"," ",(0,i.jsx)("a",{href:"https://single-spa.js.org/docs/parcels-overview#parcel-configuration",children:"parcel config object"}),"."]})]})}},2568:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>o});r(6540);var t=r(4733),i=r(4848);function o(e){return(0,i.jsx)(t.A,{...e,isParcel:!0,appOrParcelName:e.getErrorCodeArg(0,"unknown name"),lifecycleName:"bootstrap"})}},4733:(e,n,r)=>{"use strict";r.d(n,{A:()=>o});r(6540);var t=r(7268),i=r(4848);function o(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("h1",{children:["#",e.errorCode,": Invalid ",e.lifecycleName," lifecycle on"," ",e.isParcel?"parcel":"application"]}),(0,i.jsxs)("p",{children:["The ",e.isParcel?"parcel":"application"," ",e.appOrParcelName," ","has an invalid ",e.lifecycleName," lifecycle function."]}),(0,i.jsx)("h2",{children:"To fix:"}),(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{children:"Framework agnostic code:"}),e.isParcel?(0,i.jsx)(t.A,{children:"\n // Create a parcel config by calling singleSpaReact(), singleSpaVue(), singleSpaAngular(), etc.\n const parcelConfig = singleSpaReact({...})\n\n const customProps = {domElement: document.getElementById('some-container')}\n \n // You need to ensure that the System.import() or import() promise resolves with a valid parcel config object\n const parcel = mountParcel(parcelConfig, customProps);\n "}):(0,i.jsx)(t.A,{children:"\n // create your lifecycles with the single-spa helper library for your framework\n const lifecycles = singleSpaAngular({...});\n \n // Export them now\n export const bootstrap = lifecycles.bootstrap;\n export const mount = lifecycles.mount;\n export const unmount = lifecycles.unmount;\n "})]}),(0,i.jsx)("h2",{children:"Explanation:"}),(0,i.jsxs)("p",{children:["The"," ",(0,i.jsxs)("a",{href:e.isParcel?"http://localhost:3000/docs/parcels-api/#parcel-object":"https://single-spa.js.org/docs/building-applications/#lifecycle-props",children:[e.lifecycleName," lifecycle function"]})," ","must be a function or array of functions that return a promise."]})]})}},8974:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>a});r(6540);var t=r(9641),i=r(4848);const o=r(9999);const a=function(e){const n=new URLSearchParams(e.location.search),r="./"+n.get("code")+".js";if(!o.keys().includes(r))return(0,i.jsx)(t.A,{children:(0,i.jsx)("div",{className:"container container--fluid padding-horiz--xl",style:{marginTop:"8px"},children:n.get("code")?"We could not find an explanation page for the error code "+n.get("code"):"No code query param specified. Could not show error page."})});const a=o("./"+n.get("code")+".js").default,s=n.getAll("arg");return(0,i.jsx)(t.A,{children:(0,i.jsxs)("div",{className:"container container--fluid padding-horiz--xl margin-top--xl",style:{marginBottom:"6.8rem"},children:[(0,i.jsx)(a,{errorCodeArgs:s,getErrorCodeArg:function(e,n){const r=n?"("+n+")":"(unknown)";return s.length>e?s[e]:r},errorCode:n.get("code")}),(0,i.jsx)("a",{href:"https://github.com/single-spa/single-spa.js.org/edit/master/website/src/components/Errors/Codes/"+n.get("code")+".js",children:"Edit this page"})]})})}},9999:(e,n,r)=>{var t={"./1.js":5792,"./10.js":1282,"./11.js":1550,"./12.js":5880,"./13.js":239,"./14.js":2382,"./15.js":6733,"./16.js":2148,"./17.js":7243,"./18.js":9530,"./19.js":4438,"./2.js":8745,"./20.js":2373,"./21.js":534,"./22.js":4355,"./23.js":4092,"./24.js":9625,"./25.js":6490,"./26.js":9063,"./27.js":9344,"./28.js":8893,"./29.js":5150,"./3.js":6218,"./30.js":3264,"./31.js":4311,"./32.js":586,"./33.js":7801,"./34.js":9340,"./35.js":627,"./36.js":3046,"./37.js":3765,"./38.js":5352,"./39.js":8511,"./4.js":3731,"./40.js":3459,"./41.js":2172,"./5.js":8268,"./6.js":4357,"./7.js":262,"./8.js":6927,"./9.js":2568};function i(e){var n=o(e);return r(n)}function o(e){if(!r.o(t,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return t[e]}i.keys=function(){return Object.keys(t)},i.resolve=o,e.exports=i,i.id=9999}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.28e7ac9b.js b/assets/js/runtime~main.98d231f6.js
similarity index 99%
rename from assets/js/runtime~main.28e7ac9b.js
rename to assets/js/runtime~main.98d231f6.js
index b0fc2adce..36adc0f3c 100644
--- a/assets/js/runtime~main.28e7ac9b.js
+++ b/assets/js/runtime~main.98d231f6.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,f,d={},b={};function r(e){var a=b[e];if(void 0!==a)return a.exports;var c=b[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=b,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({88:"cae0f04b",189:"3031e46b",220:"40951796",350:"9eb9fa54",373:"3ab9445b",446:"daa69925",467:"572e4edf",515:"1b186f64",569:"015816e2",667:"e4355444",806:"798c9bc2",1124:"ac1a782b",1295:"dc2cd7e2",1355:"7a54a545",1401:"a4df4865",1458:"01a1bba5",1529:"0abd59c6",1532:"caa2e070",1566:"2431ba31",1628:"0df1a66c",1666:"cdaae041",1834:"3827c3c6",1991:"b2b675dd",2043:"ce6e696b",2051:"e6baa823",2099:"b7efbaa4",2107:"cc32fbde",2138:"1a4e3797",2142:"076c147e",2288:"ef491088",2317:"ca5d36aa",2364:"f89f17ac",2404:"2abf66bb",2546:"d3dd1f61",2570:"dce7fd61",2571:"9c153eaa",2590:"850be153",2594:"e076d91c",2598:"a5852e81",2634:"c4f5d8e4",2669:"5509b76f",2711:"9e4087bc",2723:"9d672d00",2729:"696a01cf",2862:"d7647bb5",2879:"5c035ad5",2950:"5b8adf66",3079:"ab6201ac",3249:"ccc49370",3305:"555148a9",3314:"67152cfe",3315:"bdd8dcaf",3328:"decfdbba",3344:"7d35b4a3",3447:"ec93dc32",3513:"b2f554cd",3529:"3a7fefd0",3570:"cc73ed51",3737:"a1c1515a",3811:"f91e79c8",3893:"7bb2f638",3904:"8ad4811d",4043:"b025bb67",4050:"c41acfd1",4060:"e628667e",4067:"02af63f8",4095:"5e12ca1d",4199:"4f0789b6",4279:"528602c4",4343:"91e4d5ec",4349:"382d183c",4370:"6cb48572",4445:"55102a22",4462:"9afda0ee",4498:"d6377ff4",4510:"76852a88",4570:"e6bcd470",4622:"7bb7102b",4656:"3a23d66b",4732:"9d6f1d6a",4748:"bfcd17f4",4833:"69e6e3bb",4860:"e8db9b6a",4894:"80697847",5011:"017c7e36",5036:"4a6c08fa",5220:"99cd0956",5229:"fcc2aa60",5234:"e85cb86b",5281:"feb0df8a",5354:"0ae76a47",5391:"e84c24e5",5438:"42f9def7",5443:"561a3eb1",5450:"1dc3c8d9",5455:"0f85c961",5477:"420a4aff",5584:"a9668f36",5603:"93e8f896",5604:"075c7a17",5660:"38eb30df",5742:"c377a04b",5767:"8eb4e46b",5771:"6588f8a2",5807:"6c11b4de",5822:"d1104007",5840:"46c309cc",5878:"8c472a46",5894:"0a789486",6022:"2cd23ac7",6061:"1f391b9e",6081:"78e9b454",6084:"1943dfb2",6095:"ae4abcdb",6101:"29aa1e09",6178:"8a734aad",6214:"b9edb02a",6226:"c867fe7c",6255:"5896a7ea",6349:"5118ee85",6422:"6317fbe7",6451:"f57aa09c",6516:"a4cef419",6560:"08c25933",6564:"90e0a41c",6628:"f3344494",6664:"e74a79a5",6780:"940fc73a",6805:"98ffbda8",6887:"2e5fe557",6909:"823b648e",7011:"fcfac0f1",7030:"a57ccd44",7036:"e5846443",7077:"f539466a",7098:"a7bd4aaa",7137:"fa29c2d5",7153:"b5351572",7196:"d549428a",7265:"dcc53905",7291:"8f8ee7f5",7362:"342de35e",7380:"ff185f4e",7472:"814f3328",7487:"50fa5667",7497:"ee4f9438",7512:"ac0c4088",7539:"2aac956c",7541:"0b8ff5c4",7586:"fe4bf730",7635:"8ac9c664",7643:"a6aa9e1f",7685:"fc03b22f",7690:"2e1d0e00",7727:"9efeee7f",7733:"0f572e6e",7745:"1b9bd3d9",7764:"c09e1667",7785:"3082ef22",7874:"a1a42c9b",8015:"c01f4ef7",8055:"9093cedc",8333:"d61e08fd",8401:"17896441",8406:"68a4a0c2",8423:"ee76fcac",8429:"3c561f1c",8528:"edba9c72",8550:"88ab1274",8564:"7a77816f",8581:"935f2afb",8602:"a998b65c",8775:"a9afa101",8819:"b3bcde3d",8849:"d488f8a7",8853:"dc7b4688",9005:"fad948d0",9048:"a94703ab",9126:"5c27e93c",9146:"a97faf63",9153:"febdff58",9268:"a6e5e601",9433:"96f9dd39",9509:"85376e8b",9531:"e469ac48",9647:"5e95c892",9672:"dfd9a880",9695:"674fa9c4",9801:"8999baf8",9903:"8bb54e26",9942:"377636fe"}[e]||e)+"."+{88:"302b823c",189:"004cd365",220:"c6221ce0",350:"05b0afa8",373:"a7c97221",416:"b444750d",446:"86d8d961",467:"59a8d603",515:"b8b6f6fd",569:"bac7eadf",667:"21ae6e4a",806:"77f68c98",985:"f97b89f4",1124:"eae9d71c",1295:"e89f6c2a",1355:"9b35ba76",1401:"47cea819",1458:"b2788fed",1529:"38be1e8f",1532:"bc0c013c",1566:"420d4c87",1628:"f727a3da",1666:"4d438b77",1834:"c3037c1a",1991:"52e5c0d8",2043:"a622a8e5",2051:"54712561",2099:"34fca0f5",2107:"4055c590",2138:"c77e0835",2142:"540f8134",2237:"142894c1",2288:"a48ce8d7",2317:"409281c7",2364:"bb9166d2",2404:"644a7133",2546:"5da15dd0",2570:"7755820c",2571:"76ecf634",2590:"9b366fef",2594:"dad62b1c",2598:"1cb08ad6",2634:"3c5853db",2669:"71fc14d2",2711:"97405554",2723:"4011f9b6",2729:"dcc743d4",2862:"3bd13d47",2879:"ba191d37",2950:"740d8833",3079:"3ed595a7",3249:"50862a89",3305:"3c4a8902",3314:"85cb824b",3315:"754c87d5",3328:"b2cbabe6",3344:"e8ec6311",3447:"dfcd9ea9",3513:"e2985198",3529:"cf8148cb",3570:"8c5f1ddf",3737:"8879917f",3811:"e78ed917",3893:"5b1c5689",3904:"20d40921",4043:"dec3b70f",4050:"3b8ea987",4060:"e5230aa0",4067:"ced52ba9",4095:"ab505c43",4199:"8232b41c",4279:"980add8a",4343:"b9111d9c",4349:"3abfdbba",4370:"59d71911",4445:"5d58e1db",4462:"2539e8a4",4498:"2fd845a0",4510:"6f2f3bc4",4570:"e81456df",4622:"e6a1e618",4656:"7e983e89",4732:"5c3b5e5b",4748:"82c06360",4833:"36673e20",4860:"36bc2cb7",4894:"1dfb400e",5011:"c76a7393",5036:"1c0d196e",5220:"5a9194cc",5229:"77000c5c",5234:"47c912e2",5281:"f01423cd",5354:"715dffee",5391:"15e65363",5438:"5f40b003",5443:"a321f3db",5450:"58bc5ed3",5455:"6f86e938",5477:"3c6518a2",5584:"72a96050",5603:"2d67edf6",5604:"17f0ee5e",5660:"122fa29d",5742:"2d8ebb25",5767:"773cc9c5",5771:"1746c76c",5807:"4e8bd98a",5822:"7c9607a5",5840:"aa74f28f",5878:"111bcb41",5894:"e62e73b7",6022:"cf954b65",6061:"fe882a6e",6081:"44bd04d8",6084:"35313978",6095:"3b2a4222",6101:"c57f85b3",6178:"a5ac8c27",6214:"60c2637a",6226:"7348ee67",6255:"9f9af63b",6349:"75add21e",6422:"3574e24c",6451:"3e59e506",6516:"52815850",6560:"bc5c0b94",6564:"80a1d33d",6628:"a5f4ab2d",6664:"b6966d56",6780:"aea705d4",6805:"a66c2c97",6887:"5c3378a7",6909:"33513b02",7011:"bd90c8c2",7030:"90090bc6",7036:"932747d9",7077:"64c97f52",7098:"0086a292",7137:"3df033ae",7153:"84a54bfa",7196:"2210ab48",7265:"cd4bf74b",7291:"9d9b2e33",7362:"3ac7407a",7380:"4918a68c",7472:"061d2f9f",7487:"efd89bce",7497:"41f437e3",7512:"05ad754a",7539:"3a617416",7541:"f15eed1b",7586:"61038917",7635:"bdd19a76",7643:"773e115b",7685:"bfa0ef25",7690:"a143c35f",7727:"519666b9",7733:"0da0fc72",7745:"2484414b",7764:"85b10151",7785:"9d9061f0",7874:"e74ef182",8015:"ca136caf",8055:"69d8ccc9",8333:"f59ea560",8401:"da12f7c7",8406:"f5c01c0d",8423:"f8dc7e98",8429:"00e45382",8528:"a3b0b85e",8550:"5e9df2c9",8564:"b1352cda",8581:"01fb47d4",8602:"437e4280",8747:"14ecf1a7",8775:"03960ff1",8819:"1079ba07",8849:"6571621e",8853:"5317364b",8913:"b6f04e6e",9005:"2379ab99",9048:"6b9d296d",9126:"1e0e84c4",9146:"496730f9",9153:"f973f826",9268:"ea7806ff",9433:"9ec96a47",9462:"5f105120",9509:"2f42710f",9531:"66eca5d4",9647:"d4a2a90d",9672:"497f0d49",9695:"bcf3cae5",9801:"cac8d9d2",9903:"2c58bb4d",9942:"c4f03700"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var b,t;if(void 0!==c)for(var o=document.getElementsByTagName("script"),n=0;n{b.onerror=b.onload=null,clearTimeout(u);var d=f[e];if(delete f[e],b.parentNode&&b.parentNode.removeChild(b),d&&d.forEach((e=>e(c))),a)return a(c)},u=setTimeout(l.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=l.bind(null,b.onerror),b.onload=l.bind(null,b.onload),t&&document.head.appendChild(b)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401",40951796:"220",80697847:"4894",cae0f04b:"88","3031e46b":"189","9eb9fa54":"350","3ab9445b":"373",daa69925:"446","572e4edf":"467","1b186f64":"515","015816e2":"569",e4355444:"667","798c9bc2":"806",ac1a782b:"1124",dc2cd7e2:"1295","7a54a545":"1355",a4df4865:"1401","01a1bba5":"1458","0abd59c6":"1529",caa2e070:"1532","2431ba31":"1566","0df1a66c":"1628",cdaae041:"1666","3827c3c6":"1834",b2b675dd:"1991",ce6e696b:"2043",e6baa823:"2051",b7efbaa4:"2099",cc32fbde:"2107","1a4e3797":"2138","076c147e":"2142",ef491088:"2288",ca5d36aa:"2317",f89f17ac:"2364","2abf66bb":"2404",d3dd1f61:"2546",dce7fd61:"2570","9c153eaa":"2571","850be153":"2590",e076d91c:"2594",a5852e81:"2598",c4f5d8e4:"2634","5509b76f":"2669","9e4087bc":"2711","9d672d00":"2723","696a01cf":"2729",d7647bb5:"2862","5c035ad5":"2879","5b8adf66":"2950",ab6201ac:"3079",ccc49370:"3249","555148a9":"3305","67152cfe":"3314",bdd8dcaf:"3315",decfdbba:"3328","7d35b4a3":"3344",ec93dc32:"3447",b2f554cd:"3513","3a7fefd0":"3529",cc73ed51:"3570",a1c1515a:"3737",f91e79c8:"3811","7bb2f638":"3893","8ad4811d":"3904",b025bb67:"4043",c41acfd1:"4050",e628667e:"4060","02af63f8":"4067","5e12ca1d":"4095","4f0789b6":"4199","528602c4":"4279","91e4d5ec":"4343","382d183c":"4349","6cb48572":"4370","55102a22":"4445","9afda0ee":"4462",d6377ff4:"4498","76852a88":"4510",e6bcd470:"4570","7bb7102b":"4622","3a23d66b":"4656","9d6f1d6a":"4732",bfcd17f4:"4748","69e6e3bb":"4833",e8db9b6a:"4860","017c7e36":"5011","4a6c08fa":"5036","99cd0956":"5220",fcc2aa60:"5229",e85cb86b:"5234",feb0df8a:"5281","0ae76a47":"5354",e84c24e5:"5391","42f9def7":"5438","561a3eb1":"5443","1dc3c8d9":"5450","0f85c961":"5455","420a4aff":"5477",a9668f36:"5584","93e8f896":"5603","075c7a17":"5604","38eb30df":"5660",c377a04b:"5742","8eb4e46b":"5767","6588f8a2":"5771","6c11b4de":"5807",d1104007:"5822","46c309cc":"5840","8c472a46":"5878","0a789486":"5894","2cd23ac7":"6022","1f391b9e":"6061","78e9b454":"6081","1943dfb2":"6084",ae4abcdb:"6095","29aa1e09":"6101","8a734aad":"6178",b9edb02a:"6214",c867fe7c:"6226","5896a7ea":"6255","5118ee85":"6349","6317fbe7":"6422",f57aa09c:"6451",a4cef419:"6516","08c25933":"6560","90e0a41c":"6564",f3344494:"6628",e74a79a5:"6664","940fc73a":"6780","98ffbda8":"6805","2e5fe557":"6887","823b648e":"6909",fcfac0f1:"7011",a57ccd44:"7030",e5846443:"7036",f539466a:"7077",a7bd4aaa:"7098",fa29c2d5:"7137",b5351572:"7153",d549428a:"7196",dcc53905:"7265","8f8ee7f5":"7291","342de35e":"7362",ff185f4e:"7380","814f3328":"7472","50fa5667":"7487",ee4f9438:"7497",ac0c4088:"7512","2aac956c":"7539","0b8ff5c4":"7541",fe4bf730:"7586","8ac9c664":"7635",a6aa9e1f:"7643",fc03b22f:"7685","2e1d0e00":"7690","9efeee7f":"7727","0f572e6e":"7733","1b9bd3d9":"7745",c09e1667:"7764","3082ef22":"7785",a1a42c9b:"7874",c01f4ef7:"8015","9093cedc":"8055",d61e08fd:"8333","68a4a0c2":"8406",ee76fcac:"8423","3c561f1c":"8429",edba9c72:"8528","88ab1274":"8550","7a77816f":"8564","935f2afb":"8581",a998b65c:"8602",a9afa101:"8775",b3bcde3d:"8819",d488f8a7:"8849",dc7b4688:"8853",fad948d0:"9005",a94703ab:"9048","5c27e93c":"9126",a97faf63:"9146",febdff58:"9153",a6e5e601:"9268","96f9dd39":"9433","85376e8b":"9509",e469ac48:"9531","5e95c892":"9647",dfd9a880:"9672","674fa9c4":"9695","8999baf8":"9801","8bb54e26":"9903","377636fe":"9942"}[e]||e,r.p+r.u(e)},(()=>{var e={2973:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|2973)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,f,d={},b={};function r(e){var a=b[e];if(void 0!==a)return a.exports;var c=b[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=d,r.c=b,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({88:"cae0f04b",189:"3031e46b",220:"40951796",350:"9eb9fa54",373:"3ab9445b",446:"daa69925",467:"572e4edf",515:"1b186f64",569:"015816e2",667:"e4355444",806:"798c9bc2",1124:"ac1a782b",1295:"dc2cd7e2",1355:"7a54a545",1401:"a4df4865",1458:"01a1bba5",1529:"0abd59c6",1532:"caa2e070",1566:"2431ba31",1628:"0df1a66c",1666:"cdaae041",1834:"3827c3c6",1991:"b2b675dd",2043:"ce6e696b",2051:"e6baa823",2099:"b7efbaa4",2107:"cc32fbde",2138:"1a4e3797",2142:"076c147e",2288:"ef491088",2317:"ca5d36aa",2364:"f89f17ac",2404:"2abf66bb",2546:"d3dd1f61",2570:"dce7fd61",2571:"9c153eaa",2590:"850be153",2594:"e076d91c",2598:"a5852e81",2634:"c4f5d8e4",2669:"5509b76f",2711:"9e4087bc",2723:"9d672d00",2729:"696a01cf",2862:"d7647bb5",2879:"5c035ad5",2950:"5b8adf66",3079:"ab6201ac",3249:"ccc49370",3305:"555148a9",3314:"67152cfe",3315:"bdd8dcaf",3328:"decfdbba",3344:"7d35b4a3",3447:"ec93dc32",3513:"b2f554cd",3529:"3a7fefd0",3570:"cc73ed51",3737:"a1c1515a",3811:"f91e79c8",3893:"7bb2f638",3904:"8ad4811d",4043:"b025bb67",4050:"c41acfd1",4060:"e628667e",4067:"02af63f8",4095:"5e12ca1d",4199:"4f0789b6",4279:"528602c4",4343:"91e4d5ec",4349:"382d183c",4370:"6cb48572",4445:"55102a22",4462:"9afda0ee",4498:"d6377ff4",4510:"76852a88",4570:"e6bcd470",4622:"7bb7102b",4656:"3a23d66b",4732:"9d6f1d6a",4748:"bfcd17f4",4833:"69e6e3bb",4860:"e8db9b6a",4894:"80697847",5011:"017c7e36",5036:"4a6c08fa",5220:"99cd0956",5229:"fcc2aa60",5234:"e85cb86b",5281:"feb0df8a",5354:"0ae76a47",5391:"e84c24e5",5438:"42f9def7",5443:"561a3eb1",5450:"1dc3c8d9",5455:"0f85c961",5477:"420a4aff",5584:"a9668f36",5603:"93e8f896",5604:"075c7a17",5660:"38eb30df",5742:"c377a04b",5767:"8eb4e46b",5771:"6588f8a2",5807:"6c11b4de",5822:"d1104007",5840:"46c309cc",5878:"8c472a46",5894:"0a789486",6022:"2cd23ac7",6061:"1f391b9e",6081:"78e9b454",6084:"1943dfb2",6095:"ae4abcdb",6101:"29aa1e09",6178:"8a734aad",6214:"b9edb02a",6226:"c867fe7c",6255:"5896a7ea",6349:"5118ee85",6422:"6317fbe7",6451:"f57aa09c",6516:"a4cef419",6560:"08c25933",6564:"90e0a41c",6628:"f3344494",6664:"e74a79a5",6780:"940fc73a",6805:"98ffbda8",6887:"2e5fe557",6909:"823b648e",7011:"fcfac0f1",7030:"a57ccd44",7036:"e5846443",7077:"f539466a",7098:"a7bd4aaa",7137:"fa29c2d5",7153:"b5351572",7196:"d549428a",7265:"dcc53905",7291:"8f8ee7f5",7362:"342de35e",7380:"ff185f4e",7472:"814f3328",7487:"50fa5667",7497:"ee4f9438",7512:"ac0c4088",7539:"2aac956c",7541:"0b8ff5c4",7586:"fe4bf730",7635:"8ac9c664",7643:"a6aa9e1f",7685:"fc03b22f",7690:"2e1d0e00",7727:"9efeee7f",7733:"0f572e6e",7745:"1b9bd3d9",7764:"c09e1667",7785:"3082ef22",7874:"a1a42c9b",8015:"c01f4ef7",8055:"9093cedc",8333:"d61e08fd",8401:"17896441",8406:"68a4a0c2",8423:"ee76fcac",8429:"3c561f1c",8528:"edba9c72",8550:"88ab1274",8564:"7a77816f",8581:"935f2afb",8602:"a998b65c",8775:"a9afa101",8819:"b3bcde3d",8849:"d488f8a7",8853:"dc7b4688",9005:"fad948d0",9048:"a94703ab",9126:"5c27e93c",9146:"a97faf63",9153:"febdff58",9268:"a6e5e601",9433:"96f9dd39",9509:"85376e8b",9531:"e469ac48",9647:"5e95c892",9672:"dfd9a880",9695:"674fa9c4",9801:"8999baf8",9903:"8bb54e26",9942:"377636fe"}[e]||e)+"."+{88:"302b823c",189:"004cd365",220:"c6221ce0",350:"05b0afa8",373:"a7c97221",416:"b444750d",446:"86d8d961",467:"59a8d603",515:"b8b6f6fd",569:"bac7eadf",667:"21ae6e4a",806:"77f68c98",985:"f97b89f4",1124:"eae9d71c",1295:"e89f6c2a",1355:"9b35ba76",1401:"47cea819",1458:"b2788fed",1529:"38be1e8f",1532:"bc0c013c",1566:"420d4c87",1628:"f727a3da",1666:"4d438b77",1834:"c3037c1a",1991:"52e5c0d8",2043:"a622a8e5",2051:"54712561",2099:"34fca0f5",2107:"4055c590",2138:"c77e0835",2142:"540f8134",2237:"142894c1",2288:"a48ce8d7",2317:"409281c7",2364:"bb9166d2",2404:"644a7133",2546:"5da15dd0",2570:"7755820c",2571:"76ecf634",2590:"9b366fef",2594:"dad62b1c",2598:"1cb08ad6",2634:"3c5853db",2669:"71fc14d2",2711:"97405554",2723:"4011f9b6",2729:"dcc743d4",2862:"3bd13d47",2879:"ba191d37",2950:"740d8833",3079:"3ed595a7",3249:"50862a89",3305:"3c4a8902",3314:"85cb824b",3315:"754c87d5",3328:"b2cbabe6",3344:"e8ec6311",3447:"dfcd9ea9",3513:"e2985198",3529:"cf8148cb",3570:"8c5f1ddf",3737:"8879917f",3811:"e78ed917",3893:"5b1c5689",3904:"20d40921",4043:"dec3b70f",4050:"3b8ea987",4060:"e5230aa0",4067:"ced52ba9",4095:"ab505c43",4199:"8232b41c",4279:"980add8a",4343:"b9111d9c",4349:"3abfdbba",4370:"59d71911",4445:"5d58e1db",4462:"2539e8a4",4498:"2fd845a0",4510:"6f2f3bc4",4570:"e81456df",4622:"e6a1e618",4656:"7e983e89",4732:"5c3b5e5b",4748:"82c06360",4833:"36673e20",4860:"36bc2cb7",4894:"1dfb400e",5011:"c76a7393",5036:"1c0d196e",5220:"5a9194cc",5229:"77000c5c",5234:"47c912e2",5281:"f01423cd",5354:"715dffee",5391:"15e65363",5438:"5f40b003",5443:"a321f3db",5450:"58bc5ed3",5455:"6f86e938",5477:"3c6518a2",5584:"72a96050",5603:"2d67edf6",5604:"17f0ee5e",5660:"122fa29d",5742:"2d8ebb25",5767:"773cc9c5",5771:"1746c76c",5807:"4e8bd98a",5822:"eec9a0ca",5840:"aa74f28f",5878:"111bcb41",5894:"e62e73b7",6022:"cf954b65",6061:"fe882a6e",6081:"44bd04d8",6084:"35313978",6095:"3b2a4222",6101:"c57f85b3",6178:"a5ac8c27",6214:"60c2637a",6226:"7348ee67",6255:"9f9af63b",6349:"75add21e",6422:"3574e24c",6451:"3e59e506",6516:"52815850",6560:"bc5c0b94",6564:"80a1d33d",6628:"a5f4ab2d",6664:"b6966d56",6780:"aea705d4",6805:"a66c2c97",6887:"5c3378a7",6909:"33513b02",7011:"bd90c8c2",7030:"90090bc6",7036:"932747d9",7077:"64c97f52",7098:"0086a292",7137:"3df033ae",7153:"84a54bfa",7196:"2210ab48",7265:"cd4bf74b",7291:"9d9b2e33",7362:"3ac7407a",7380:"4918a68c",7472:"061d2f9f",7487:"efd89bce",7497:"41f437e3",7512:"05ad754a",7539:"3a617416",7541:"f15eed1b",7586:"61038917",7635:"bdd19a76",7643:"773e115b",7685:"bfa0ef25",7690:"a143c35f",7727:"519666b9",7733:"0da0fc72",7745:"2484414b",7764:"85b10151",7785:"9d9061f0",7874:"e74ef182",8015:"ca136caf",8055:"69d8ccc9",8333:"f59ea560",8401:"da12f7c7",8406:"f5c01c0d",8423:"f8dc7e98",8429:"00e45382",8528:"a3b0b85e",8550:"5e9df2c9",8564:"b1352cda",8581:"01fb47d4",8602:"437e4280",8747:"14ecf1a7",8775:"03960ff1",8819:"1079ba07",8849:"6571621e",8853:"5317364b",8913:"b6f04e6e",9005:"2379ab99",9048:"6b9d296d",9126:"1e0e84c4",9146:"496730f9",9153:"f973f826",9268:"ea7806ff",9433:"9ec96a47",9462:"5f105120",9509:"2f42710f",9531:"66eca5d4",9647:"d4a2a90d",9672:"497f0d49",9695:"bcf3cae5",9801:"cac8d9d2",9903:"2c58bb4d",9942:"c4f03700"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},r.l=(e,a,c,d)=>{if(f[e])f[e].push(a);else{var b,t;if(void 0!==c)for(var o=document.getElementsByTagName("script"),n=0;n{b.onerror=b.onload=null,clearTimeout(u);var d=f[e];if(delete f[e],b.parentNode&&b.parentNode.removeChild(b),d&&d.forEach((e=>e(c))),a)return a(c)},u=setTimeout(l.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=l.bind(null,b.onerror),b.onload=l.bind(null,b.onload),t&&document.head.appendChild(b)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401",40951796:"220",80697847:"4894",cae0f04b:"88","3031e46b":"189","9eb9fa54":"350","3ab9445b":"373",daa69925:"446","572e4edf":"467","1b186f64":"515","015816e2":"569",e4355444:"667","798c9bc2":"806",ac1a782b:"1124",dc2cd7e2:"1295","7a54a545":"1355",a4df4865:"1401","01a1bba5":"1458","0abd59c6":"1529",caa2e070:"1532","2431ba31":"1566","0df1a66c":"1628",cdaae041:"1666","3827c3c6":"1834",b2b675dd:"1991",ce6e696b:"2043",e6baa823:"2051",b7efbaa4:"2099",cc32fbde:"2107","1a4e3797":"2138","076c147e":"2142",ef491088:"2288",ca5d36aa:"2317",f89f17ac:"2364","2abf66bb":"2404",d3dd1f61:"2546",dce7fd61:"2570","9c153eaa":"2571","850be153":"2590",e076d91c:"2594",a5852e81:"2598",c4f5d8e4:"2634","5509b76f":"2669","9e4087bc":"2711","9d672d00":"2723","696a01cf":"2729",d7647bb5:"2862","5c035ad5":"2879","5b8adf66":"2950",ab6201ac:"3079",ccc49370:"3249","555148a9":"3305","67152cfe":"3314",bdd8dcaf:"3315",decfdbba:"3328","7d35b4a3":"3344",ec93dc32:"3447",b2f554cd:"3513","3a7fefd0":"3529",cc73ed51:"3570",a1c1515a:"3737",f91e79c8:"3811","7bb2f638":"3893","8ad4811d":"3904",b025bb67:"4043",c41acfd1:"4050",e628667e:"4060","02af63f8":"4067","5e12ca1d":"4095","4f0789b6":"4199","528602c4":"4279","91e4d5ec":"4343","382d183c":"4349","6cb48572":"4370","55102a22":"4445","9afda0ee":"4462",d6377ff4:"4498","76852a88":"4510",e6bcd470:"4570","7bb7102b":"4622","3a23d66b":"4656","9d6f1d6a":"4732",bfcd17f4:"4748","69e6e3bb":"4833",e8db9b6a:"4860","017c7e36":"5011","4a6c08fa":"5036","99cd0956":"5220",fcc2aa60:"5229",e85cb86b:"5234",feb0df8a:"5281","0ae76a47":"5354",e84c24e5:"5391","42f9def7":"5438","561a3eb1":"5443","1dc3c8d9":"5450","0f85c961":"5455","420a4aff":"5477",a9668f36:"5584","93e8f896":"5603","075c7a17":"5604","38eb30df":"5660",c377a04b:"5742","8eb4e46b":"5767","6588f8a2":"5771","6c11b4de":"5807",d1104007:"5822","46c309cc":"5840","8c472a46":"5878","0a789486":"5894","2cd23ac7":"6022","1f391b9e":"6061","78e9b454":"6081","1943dfb2":"6084",ae4abcdb:"6095","29aa1e09":"6101","8a734aad":"6178",b9edb02a:"6214",c867fe7c:"6226","5896a7ea":"6255","5118ee85":"6349","6317fbe7":"6422",f57aa09c:"6451",a4cef419:"6516","08c25933":"6560","90e0a41c":"6564",f3344494:"6628",e74a79a5:"6664","940fc73a":"6780","98ffbda8":"6805","2e5fe557":"6887","823b648e":"6909",fcfac0f1:"7011",a57ccd44:"7030",e5846443:"7036",f539466a:"7077",a7bd4aaa:"7098",fa29c2d5:"7137",b5351572:"7153",d549428a:"7196",dcc53905:"7265","8f8ee7f5":"7291","342de35e":"7362",ff185f4e:"7380","814f3328":"7472","50fa5667":"7487",ee4f9438:"7497",ac0c4088:"7512","2aac956c":"7539","0b8ff5c4":"7541",fe4bf730:"7586","8ac9c664":"7635",a6aa9e1f:"7643",fc03b22f:"7685","2e1d0e00":"7690","9efeee7f":"7727","0f572e6e":"7733","1b9bd3d9":"7745",c09e1667:"7764","3082ef22":"7785",a1a42c9b:"7874",c01f4ef7:"8015","9093cedc":"8055",d61e08fd:"8333","68a4a0c2":"8406",ee76fcac:"8423","3c561f1c":"8429",edba9c72:"8528","88ab1274":"8550","7a77816f":"8564","935f2afb":"8581",a998b65c:"8602",a9afa101:"8775",b3bcde3d:"8819",d488f8a7:"8849",dc7b4688:"8853",fad948d0:"9005",a94703ab:"9048","5c27e93c":"9126",a97faf63:"9146",febdff58:"9153",a6e5e601:"9268","96f9dd39":"9433","85376e8b":"9509",e469ac48:"9531","5e95c892":"9647",dfd9a880:"9672","674fa9c4":"9695","8999baf8":"9801","8bb54e26":"9903","377636fe":"9942"}[e]||e,r.p+r.u(e)},(()=>{var e={2973:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|2973)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n
-
+
diff --git a/blog/2016/12/16/a-step-by-step-guide-to-single-spa/index.html b/blog/2016/12/16/a-step-by-step-guide-to-single-spa/index.html
index 328a0db08..465e4c229 100644
--- a/blog/2016/12/16/a-step-by-step-guide-to-single-spa/index.html
+++ b/blog/2016/12/16/a-step-by-step-guide-to-single-spa/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2018/06/19/single-spa-parcels-explained/index.html b/blog/2018/06/19/single-spa-parcels-explained/index.html
index 5b764d0fc..8f477bd5e 100644
--- a/blog/2018/06/19/single-spa-parcels-explained/index.html
+++ b/blog/2018/06/19/single-spa-parcels-explained/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2019/02/20/single-spa-inspector/index.html b/blog/2019/02/20/single-spa-inspector/index.html
index 5d2311c7f..85f75fd5f 100644
--- a/blog/2019/02/20/single-spa-inspector/index.html
+++ b/blog/2019/02/20/single-spa-inspector/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2020/02/24/single-spa-5/index.html b/blog/2020/02/24/single-spa-5/index.html
index 28cfb9d75..8d0e65cfa 100644
--- a/blog/2020/02/24/single-spa-5/index.html
+++ b/blog/2020/02/24/single-spa-5/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2023/08/22/single-spa-core-is-expanding/index.html b/blog/2023/08/22/single-spa-core-is-expanding/index.html
index d71fcc75f..a9f20a432 100644
--- a/blog/2023/08/22/single-spa-core-is-expanding/index.html
+++ b/blog/2023/08/22/single-spa-core-is-expanding/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2023/10/11/introducing-single-spa-new-core-team-members/index.html b/blog/2023/10/11/introducing-single-spa-new-core-team-members/index.html
index c9d23224f..842d3d5f5 100644
--- a/blog/2023/10/11/introducing-single-spa-new-core-team-members/index.html
+++ b/blog/2023/10/11/introducing-single-spa-new-core-team-members/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2023/11/07/core-team-meeting-notes/index.html b/blog/2023/11/07/core-team-meeting-notes/index.html
index 651f1820e..992848505 100644
--- a/blog/2023/11/07/core-team-meeting-notes/index.html
+++ b/blog/2023/11/07/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2023/11/27/single-spa-6/index.html b/blog/2023/11/27/single-spa-6/index.html
index ee9b933c8..06126ab3b 100644
--- a/blog/2023/11/27/single-spa-6/index.html
+++ b/blog/2023/11/27/single-spa-6/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2023/12/12/core-team-meeting-notes/index.html b/blog/2023/12/12/core-team-meeting-notes/index.html
index 86acd3c8b..2a3e6bd34 100644
--- a/blog/2023/12/12/core-team-meeting-notes/index.html
+++ b/blog/2023/12/12/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2024/01/03/core-team-meeting-notes/index.html b/blog/2024/01/03/core-team-meeting-notes/index.html
index 20bc83bb3..5a74db47f 100644
--- a/blog/2024/01/03/core-team-meeting-notes/index.html
+++ b/blog/2024/01/03/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2024/02/14/core-team-meeting-notes/index.html b/blog/2024/02/14/core-team-meeting-notes/index.html
index 4be924627..8f7adf064 100644
--- a/blog/2024/02/14/core-team-meeting-notes/index.html
+++ b/blog/2024/02/14/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2024/03/12/core-team-meeting-notes/index.html b/blog/2024/03/12/core-team-meeting-notes/index.html
index 78c723dcd..5ba34bc65 100644
--- a/blog/2024/03/12/core-team-meeting-notes/index.html
+++ b/blog/2024/03/12/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2024/03/18/top-5-microfrontend-hosting-solutions/index.html b/blog/2024/03/18/top-5-microfrontend-hosting-solutions/index.html
index 1cc782ec5..1d756a478 100644
--- a/blog/2024/03/18/top-5-microfrontend-hosting-solutions/index.html
+++ b/blog/2024/03/18/top-5-microfrontend-hosting-solutions/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2024/04/10/core-team-meeting-notes/index.html b/blog/2024/04/10/core-team-meeting-notes/index.html
index c5fcf5b60..17ba792f7 100644
--- a/blog/2024/04/10/core-team-meeting-notes/index.html
+++ b/blog/2024/04/10/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2024/06/08/core-team-meeting-notes/index.html b/blog/2024/06/08/core-team-meeting-notes/index.html
index 0aa4f95af..6c1eb50d4 100644
--- a/blog/2024/06/08/core-team-meeting-notes/index.html
+++ b/blog/2024/06/08/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/2024/09/30/core-team-meeting-notes/index.html b/blog/2024/09/30/core-team-meeting-notes/index.html
index db21f4836..8d0bfc6f4 100644
--- a/blog/2024/09/30/core-team-meeting-notes/index.html
+++ b/blog/2024/09/30/core-team-meeting-notes/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 511561b8f..b7a57a7ed 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/index.html b/blog/index.html
index f193e808f..5314c00fa 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
index caa3193c7..568c5b8c0 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/code-of-conduct/index.html b/code-of-conduct/index.html
index 02ad6f4c5..73e82efb9 100644
--- a/code-of-conduct/index.html
+++ b/code-of-conduct/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/contributors/index.html b/contributors/index.html
index fd0db5170..0eefbb180 100644
--- a/contributors/index.html
+++ b/contributors/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/api/index.html b/docs/4.x/api/index.html
index f6d795cb4..5009bf4a5 100644
--- a/docs/4.x/api/index.html
+++ b/docs/4.x/api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/building-applications/index.html b/docs/4.x/building-applications/index.html
index 17e730622..678f4925d 100644
--- a/docs/4.x/building-applications/index.html
+++ b/docs/4.x/building-applications/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/code-of-conduct/index.html b/docs/4.x/code-of-conduct/index.html
index 68092ec99..d8f7e53b8 100644
--- a/docs/4.x/code-of-conduct/index.html
+++ b/docs/4.x/code-of-conduct/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/configuration/index.html b/docs/4.x/configuration/index.html
index 0e626eb48..0bbda9fce 100644
--- a/docs/4.x/configuration/index.html
+++ b/docs/4.x/configuration/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/contributing-overview/index.html b/docs/4.x/contributing-overview/index.html
index eeb6282b4..43d31dd5e 100644
--- a/docs/4.x/contributing-overview/index.html
+++ b/docs/4.x/contributing-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-angular/index.html b/docs/4.x/ecosystem-angular/index.html
index 3f8114ee2..d567bc548 100644
--- a/docs/4.x/ecosystem-angular/index.html
+++ b/docs/4.x/ecosystem-angular/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-angularjs/index.html b/docs/4.x/ecosystem-angularjs/index.html
index 52fdc1f55..33f1308bd 100644
--- a/docs/4.x/ecosystem-angularjs/index.html
+++ b/docs/4.x/ecosystem-angularjs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-backbone/index.html b/docs/4.x/ecosystem-backbone/index.html
index 6d27ec817..0ff6b2d27 100644
--- a/docs/4.x/ecosystem-backbone/index.html
+++ b/docs/4.x/ecosystem-backbone/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-cycle/index.html b/docs/4.x/ecosystem-cycle/index.html
index 602dd8e77..707c38096 100644
--- a/docs/4.x/ecosystem-cycle/index.html
+++ b/docs/4.x/ecosystem-cycle/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-ember/index.html b/docs/4.x/ecosystem-ember/index.html
index dde8e4287..a8c134b8f 100644
--- a/docs/4.x/ecosystem-ember/index.html
+++ b/docs/4.x/ecosystem-ember/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-html-web-components/index.html b/docs/4.x/ecosystem-html-web-components/index.html
index 8899234c7..a3949fae7 100644
--- a/docs/4.x/ecosystem-html-web-components/index.html
+++ b/docs/4.x/ecosystem-html-web-components/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-inferno/index.html b/docs/4.x/ecosystem-inferno/index.html
index 46e098190..09e856aa3 100644
--- a/docs/4.x/ecosystem-inferno/index.html
+++ b/docs/4.x/ecosystem-inferno/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-leaked-globals/index.html b/docs/4.x/ecosystem-leaked-globals/index.html
index f7775d850..6cce2a3bf 100644
--- a/docs/4.x/ecosystem-leaked-globals/index.html
+++ b/docs/4.x/ecosystem-leaked-globals/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-preact/index.html b/docs/4.x/ecosystem-preact/index.html
index 98e3e52ac..49c17059a 100644
--- a/docs/4.x/ecosystem-preact/index.html
+++ b/docs/4.x/ecosystem-preact/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-react/index.html b/docs/4.x/ecosystem-react/index.html
index d9e3f34be..c15e0ae62 100644
--- a/docs/4.x/ecosystem-react/index.html
+++ b/docs/4.x/ecosystem-react/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-riot/index.html b/docs/4.x/ecosystem-riot/index.html
index 7281dcdf6..07746dc2e 100644
--- a/docs/4.x/ecosystem-riot/index.html
+++ b/docs/4.x/ecosystem-riot/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-svelte/index.html b/docs/4.x/ecosystem-svelte/index.html
index 940599608..07e6b8c3e 100644
--- a/docs/4.x/ecosystem-svelte/index.html
+++ b/docs/4.x/ecosystem-svelte/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem-vue/index.html b/docs/4.x/ecosystem-vue/index.html
index 5e2733178..f9549cfd1 100644
--- a/docs/4.x/ecosystem-vue/index.html
+++ b/docs/4.x/ecosystem-vue/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/ecosystem/index.html b/docs/4.x/ecosystem/index.html
index 480448d0f..c1c408a33 100644
--- a/docs/4.x/ecosystem/index.html
+++ b/docs/4.x/ecosystem/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/examples/index.html b/docs/4.x/examples/index.html
index 5fc6492bb..c0e6507e8 100644
--- a/docs/4.x/examples/index.html
+++ b/docs/4.x/examples/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/faq/index.html b/docs/4.x/faq/index.html
index e779a9c1f..ac395103a 100644
--- a/docs/4.x/faq/index.html
+++ b/docs/4.x/faq/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/getting-started-overview/index.html b/docs/4.x/getting-started-overview/index.html
index 588a9c928..b36de8db7 100644
--- a/docs/4.x/getting-started-overview/index.html
+++ b/docs/4.x/getting-started-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/glossary/index.html b/docs/4.x/glossary/index.html
index a14936787..bbcd562a6 100644
--- a/docs/4.x/glossary/index.html
+++ b/docs/4.x/glossary/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/migrating-angularJS-tutorial/index.html b/docs/4.x/migrating-angularJS-tutorial/index.html
index 1108878f8..a5e392561 100644
--- a/docs/4.x/migrating-angularJS-tutorial/index.html
+++ b/docs/4.x/migrating-angularJS-tutorial/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/migrating-existing-spas/index.html b/docs/4.x/migrating-existing-spas/index.html
index 78bd1dcdc..9863cd5cd 100644
--- a/docs/4.x/migrating-existing-spas/index.html
+++ b/docs/4.x/migrating-existing-spas/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/migrating-react-tutorial/index.html b/docs/4.x/migrating-react-tutorial/index.html
index 9f5c79568..3126b4265 100644
--- a/docs/4.x/migrating-react-tutorial/index.html
+++ b/docs/4.x/migrating-react-tutorial/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/parcels-api/index.html b/docs/4.x/parcels-api/index.html
index 89b10fc4c..bb82694c0 100644
--- a/docs/4.x/parcels-api/index.html
+++ b/docs/4.x/parcels-api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/parcels-overview/index.html b/docs/4.x/parcels-overview/index.html
index 377f2c592..3b34d8315 100644
--- a/docs/4.x/parcels-overview/index.html
+++ b/docs/4.x/parcels-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/separating-applications/index.html b/docs/4.x/separating-applications/index.html
index 3e55e296f..02cb091b9 100644
--- a/docs/4.x/separating-applications/index.html
+++ b/docs/4.x/separating-applications/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/4.x/starting-from-scratch/index.html b/docs/4.x/starting-from-scratch/index.html
index 6c29b314b..5dbb47c6a 100644
--- a/docs/4.x/starting-from-scratch/index.html
+++ b/docs/4.x/starting-from-scratch/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/api/index.html b/docs/5.x/api/index.html
index 4efb49ce7..f617467ed 100644
--- a/docs/5.x/api/index.html
+++ b/docs/5.x/api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/building-applications/index.html b/docs/5.x/building-applications/index.html
index ad9f5cfb9..7c5ab054a 100644
--- a/docs/5.x/building-applications/index.html
+++ b/docs/5.x/building-applications/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/code-of-conduct/index.html b/docs/5.x/code-of-conduct/index.html
index 44cdef412..d3fbdb87b 100644
--- a/docs/5.x/code-of-conduct/index.html
+++ b/docs/5.x/code-of-conduct/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/configuration/index.html b/docs/5.x/configuration/index.html
index fb2a408ed..70ec9dc09 100644
--- a/docs/5.x/configuration/index.html
+++ b/docs/5.x/configuration/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/contributing-overview/index.html b/docs/5.x/contributing-overview/index.html
index d6749d4ee..cbf41f1e8 100644
--- a/docs/5.x/contributing-overview/index.html
+++ b/docs/5.x/contributing-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/create-single-spa/index.html b/docs/5.x/create-single-spa/index.html
index 5fc5e1688..36b75e2c9 100644
--- a/docs/5.x/create-single-spa/index.html
+++ b/docs/5.x/create-single-spa/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/devtools/index.html b/docs/5.x/devtools/index.html
index 347dd6861..24095b18c 100644
--- a/docs/5.x/devtools/index.html
+++ b/docs/5.x/devtools/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-alpinejs/index.html b/docs/5.x/ecosystem-alpinejs/index.html
index 7edc900ec..f8f9b3dff 100644
--- a/docs/5.x/ecosystem-alpinejs/index.html
+++ b/docs/5.x/ecosystem-alpinejs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-angular/index.html b/docs/5.x/ecosystem-angular/index.html
index d9276cb15..0a5f895e0 100644
--- a/docs/5.x/ecosystem-angular/index.html
+++ b/docs/5.x/ecosystem-angular/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-angularjs/index.html b/docs/5.x/ecosystem-angularjs/index.html
index 520a923a4..587a93326 100644
--- a/docs/5.x/ecosystem-angularjs/index.html
+++ b/docs/5.x/ecosystem-angularjs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-backbone/index.html b/docs/5.x/ecosystem-backbone/index.html
index 684c5f9da..42f7d8aea 100644
--- a/docs/5.x/ecosystem-backbone/index.html
+++ b/docs/5.x/ecosystem-backbone/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-css/index.html b/docs/5.x/ecosystem-css/index.html
index acad12853..2d6ba367d 100644
--- a/docs/5.x/ecosystem-css/index.html
+++ b/docs/5.x/ecosystem-css/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-cycle/index.html b/docs/5.x/ecosystem-cycle/index.html
index ed5ccd4d5..604936bea 100644
--- a/docs/5.x/ecosystem-cycle/index.html
+++ b/docs/5.x/ecosystem-cycle/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-dojo/index.html b/docs/5.x/ecosystem-dojo/index.html
index 4bbbbd2e0..d4fecf40f 100644
--- a/docs/5.x/ecosystem-dojo/index.html
+++ b/docs/5.x/ecosystem-dojo/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-ember/index.html b/docs/5.x/ecosystem-ember/index.html
index 9859be589..d3556e096 100644
--- a/docs/5.x/ecosystem-ember/index.html
+++ b/docs/5.x/ecosystem-ember/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-html-web-components/index.html b/docs/5.x/ecosystem-html-web-components/index.html
index 472beca12..5ed49760f 100644
--- a/docs/5.x/ecosystem-html-web-components/index.html
+++ b/docs/5.x/ecosystem-html-web-components/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-inferno/index.html b/docs/5.x/ecosystem-inferno/index.html
index 35e79a654..22608adcc 100644
--- a/docs/5.x/ecosystem-inferno/index.html
+++ b/docs/5.x/ecosystem-inferno/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-leaked-globals/index.html b/docs/5.x/ecosystem-leaked-globals/index.html
index 88276ef10..b0fd8c136 100644
--- a/docs/5.x/ecosystem-leaked-globals/index.html
+++ b/docs/5.x/ecosystem-leaked-globals/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-preact/index.html b/docs/5.x/ecosystem-preact/index.html
index 4cec6eff5..a776c95c6 100644
--- a/docs/5.x/ecosystem-preact/index.html
+++ b/docs/5.x/ecosystem-preact/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-react/index.html b/docs/5.x/ecosystem-react/index.html
index 29abdfd29..09ce9f2d7 100644
--- a/docs/5.x/ecosystem-react/index.html
+++ b/docs/5.x/ecosystem-react/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-riot/index.html b/docs/5.x/ecosystem-riot/index.html
index 21a10d28c..5f5dbdd3e 100644
--- a/docs/5.x/ecosystem-riot/index.html
+++ b/docs/5.x/ecosystem-riot/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-snowpack/index.html b/docs/5.x/ecosystem-snowpack/index.html
index 9b7c4f123..93bedc46b 100644
--- a/docs/5.x/ecosystem-snowpack/index.html
+++ b/docs/5.x/ecosystem-snowpack/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-svelte/index.html b/docs/5.x/ecosystem-svelte/index.html
index 927b26810..0f3b510fe 100644
--- a/docs/5.x/ecosystem-svelte/index.html
+++ b/docs/5.x/ecosystem-svelte/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-vite/index.html b/docs/5.x/ecosystem-vite/index.html
index c558e3d53..a7ce192aa 100644
--- a/docs/5.x/ecosystem-vite/index.html
+++ b/docs/5.x/ecosystem-vite/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem-vue/index.html b/docs/5.x/ecosystem-vue/index.html
index 17881083b..e5df53525 100644
--- a/docs/5.x/ecosystem-vue/index.html
+++ b/docs/5.x/ecosystem-vue/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ecosystem/index.html b/docs/5.x/ecosystem/index.html
index 2f6e9292c..a1a1f3804 100644
--- a/docs/5.x/ecosystem/index.html
+++ b/docs/5.x/ecosystem/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/examples/index.html b/docs/5.x/examples/index.html
index 48f5be720..e80e0f466 100644
--- a/docs/5.x/examples/index.html
+++ b/docs/5.x/examples/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/faq/index.html b/docs/5.x/faq/index.html
index 22955c35d..d5c9f2aeb 100644
--- a/docs/5.x/faq/index.html
+++ b/docs/5.x/faq/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/getting-started-overview/index.html b/docs/5.x/getting-started-overview/index.html
index 19336ad28..0dd8ec925 100644
--- a/docs/5.x/getting-started-overview/index.html
+++ b/docs/5.x/getting-started-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/glossary/index.html b/docs/5.x/glossary/index.html
index d9df0093d..76d7f6429 100644
--- a/docs/5.x/glossary/index.html
+++ b/docs/5.x/glossary/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/layout-api/index.html b/docs/5.x/layout-api/index.html
index 7f314e1e9..b00d9027d 100644
--- a/docs/5.x/layout-api/index.html
+++ b/docs/5.x/layout-api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/layout-definition/index.html b/docs/5.x/layout-definition/index.html
index bb5d0e3d3..2d55d2b9f 100644
--- a/docs/5.x/layout-definition/index.html
+++ b/docs/5.x/layout-definition/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/layout-overview/index.html b/docs/5.x/layout-overview/index.html
index 9c9a20391..f7923014d 100644
--- a/docs/5.x/layout-overview/index.html
+++ b/docs/5.x/layout-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/microfrontends-concept/index.html b/docs/5.x/microfrontends-concept/index.html
index 2dfb88ca2..ded03b0a7 100644
--- a/docs/5.x/microfrontends-concept/index.html
+++ b/docs/5.x/microfrontends-concept/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/migrating-existing-spas/index.html b/docs/5.x/migrating-existing-spas/index.html
index a8bc8d7a0..3ff14def7 100644
--- a/docs/5.x/migrating-existing-spas/index.html
+++ b/docs/5.x/migrating-existing-spas/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/module-types/index.html b/docs/5.x/module-types/index.html
index 494e565d3..16f12f4df 100644
--- a/docs/5.x/module-types/index.html
+++ b/docs/5.x/module-types/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/parcels-api/index.html b/docs/5.x/parcels-api/index.html
index 121943d99..0e68c7b5f 100644
--- a/docs/5.x/parcels-api/index.html
+++ b/docs/5.x/parcels-api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/parcels-overview/index.html b/docs/5.x/parcels-overview/index.html
index 5fe75829a..5ccc14215 100644
--- a/docs/5.x/parcels-overview/index.html
+++ b/docs/5.x/parcels-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/recommended-setup/index.html b/docs/5.x/recommended-setup/index.html
index 7f90fc7b0..b1ca3f10e 100644
--- a/docs/5.x/recommended-setup/index.html
+++ b/docs/5.x/recommended-setup/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/separating-applications/index.html b/docs/5.x/separating-applications/index.html
index 7511acb10..9f7c7f541 100644
--- a/docs/5.x/separating-applications/index.html
+++ b/docs/5.x/separating-applications/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/shared-webpack-configs/index.html b/docs/5.x/shared-webpack-configs/index.html
index f5a206718..286e01ebe 100644
--- a/docs/5.x/shared-webpack-configs/index.html
+++ b/docs/5.x/shared-webpack-configs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/single-spa-playground/index.html b/docs/5.x/single-spa-playground/index.html
index 11332d5df..062e7bf45 100644
--- a/docs/5.x/single-spa-playground/index.html
+++ b/docs/5.x/single-spa-playground/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/ssr-overview/index.html b/docs/5.x/ssr-overview/index.html
index 92767a32d..ca7945fd9 100644
--- a/docs/5.x/ssr-overview/index.html
+++ b/docs/5.x/ssr-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/testing/e2e/index.html b/docs/5.x/testing/e2e/index.html
index 67cba02e7..12b7d418f 100644
--- a/docs/5.x/testing/e2e/index.html
+++ b/docs/5.x/testing/e2e/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/testing/units/index.html b/docs/5.x/testing/units/index.html
index abd390841..da11124f4 100644
--- a/docs/5.x/testing/units/index.html
+++ b/docs/5.x/testing/units/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/5.x/videos/index.html b/docs/5.x/videos/index.html
index 63b175e57..7e0609e15 100644
--- a/docs/5.x/videos/index.html
+++ b/docs/5.x/videos/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/api/index.html b/docs/api/index.html
index 52a413c8c..e4be2c59e 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/building-applications/index.html b/docs/building-applications/index.html
index 722bfa476..dcd91bfb1 100644
--- a/docs/building-applications/index.html
+++ b/docs/building-applications/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/code-of-conduct/index.html b/docs/code-of-conduct/index.html
index d85f9618f..7b9d32576 100644
--- a/docs/code-of-conduct/index.html
+++ b/docs/code-of-conduct/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/configuration/index.html b/docs/configuration/index.html
index 1715b60b6..f828952e3 100644
--- a/docs/configuration/index.html
+++ b/docs/configuration/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/contributing-overview/index.html b/docs/contributing-overview/index.html
index 8bc727baa..c5fd2843d 100644
--- a/docs/contributing-overview/index.html
+++ b/docs/contributing-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/create-single-spa/index.html b/docs/create-single-spa/index.html
index 2802fe42f..e2cdceeef 100644
--- a/docs/create-single-spa/index.html
+++ b/docs/create-single-spa/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/devtools/index.html b/docs/devtools/index.html
index e8422aee4..f68928d82 100644
--- a/docs/devtools/index.html
+++ b/docs/devtools/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-alpinejs/index.html b/docs/ecosystem-alpinejs/index.html
index 3a12e77c4..a17c1b27b 100644
--- a/docs/ecosystem-alpinejs/index.html
+++ b/docs/ecosystem-alpinejs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-angular/index.html b/docs/ecosystem-angular/index.html
index e4af89a20..2ba270dc2 100644
--- a/docs/ecosystem-angular/index.html
+++ b/docs/ecosystem-angular/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-angularjs/index.html b/docs/ecosystem-angularjs/index.html
index 6036a7c71..bf1b19322 100644
--- a/docs/ecosystem-angularjs/index.html
+++ b/docs/ecosystem-angularjs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-backbone/index.html b/docs/ecosystem-backbone/index.html
index f306f83e9..0096d1792 100644
--- a/docs/ecosystem-backbone/index.html
+++ b/docs/ecosystem-backbone/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-css/index.html b/docs/ecosystem-css/index.html
index 206f3ff44..0fa1301fb 100644
--- a/docs/ecosystem-css/index.html
+++ b/docs/ecosystem-css/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-cycle/index.html b/docs/ecosystem-cycle/index.html
index e963ae301..b047d3541 100644
--- a/docs/ecosystem-cycle/index.html
+++ b/docs/ecosystem-cycle/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-dojo/index.html b/docs/ecosystem-dojo/index.html
index e3430ded4..d8fb06875 100644
--- a/docs/ecosystem-dojo/index.html
+++ b/docs/ecosystem-dojo/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-ember/index.html b/docs/ecosystem-ember/index.html
index e178d70da..bac681976 100644
--- a/docs/ecosystem-ember/index.html
+++ b/docs/ecosystem-ember/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-html-web-components/index.html b/docs/ecosystem-html-web-components/index.html
index d058108be..c6f2b33c8 100644
--- a/docs/ecosystem-html-web-components/index.html
+++ b/docs/ecosystem-html-web-components/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-inferno/index.html b/docs/ecosystem-inferno/index.html
index 11323fb16..3d9b5a022 100644
--- a/docs/ecosystem-inferno/index.html
+++ b/docs/ecosystem-inferno/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-leaked-globals/index.html b/docs/ecosystem-leaked-globals/index.html
index d6d95edaf..0c8290ca7 100644
--- a/docs/ecosystem-leaked-globals/index.html
+++ b/docs/ecosystem-leaked-globals/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-preact/index.html b/docs/ecosystem-preact/index.html
index 0a33237de..51be1fc5e 100644
--- a/docs/ecosystem-preact/index.html
+++ b/docs/ecosystem-preact/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-react/index.html b/docs/ecosystem-react/index.html
index ff2940f72..f9797d6c5 100644
--- a/docs/ecosystem-react/index.html
+++ b/docs/ecosystem-react/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-riot/index.html b/docs/ecosystem-riot/index.html
index 7a30be68f..a6bdc1ea1 100644
--- a/docs/ecosystem-riot/index.html
+++ b/docs/ecosystem-riot/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-snowpack/index.html b/docs/ecosystem-snowpack/index.html
index 8438c66b1..680fc5c43 100644
--- a/docs/ecosystem-snowpack/index.html
+++ b/docs/ecosystem-snowpack/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-svelte/index.html b/docs/ecosystem-svelte/index.html
index c216dd6c5..c7ade7341 100644
--- a/docs/ecosystem-svelte/index.html
+++ b/docs/ecosystem-svelte/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-vite/index.html b/docs/ecosystem-vite/index.html
index dcbe14877..2adc4b09c 100644
--- a/docs/ecosystem-vite/index.html
+++ b/docs/ecosystem-vite/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem-vue/index.html b/docs/ecosystem-vue/index.html
index 1c199dcad..1a4ebe4c7 100644
--- a/docs/ecosystem-vue/index.html
+++ b/docs/ecosystem-vue/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ecosystem/index.html b/docs/ecosystem/index.html
index 7e6782d97..d46852533 100644
--- a/docs/ecosystem/index.html
+++ b/docs/ecosystem/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/examples/index.html b/docs/examples/index.html
index 63a7d9d46..d9a87b758 100644
--- a/docs/examples/index.html
+++ b/docs/examples/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/faq/index.html b/docs/faq/index.html
index 7f56aa0d4..5c96f5746 100644
--- a/docs/faq/index.html
+++ b/docs/faq/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/getting-started-overview/index.html b/docs/getting-started-overview/index.html
index cfcec762c..9a117fc7e 100644
--- a/docs/getting-started-overview/index.html
+++ b/docs/getting-started-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/glossary/index.html b/docs/glossary/index.html
index 7b7f7b574..500e345e8 100644
--- a/docs/glossary/index.html
+++ b/docs/glossary/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/index.html b/docs/index.html
index 5cbc7b8b3..30fd07211 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/layout-api/index.html b/docs/layout-api/index.html
index cd3b90ead..d7852e435 100644
--- a/docs/layout-api/index.html
+++ b/docs/layout-api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/layout-definition/index.html b/docs/layout-definition/index.html
index 886c4bd1c..eaeb8adb4 100644
--- a/docs/layout-definition/index.html
+++ b/docs/layout-definition/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/layout-overview/index.html b/docs/layout-overview/index.html
index 8faeb3149..882d4303c 100644
--- a/docs/layout-overview/index.html
+++ b/docs/layout-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/microfrontends-concept/index.html b/docs/microfrontends-concept/index.html
index a95543bec..ce3ea5d8f 100644
--- a/docs/microfrontends-concept/index.html
+++ b/docs/microfrontends-concept/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/migrating-existing-spas/index.html b/docs/migrating-existing-spas/index.html
index d262ae250..b5c8e65ad 100644
--- a/docs/migrating-existing-spas/index.html
+++ b/docs/migrating-existing-spas/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/module-types/index.html b/docs/module-types/index.html
index 48f95ee7a..6c58b2d6c 100644
--- a/docs/module-types/index.html
+++ b/docs/module-types/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/next/index.html b/docs/next/index.html
index 9061e4dd0..0c63026a3 100644
--- a/docs/next/index.html
+++ b/docs/next/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/parcels-api/index.html b/docs/parcels-api/index.html
index 37923fb85..7b251c2a3 100644
--- a/docs/parcels-api/index.html
+++ b/docs/parcels-api/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/parcels-overview/index.html b/docs/parcels-overview/index.html
index f985e9fe8..43766e931 100644
--- a/docs/parcels-overview/index.html
+++ b/docs/parcels-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/recommended-setup/index.html b/docs/recommended-setup/index.html
index 02d844f4a..edfdd701b 100644
--- a/docs/recommended-setup/index.html
+++ b/docs/recommended-setup/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/separating-applications/index.html b/docs/separating-applications/index.html
index f6ea5e792..a7bbb455f 100644
--- a/docs/separating-applications/index.html
+++ b/docs/separating-applications/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/shared-webpack-configs/index.html b/docs/shared-webpack-configs/index.html
index d24c90211..1f1e91427 100644
--- a/docs/shared-webpack-configs/index.html
+++ b/docs/shared-webpack-configs/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/single-spa-playground/index.html b/docs/single-spa-playground/index.html
index 336f1363b..21735691a 100644
--- a/docs/single-spa-playground/index.html
+++ b/docs/single-spa-playground/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/ssr-overview/index.html b/docs/ssr-overview/index.html
index 479876767..4a43eceaa 100644
--- a/docs/ssr-overview/index.html
+++ b/docs/ssr-overview/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/testing/e2e/index.html b/docs/testing/e2e/index.html
index 01ea51d12..24108ef96 100644
--- a/docs/testing/e2e/index.html
+++ b/docs/testing/e2e/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/testing/units/index.html b/docs/testing/units/index.html
index cd764157d..4b3145829 100644
--- a/docs/testing/units/index.html
+++ b/docs/testing/units/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/docs/videos/index.html b/docs/videos/index.html
index 046b1c690..8aaaadbc3 100644
--- a/docs/videos/index.html
+++ b/docs/videos/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/error/index.html b/error/index.html
index a3a80c0d5..d5d0775db 100644
--- a/error/index.html
+++ b/error/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/governance/index.html b/governance/index.html
index b7885cc12..ea83ff2ba 100644
--- a/governance/index.html
+++ b/governance/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/help/index.html b/help/index.html
index 936dd6af0..35b517d4e 100644
--- a/help/index.html
+++ b/help/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/index.html b/index.html
index 3d7429b31..0aaf75815 100644
--- a/index.html
+++ b/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/languages/index.html b/languages/index.html
index 998f8e950..a1ece9955 100644
--- a/languages/index.html
+++ b/languages/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/privacy/single-spa-inspector-privacy-policy/index.html b/privacy/single-spa-inspector-privacy-policy/index.html
index 59a4d73bf..4a46a15ef 100644
--- a/privacy/single-spa-inspector-privacy-policy/index.html
+++ b/privacy/single-spa-inspector-privacy-policy/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/search/index.html b/search/index.html
index 7f59b1b57..7edcf41b8 100644
--- a/search/index.html
+++ b/search/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/sponsors/index.html b/sponsors/index.html
index 5018cc4fe..498fe0901 100644
--- a/sponsors/index.html
+++ b/sponsors/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/users/index.html b/users/index.html
index 5e88e0c4f..13a51b506 100644
--- a/users/index.html
+++ b/users/index.html
@@ -14,7 +14,7 @@
-
+
diff --git a/versions/index.html b/versions/index.html
index fe7788a97..1946dd18d 100644
--- a/versions/index.html
+++ b/versions/index.html
@@ -14,7 +14,7 @@
-
+