From 9098d9aea24b268ee797eeb43b0be51f41e2a99a Mon Sep 17 00:00:00 2001 From: cha0s Date: Sat, 17 Feb 2024 16:22:35 +0000 Subject: [PATCH] 82afeaacfa804de710c7b25ee0964f9cb9d250e5 --- 404.html | 2 +- assets/js/57cdf011.a4fe0d6c.js | 1 + assets/js/57cdf011.bdedddcd.js | 1 - assets/js/72512343.2aff5fe2.js | 1 - assets/js/72512343.511f6346.js | 1 + assets/js/773fe5c0.83633f2c.js | 1 + assets/js/773fe5c0.8fa7c8a5.js | 1 - ...n.0f858b8f.js => runtime~main.00fa6e29.js} | 2 +- blog.html | 2 +- blog/archive.html | 2 +- blog/introducing-flecks.html | 2 +- blog/reimplementing-flecks-react.html | 2 +- blog/tags.html | 2 +- blog/tags/announcement.html | 2 +- blog/tags/education.html | 2 +- blog/tags/flecks.html | 2 +- blog/tags/introducing.html | 2 +- blog/tags/release.html | 2 +- docs.html | 2 +- docs/adding-flecks.html | 2 +- docs/building-your-application.html | 2 +- docs/building-your-fleck.html | 2 +- docs/category/generated-details.html | 2 +- docs/category/getting-started.html | 2 +- docs/category/guides.html | 2 +- docs/category/writing-your-flecks.html | 2 +- docs/cli.html | 2 +- docs/configuration.html | 2 +- docs/creating-a-fleck.html | 2 +- docs/database.html | 2 +- docs/docker.html | 2 +- docs/documentation.html | 2 +- docs/electron.html | 2 +- docs/environment.html | 2 +- docs/flecks/build-files.html | 2 +- docs/flecks/config.html | 8 +- docs/flecks/hooks.html | 121 ++++++++++-------- docs/flecks/todos.html | 9 +- docs/gathering.html | 2 +- docs/hooks.html | 2 +- docs/installation.html | 2 +- docs/ordering.html | 2 +- docs/platforms.html | 2 +- docs/react.html | 2 +- docs/redux.html | 2 +- docs/repl.html | 2 +- docs/sockets.html | 2 +- flecks.html | 2 +- index.html | 2 +- 49 files changed, 125 insertions(+), 99 deletions(-) create mode 100644 assets/js/57cdf011.a4fe0d6c.js delete mode 100644 assets/js/57cdf011.bdedddcd.js delete mode 100644 assets/js/72512343.2aff5fe2.js create mode 100644 assets/js/72512343.511f6346.js create mode 100644 assets/js/773fe5c0.83633f2c.js delete mode 100644 assets/js/773fe5c0.8fa7c8a5.js rename assets/js/{runtime~main.0f858b8f.js => runtime~main.00fa6e29.js} (97%) diff --git a/404.html b/404.html index d4a9b866..85f40391 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ Page Not Found | flecks - + diff --git a/assets/js/57cdf011.a4fe0d6c.js b/assets/js/57cdf011.a4fe0d6c.js new file mode 100644 index 00000000..a4dafd37 --- /dev/null +++ b/assets/js/57cdf011.a4fe0d6c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkflecks_docusaurus=self.webpackChunkflecks_docusaurus||[]).push([[944],{6586:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>c,metadata:()=>r,toc:()=>a});var l=n(5893),t=n(1151),i=n(9286);const c={title:"TODO list",description:"All the TODO items in this project."},o=void 0,r={id:"flecks/todos",title:"TODO list",description:"All the TODO items in this project.",source:"@site/docs/flecks/todos.mdx",sourceDirName:"flecks",slug:"/flecks/todos",permalink:"/flecks/docs/flecks/todos",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"TODO list",description:"All the TODO items in this project."},sidebar:"flecksSidebar",previous:{title:"Build files",permalink:"/flecks/docs/flecks/build-files"}},d={},a=[{value:"Extraneous?",id:"extraneous",level:2},{value:"This kills the pnpm. Let's use a real IPC channel.",id:"this-kills-the-pnpm-lets-use-a-real-ipc-channel",level:2},{value:"dynamic extensions",id:"dynamic-extensions",level:2}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",p:"p",strong:"strong",...(0,t.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.p,{children:"This page documents all the TODO items in this project."}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/default.eslint.config.js",children:["@flecks/",(0,l.jsx)(s.strong,{children:"build"}),(0,l.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,l.jsx)(s.code,{children:"/build/default.eslint.config.js"})]})]})}),"\n",(0,l.jsxs)(s.blockquote,{children:["\n",(0,l.jsx)(s.h2,{id:"extraneous",children:"Extraneous?"}),"\n",(0,l.jsx)(i.Z,{children:"node: "}),"\n"]}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.commands.js",children:["@flecks/",(0,l.jsx)(s.strong,{children:"build"}),(0,l.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,l.jsx)(s.code,{children:"/build/hooks/@flecks/build.commands.js"})]})]})}),"\n",(0,l.jsxs)(s.blockquote,{children:["\n",(0,l.jsx)(s.h2,{id:"this-kills-the-pnpm-lets-use-a-real-ipc-channel",children:"This kills the pnpm. Let's use a real IPC channel."}),"\n",(0,l.jsx)(i.Z,{children:"useFork: true"}),"\n"]}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/web.webpack.config.js",children:["@flecks/",(0,l.jsx)(s.strong,{children:"web"}),(0,l.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,l.jsx)(s.code,{children:"/build/web.webpack.config.js"})]})]})}),"\n",(0,l.jsxs)(s.blockquote,{children:["\n",(0,l.jsx)(s.h2,{id:"dynamic-extensions",children:"dynamic extensions"}),"\n",(0,l.jsxs)(i.Z,{children:["const styleExtensionsRegex = regexFromExtensions(\n['.css', '.sass', '.scss'].map((ext) => [ext, ",(0,l.jsx)(s.code,{children:".module${ext}"}),"]).flat(),\n);"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}}}]); \ No newline at end of file diff --git a/assets/js/57cdf011.bdedddcd.js b/assets/js/57cdf011.bdedddcd.js deleted file mode 100644 index ad38bdb6..00000000 --- a/assets/js/57cdf011.bdedddcd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkflecks_docusaurus=self.webpackChunkflecks_docusaurus||[]).push([[944],{6586:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>c,metadata:()=>r,toc:()=>a});var n=t(5893),l=t(1151),i=t(9286);const c={title:"TODO list",description:"All the TODO items in this project."},o=void 0,r={id:"flecks/todos",title:"TODO list",description:"All the TODO items in this project.",source:"@site/docs/flecks/todos.mdx",sourceDirName:"flecks",slug:"/flecks/todos",permalink:"/flecks/docs/flecks/todos",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"TODO list",description:"All the TODO items in this project."},sidebar:"flecksSidebar",previous:{title:"Build files",permalink:"/flecks/docs/flecks/build-files"}},d={},a=[{value:"This kills the pnpm. Let's use a real IPC channel.",id:"this-kills-the-pnpm-lets-use-a-real-ipc-channel",level:2},{value:"dynamic extensions",id:"dynamic-extensions",level:2}];function h(e){const s={a:"a",blockquote:"blockquote",code:"code",h2:"h2",p:"p",strong:"strong",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"This page documents all the TODO items in this project."}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.commands.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.commands.js"})]})]})}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsx)(s.h2,{id:"this-kills-the-pnpm-lets-use-a-real-ipc-channel",children:"This kills the pnpm. Let's use a real IPC channel."}),"\n",(0,n.jsx)(i.Z,{children:"useFork: true"}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/web.webpack.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/web.webpack.config.js"})]})]})}),"\n",(0,n.jsxs)(s.blockquote,{children:["\n",(0,n.jsx)(s.h2,{id:"dynamic-extensions",children:"dynamic extensions"}),"\n",(0,n.jsxs)(i.Z,{children:["const styleExtensionsRegex = regexFromExtensions(\n['.css', '.sass', '.scss'].map((ext) => [ext, ",(0,n.jsx)(s.code,{children:".module${ext}"}),"]).flat(),\n);"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,l.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}}}]); \ No newline at end of file diff --git a/assets/js/72512343.2aff5fe2.js b/assets/js/72512343.2aff5fe2.js deleted file mode 100644 index 157d9558..00000000 --- a/assets/js/72512343.2aff5fe2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkflecks_docusaurus=self.webpackChunkflecks_docusaurus||[]).push([[5679],{6057:(e,s,c)=>{c.r(s),c.d(s,{assets:()=>t,contentTitle:()=>d,default:()=>x,frontMatter:()=>i,metadata:()=>o,toc:()=>h});var n=c(5893),r=c(1151),l=c(7113);const i={title:"Hooks",description:"All the hooks in this project."},d=void 0,o={id:"flecks/hooks",title:"Hooks",description:"All the hooks in this project.",source:"@site/docs/flecks/hooks.mdx",sourceDirName:"flecks",slug:"/flecks/hooks",permalink:"/flecks/docs/flecks/hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Hooks",description:"All the hooks in this project."},sidebar:"flecksSidebar",previous:{title:"Generated details",permalink:"/flecks/docs/category/generated-details"},next:{title:"Fleck configuration",permalink:"/flecks/docs/flecks/config"}},t={},h=[{value:"@flecks/build.commands",id:"flecksbuildcommands",level:2},{value:"Example usage",id:"example-usage",level:3},{value:"program: Command",id:"program-command",level:3},{value:"@flecks/build.config",id:"flecksbuildconfig",level:2},{value:"Example usage",id:"example-usage-1",level:3},{value:"target: string",id:"target-string",level:3},{value:"config: Object",id:"config-object",level:3},{value:"env: Object",id:"env-object",level:3},{value:"argv: Object",id:"argv-object",level:3},{value:"@flecks/build.config.alter",id:"flecksbuildconfigalter",level:2},{value:"Example usage",id:"example-usage-2",level:3},{value:"configs: Object",id:"configs-object",level:3},{value:"env: Object",id:"env-object-1",level:3},{value:"argv: Object",id:"argv-object-1",level:3},{value:"@flecks/build.extensions",id:"flecksbuildextensions",level:2},{value:"Example usage",id:"example-usage-3",level:3},{value:"@flecks/build.files",id:"flecksbuildfiles",level:2},{value:"Example usage",id:"example-usage-4",level:3},{value:"@flecks/build.processAssets",id:"flecksbuildprocessassets",level:2},{value:"Example usage",id:"example-usage-5",level:3},{value:"target: string",id:"target-string-1",level:3},{value:"assets: Record<string, Source>",id:"assets-recordstring-source",level:3},{value:"compilation: Compilation",id:"compilation-compilation",level:3},{value:"@flecks/build.targets",id:"flecksbuildtargets",level:2},{value:"Example usage",id:"example-usage-6",level:3},{value:"@flecks/build.targets.alter",id:"flecksbuildtargetsalter",level:2},{value:"Example usage",id:"example-usage-7",level:3},{value:"targets: Set<string>",id:"targets-setstring",level:3},{value:"@flecks/core.babel",id:"fleckscorebabel",level:2},{value:"Example usage",id:"example-usage-8",level:3},{value:"@flecks/core.config",id:"fleckscoreconfig",level:2},{value:"Example usage",id:"example-usage-9",level:3},{value:"@flecks/core.gathered",id:"fleckscoregathered",level:2},{value:"Example usage",id:"example-usage-10",level:3},{value:"@flecks/core.hmr",id:"fleckscorehmr",level:2},{value:"Example usage",id:"example-usage-11",level:3},{value:"path: string",id:"path-string",level:3},{value:"updated: Module",id:"updated-module",level:3},{value:"@flecks/core.hmr.gathered",id:"fleckscorehmrgathered",level:2},{value:"Example usage",id:"example-usage-12",level:3},{value:"gathered: constructor",id:"gathered-constructor",level:3},{value:"hook: string",id:"hook-string",level:3},{value:"@flecks/core.hmr.gathered.class",id:"fleckscorehmrgatheredclass",level:2},{value:"Example usage",id:"example-usage-13",level:3},{value:"Class: constructor",id:"class-constructor",level:3},{value:"hook: string",id:"hook-string-1",level:3},{value:"@flecks/core.hmr.hook",id:"fleckscorehmrhook",level:2},{value:"Example usage",id:"example-usage-14",level:3},{value:"hook: string",id:"hook-string-2",level:3},{value:"path: string",id:"path-string-1",level:3},{value:"@flecks/core.priority",id:"fleckscorepriority",level:2},{value:"Example usage",id:"example-usage-15",level:3},{value:"graph: Digraph",id:"graph-digraph",level:3},{value:"hook: string",id:"hook-string-3",level:3},{value:"@flecks/core.registered",id:"fleckscoreregistered",level:2},{value:"Example usage",id:"example-usage-16",level:3},{value:"fleck: string",id:"fleck-string",level:3},{value:"M: Module",id:"m-module",level:3},{value:"@flecks/core.reload",id:"fleckscorereload",level:2},{value:"Example usage",id:"example-usage-17",level:3},{value:"fleck: string",id:"fleck-string-1",level:3},{value:"config: Object",id:"config-object-1",level:3},{value:"@flecks/core.starting",id:"fleckscorestarting",level:2},{value:"Example usage",id:"example-usage-18",level:3},{value:"@flecks/db.models",id:"flecksdbmodels",level:2},{value:"Example usage",id:"example-usage-19",level:3},{value:"@flecks/db.models.decorate",id:"flecksdbmodelsdecorate",level:2},{value:"Example usage",id:"example-usage-20",level:3},{value:"Model: constructor",id:"model-constructor",level:3},{value:"@flecks/docker.Dockerfile",id:"flecksdockerdockerfile",level:2},{value:"Example usage",id:"example-usage-21",level:3},{value:"dockerfile: string",id:"dockerfile-string",level:3},{value:"Returns string",id:"returns-string",level:3},{value:"@flecks/docker.containers",id:"flecksdockercontainers",level:2},{value:"Example usage",id:"example-usage-22",level:3},{value:"@flecks/docker.docker-compose.yml",id:"flecksdockerdocker-composeyml",level:2},{value:"Example usage",id:"example-usage-23",level:3},{value:"config: Object",id:"config-object-2",level:3},{value:"@flecks/electron/server.browserWindowOptions.alter",id:"fleckselectronserverbrowserwindowoptionsalter",level:2},{value:"Example usage",id:"example-usage-24",level:3},{value:"browserWindowOptions: BrowserWindowConstructorOptions",id:"browserwindowoptions-browserwindowconstructoroptions",level:3},{value:"@flecks/electron/server.extensions",id:"fleckselectronserverextensions",level:2},{value:"Example usage",id:"example-usage-25",level:3},{value:"installer: Installer",id:"installer-installer",level:3},{value:"@flecks/electron/server.initialize",id:"fleckselectronserverinitialize",level:2},{value:"Example usage",id:"example-usage-26",level:3},{value:"electron: Electron",id:"electron-electron",level:3},{value:"@flecks/electron/server.window",id:"fleckselectronserverwindow",level:2},{value:"Example usage",id:"example-usage-27",level:3},{value:"win: Electron.BrowserWindow",id:"win-electronbrowserwindow",level:3},{value:"@flecks/fleck.packageJson",id:"flecksfleckpackagejson",level:2},{value:"Example usage",id:"example-usage-28",level:3},{value:"json: Object",id:"json-object",level:3},{value:"compilation: Compilation",id:"compilation-compilation-1",level:3},{value:"@flecks/passport-react.strategies",id:"fleckspassport-reactstrategies",level:2},{value:"Example usage",id:"example-usage-29",level:3},{value:"@flecks/passport.strategies",id:"fleckspassportstrategies",level:2},{value:"Example usage",id:"example-usage-30",level:3},{value:"passport: Passport",id:"passport-passport",level:3},{value:"@flecks/react.providers",id:"flecksreactproviders",level:2},{value:"Example usage",id:"example-usage-31",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest",level:3},{value:"Returns [ReactContextProvider<Props>, Props]",id:"returns-reactcontextproviderprops-props",level:3},{value:"@flecks/react.roots",id:"flecksreactroots",level:2},{value:"Example usage",id:"example-usage-32",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest-1",level:3},{value:"@flecks/redux.effects",id:"flecksreduxeffects",level:2},{value:"Example usage",id:"example-usage-33",level:3},{value:"@flecks/redux.reducers",id:"flecksreduxreducers",level:2},{value:"Example usage",id:"example-usage-34",level:3},{value:"@flecks/redux.slices",id:"flecksreduxslices",level:2},{value:"Example usage",id:"example-usage-35",level:3},{value:"@flecks/redux.store",id:"flecksreduxstore",level:2},{value:"Example usage",id:"example-usage-36",level:3},{value:"options: Object",id:"options-object",level:3},{value:"@flecks/repl.commands",id:"flecksreplcommands",level:2},{value:"Example usage",id:"example-usage-37",level:3},{value:"@flecks/repl.context",id:"flecksreplcontext",level:2},{value:"Example usage",id:"example-usage-38",level:3},{value:"@flecks/server.runtime",id:"flecksserverruntime",level:2},{value:"Example usage",id:"example-usage-39",level:3},{value:"@flecks/server.test.socket",id:"flecksservertestsocket",level:2},{value:"Example usage",id:"example-usage-40",level:3},{value:"action: Object",id:"action-object",level:3},{value:"socket: SocketWrapper",id:"socket-socketwrapper",level:3},{value:"@flecks/server.up",id:"flecksserverup",level:2},{value:"Example usage",id:"example-usage-41",level:3},{value:"@flecks/session.config",id:"fleckssessionconfig",level:2},{value:"Example usage",id:"example-usage-42",level:3},{value:"@flecks/socket.client",id:"fleckssocketclient",level:2},{value:"Example usage",id:"example-usage-43",level:3},{value:"@flecks/socket.intercom",id:"fleckssocketintercom",level:2},{value:"Example usage",id:"example-usage-44",level:3},{value:"@flecks/socket.packets",id:"fleckssocketpackets",level:2},{value:"Example usage",id:"example-usage-45",level:3},{value:"@flecks/socket.packets.decorate",id:"fleckssocketpacketsdecorate",level:2},{value:"Example usage",id:"example-usage-46",level:3},{value:"Packet: constructor",id:"packet-constructor",level:3},{value:"@flecks/socket.server",id:"fleckssocketserver",level:2},{value:"Example usage",id:"example-usage-47",level:3},{value:"@flecks/socket/server.connect",id:"fleckssocketserverconnect",level:2},{value:"Example usage",id:"example-usage-48",level:3},{value:"socket: ServerSocket",id:"socket-serversocket",level:3},{value:"@flecks/socket/server.io",id:"fleckssocketserverio",level:2},{value:"Example usage",id:"example-usage-49",level:3},{value:"io: SocketIo",id:"io-socketio",level:3},{value:"@flecks/socket/server.request.socket",id:"fleckssocketserverrequestsocket",level:2},{value:"Example usage",id:"example-usage-50",level:3},{value:"@flecks/web.config",id:"fleckswebconfig",level:2},{value:"Example usage",id:"example-usage-51",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest-2",level:3},{value:"@flecks/web.routes",id:"fleckswebroutes",level:2},{value:"Example usage",id:"example-usage-52",level:3},{value:"@flecks/web/client.up",id:"fleckswebclientup",level:2},{value:"Example usage",id:"example-usage-53",level:3},{value:"container: Element",id:"container-element",level:3},{value:"@flecks/web/server.request.route",id:"fleckswebserverrequestroute",level:2},{value:"Example usage",id:"example-usage-54",level:3},{value:"@flecks/web/server.request.socket",id:"fleckswebserverrequestsocket",level:2},{value:"Example usage",id:"example-usage-55",level:3},{value:"@flecks/web/server.stream.html",id:"fleckswebserverstreamhtml",level:2},{value:"Example usage",id:"example-usage-56",level:3},{value:"stream: stream.Readable",id:"stream-streamreadable",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest-3",level:3},{value:"@flecks/web/server.up",id:"fleckswebserverup",level:2},{value:"Example usage",id:"example-usage-57",level:3}];function a(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"This page documents all the hooks in this project."}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildcommands",children:(0,n.jsx)(s.code,{children:"@flecks/build.commands"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define CLI commands."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.commands': (program, flecks) => {\n return {\n // So this could be invoked like:\n // npx flecks something -t --blow-up blah\n something: {\n action: (...args) => {\n // Run the command...\n },\n args: [\n program.createArgument('', 'some argument'),\n ],\n description: 'This command does tests and also blows up',\n options: [\n program.createOption('-t, --test', 'Do a test'),\n program.createOption('-b, --blow-up', 'Blow up instead of running the command'),\n ],\n },\n };\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"program-command",children:(0,n.jsxs)("code",{children:["program: ",(0,n.jsx)(s.a,{href:"https://github.com/tj/commander.js/tree/master#declaring-program-variable",children:"Command"})]})}),"\n",(0,n.jsxs)("p",{children:["The ",(0,n.jsx)(s.a,{href:"https://github.com/tj/commander.js",children:"Commander.js"})," program."]}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.commands.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.commands.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/dox/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"dox"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:7:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/cli.js#L44",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/cli.js:44:25"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildconfig",children:(0,n.jsx)(s.code,{children:"@flecks/build.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Hook into webpack configuration."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-1",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.config': (target, config, env, argv) => {\n if ('something' === target) {\n if ('production' === argv.mode) {\n config.plugins.push(new SomePlugin());\n }\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"target-string",children:(0,n.jsx)("code",{children:"target: string"})}),"\n",(0,n.jsxs)("p",{children:["The build target; e.g. ",(0,n.jsx)(s.code,{children:"server"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"config-object",children:(0,n.jsx)("code",{children:"config: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack configuration."}),"\n",(0,n.jsx)(s.h3,{id:"env-object",children:(0,n.jsx)("code",{children:"env: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack environment."}),"\n",(0,n.jsx)(s.h3,{id:"argv-object",children:(0,n.jsx)("code",{children:"argv: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack commandline arguments."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/build/flecks.bootstrap.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:23:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L97",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:97:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildconfigalter",children:(0,n.jsx)(s.code,{children:"@flecks/build.config.alter"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Alter build configurations after they have been hooked."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-2",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.config.alter': (configs) => {\n // Maybe we want to do something if a target exists..?\n if (configs.someTarget) {\n configs.plugins.push('...');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"configs-object",children:(0,n.jsx)("code",{children:"configs: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack configurations keyed by target."}),"\n",(0,n.jsx)(s.h3,{id:"env-object-1",children:(0,n.jsx)("code",{children:"env: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack environment."}),"\n",(0,n.jsx)(s.h3,{id:"argv-object-1",children:(0,n.jsx)("code",{children:"argv: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack commandline arguments."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.config.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.alter.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/build/flecks.bootstrap.js#L30",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:30:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.config.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.alter.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.config.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.alter.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L100",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:100:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildextensions",children:(0,n.jsx)(s.code,{children:"@flecks/build.extensions"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeflat",children:"invokeFlat"})})}),"\n",(0,n.jsx)(s.p,{children:"Add implicitly resolved extensions."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-3",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.extensions': () => ['.coffee']\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.extensions.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.extensions.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/build/flecks.bootstrap.js#L29",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:29:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/webpack.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/webpack.js:23:21"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildfiles",children:(0,n.jsx)(s.code,{children:"@flecks/build.files"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsxs)(s.p,{children:["Register build files. See ",(0,n.jsx)(s.a,{href:"./build-files",children:"the build files page"})," for more details."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-4",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.files': () => [\n /**\n * If you document your build files like this, documentation will be automatically generated.\n */\n '.myrc.js',\n ]\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.files.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.files.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.files.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.files.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.files.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.files.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L143",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:143:19"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildprocessassets",children:(0,n.jsx)(s.code,{children:"@flecks/build.processAssets"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Process assets during a compilation."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-5",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.processAssets': (target, assets, compilation) => {\n if (this.myTargets.includes(target)) {\n assets['my-file.js'] = new compilation.compiler.webpack.sources.RawSource('content');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"target-string-1",children:(0,n.jsx)("code",{children:"target: string"})}),"\n",(0,n.jsx)("p",{children:"The build target."}),"\n",(0,n.jsx)(s.h3,{id:"assets-recordstring-source",children:(0,n.jsx)("code",{children:"assets: Record"})}),"\n",(0,n.jsx)("p",{children:"The assets."}),"\n",(0,n.jsx)(s.h3,{id:"compilation-compilation",children:(0,n.jsxs)("code",{children:["compilation: ",(0,n.jsx)(s.a,{href:"https://webpack.js.org/api/compilation-object/",children:"Compilation"})]})}),"\n",(0,n.jsx)("p",{children:"The webpack compilation."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L20",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:20:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/process-assets.js#L24",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/process-assets.js:24:16"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildtargets",children:(0,n.jsx)(s.code,{children:"@flecks/build.targets"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Define build targets."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-6",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.targets': () => ['sometarget']\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L16",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:16:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.targets.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.targets.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L258",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:258:20"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildtargetsalter",children:(0,n.jsx)(s.code,{children:"@flecks/build.targets.alter"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Alter defined build targets."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-7",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.targets.alter': (targets) => {\n targets.delete('some-target');\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"targets-setstring",children:(0,n.jsx)("code",{children:"targets: Set"})}),"\n",(0,n.jsx)("p",{children:"The targets to build."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.targets.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.alter.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.targets.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.alter.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L280",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:280:4"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorebabel",children:(0,n.jsx)(s.code,{children:"@flecks/core.babel"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Babel configuration."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-8",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.babel': () => ({\n plugins: ['...'],\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/build/flecks.bootstrap.js#L17",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:17:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L49",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:49:15"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscoreconfig",children:(0,n.jsx)(s.code,{children:"@flecks/core.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokefleck",children:"invokeFleck"})})}),"\n",(0,n.jsxs)(s.p,{children:["Define configuration. See ",(0,n.jsx)(s.a,{href:"./config",children:"the configuration page"})," for more details."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-9",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.config': () => ({\n whatever: 'configuration',\n your: 1337,\n fleck: 'needs',\n /**\n * Also, comments like this will be used to automatically generate documentation.\n */\n though: 'you should keep the values serializable',\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/core.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/core.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.bootstrap.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/db/src/index.js#L2",children:["@flecks/",(0,n.jsx)(s.strong,{children:"db"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:2:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/flecks.bootstrap.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:10:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/dox/build/flecks.bootstrap.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"dox"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:5:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/build/flecks.bootstrap.js#L6",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:6:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:8:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:8:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/index.js#L15",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:15:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/core.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/core.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/core.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/core.config.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L106",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:106:9"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/runtime.js#L17",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/runtime.js:17:39"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscoregathered",children:(0,n.jsx)(s.code,{children:"@flecks/core.gathered"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Let flecks gather for you."}),"\n",(0,n.jsxs)(s.p,{children:["See ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-10",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.gathered': () => ({\n // If this hook is implemented by a fleck called `@some/fleck`, then:\n //\n // This is equivalent to flecks.gather('@some/fleck.somethings'):\n somethings: {},\n //\n // This is equivalent to flecks.gather('@some/fleck.others', {typeProperty: 'name'}):\n others: {\n typeProperty: 'name',\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/db/src/index.js#L30",children:["@flecks/",(0,n.jsx)(s.strong,{children:"db"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:30:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/index.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:11:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L554",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:554:28"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmr",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr"})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a module is HMR'd. Throw to abort hot reload and restart application.\nMust be synchronous."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-11",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr': (path, updated) => {\n if ('my-fleck' === path) {\n updated.doSomething();\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"path-string",children:(0,n.jsx)("code",{children:"path: string"})}),"\n",(0,n.jsx)("p",{children:"The path of the fleck"}),"\n",(0,n.jsx)(s.h3,{id:"updated-module",children:(0,n.jsx)("code",{children:"updated: Module"})}),"\n",(0,n.jsx)("p",{children:"The updated module."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/src/hooks/@flecks/core.hmr.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/hooks/@flecks/core.hmr.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L969",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:969:4"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmrgathered",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr.gathered"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a gathered set is HMR'd."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-12",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr.gathered': (gathered, hook) => {\n // Do something with the gathered set...\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"gathered-constructor",children:(0,n.jsx)("code",{children:"gathered: constructor"})}),"\n",(0,n.jsx)("p",{children:"The gathered set."}),"\n",(0,n.jsx)(s.h3,{id:"hook-string",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsxs)("p",{children:["The gather hook; e.g. ",(0,n.jsx)(s.code,{children:"@flecks/db.models"}),"."]}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L1039",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:1039:12"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmrgatheredclass",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr.gathered.class"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a gathered class is HMR'd."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-13",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr.gathered.class': (Class, hook) => {\n // Do something with Class...\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"class-constructor",children:(0,n.jsx)("code",{children:"Class: constructor"})}),"\n",(0,n.jsx)("p",{children:"The class."}),"\n",(0,n.jsx)(s.h3,{id:"hook-string-1",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsxs)("p",{children:["The gather hook; e.g. ",(0,n.jsx)(s.code,{children:"@flecks/db.models"}),"."]}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L1037",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:1037:14"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmrhook",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr.hook"})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a hook is HMR'd. Throw to abort hot reload and restart application.\nMust be synchronous."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-14",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr.hook': (hook, path) => {\n if ('@my/fleck.some.hook' === hook) {\n throw new Error('hook too volatile, restart!');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"hook-string-2",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsx)("p",{children:"The hook that was updated."}),"\n",(0,n.jsx)(s.h3,{id:"path-string-1",children:(0,n.jsx)("code",{children:"path: string"})}),"\n",(0,n.jsx)("p",{children:"The path of the fleck implementing the updated hook."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/client.js#L2",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client.js:2:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L979",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:979:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorepriority",children:(0,n.jsx)(s.code,{children:"@flecks/core.priority"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when flecks is building a fleck dependency graph."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-15",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.priority': (graph, hook) => {\n // Make `@flecks/socket/server`'s `@flecks/server.up` implementation depend on\n // `@flecks/db/server`'s:\n if ('@flecks/server.up' === hook) {\n graph.addDependency('@flecks/socket/server', '@flecks/db/server');\n // Remove a dependency.\n graph.removeDependency('@flecks/socket/server', '@flecks/db/server');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"graph-digraph",children:(0,n.jsx)("code",{children:"graph: Digraph"})}),"\n",(0,n.jsx)("p",{children:"The dependency graph."}),"\n",(0,n.jsx)(s.h3,{id:"hook-string-3",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsxs)("p",{children:["The hook; e.g. ",(0,n.jsx)(s.code,{children:"@flecks/server.up"}),"."]}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/session/server.js#L14",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/session/server.js:14:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L473",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:473:4"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscoreregistered",children:(0,n.jsx)(s.code,{children:"@flecks/core.registered"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a fleck is registered."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-16",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.registered': (fleck, M) => {\n if ('@something/or-other' === fleck) {\n doSomethingWith(M);\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"fleck-string",children:(0,n.jsx)("code",{children:"fleck: string"})}),"\n",(0,n.jsx)("p",{}),"\n",(0,n.jsx)(s.h3,{id:"m-module",children:(0,n.jsx)("code",{children:"M: Module"})}),"\n",(0,n.jsx)("p",{}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L91",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:91:6"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorereload",children:(0,n.jsx)(s.code,{children:"@flecks/core.reload"})}),"\n",(0,n.jsxs)(s.p,{children:["Invoked when ",(0,n.jsx)(s.code,{children:"flecks.yml"})," is hot reloaded. Throw to abort hot reload and restart application.\nMust be synchronous."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-17",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.reload': (fleck, config, flecks) => {\n if ('i-care-about' === fleck) {\n if (flecks.get(`${fleck}.volatile`) !== config.volatile) {\n throw new Error('Changes too volatile');\n }\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"fleck-string-1",children:(0,n.jsx)("code",{children:"fleck: string"})}),"\n",(0,n.jsx)("p",{children:"The fleck whose config changed."}),"\n",(0,n.jsx)(s.h3,{id:"config-object-1",children:(0,n.jsx)("code",{children:"config: Object"})}),"\n",(0,n.jsx)("p",{children:"The new config."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/src/hooks/@flecks/core.hmr.js#L24",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/hooks/@flecks/core.hmr.js:24:12"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorestarting",children:(0,n.jsx)(s.code,{children:"@flecks/core.starting"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when the application is starting."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-18",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.starting': () => {\n console.log('starting!');\n }\n};\n"})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdbmodels",children:(0,n.jsx)(s.code,{children:"@flecks/db.models"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Gather database models."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-19",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/db.models': Flecks.provide(require.context('./models', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:8:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdbmodelsdecorate",children:(0,n.jsx)(s.code,{children:"@flecks/db.models.decorate"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Decorate database models."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-20",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/db.models.decorate': Flecks.decorate(require.context('./models/decorators', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"model-constructor",children:(0,n.jsx)("code",{children:"Model: constructor"})}),"\n",(0,n.jsx)("p",{children:"The model to decorate."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local/src/server/index.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:7:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdockerdockerfile",children:(0,n.jsx)(s.code,{children:"@flecks/docker.Dockerfile"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-21",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/docker.Dockerfile': (dockerfile) => (\n dockerfile.replace('DEBUG=*', 'DEBUG=*,-*:silly')\n )\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"dockerfile-string",children:(0,n.jsx)("code",{children:"dockerfile: string"})}),"\n",(0,n.jsx)("p",{children:"The content of the Dockerfile."}),"\n",(0,n.jsxs)(s.h3,{id:"returns-string",children:["Returns ",(0,n.jsx)(s.code,{children:"string"})]}),"\n",(0,n.jsx)("p",{children:"The new content of the Dockerfile."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/generate.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/generate.js:19:9"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdockercontainers",children:(0,n.jsx)(s.code,{children:"@flecks/docker.containers"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define docker containers."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-22",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/docker.containers': () => ({\n someContainer: {\n // Environment variables.\n environment: {\n SOME_CONTAINER_VAR: 'hello',\n },\n // The docker image.\n image: 'some-image:latest',\n // Some container path you'd like to persist. Flecks handles the host path.\n mount: '/some/container/path',\n // Expose ports.\n ports: {3000: 3000},\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/db/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"db"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/build/flecks.bootstrap.js#L14",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:14:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/server.js#L33",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:33:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/generate.js#L39",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/generate.js:39:27"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/src/server.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:8:29"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksdockerdocker-composeyml",children:(0,n.jsx)(s.code,{children:"@flecks/docker.docker-compose.yml"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-23",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/docker.docker-compose.yml': (config) => {\n config.version = '3.1';\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"config-object-2",children:(0,n.jsx)("code",{children:"config: Object"})}),"\n",(0,n.jsx)("p",{children:"The object representing the docker compose configuration."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/generate.js#L72",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/generate.js:72:8"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverbrowserwindowoptionsalter",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.browserWindowOptions.alter"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Alter the options for initialization of the Electron browser window."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-24",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.browserWindowOptions.alter': (browserWindowOptions) => {\n browserWindowOptions.icon = 'cute-kitten.png';\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"browserwindowoptions-browserwindowconstructoroptions",children:(0,n.jsxs)("code",{children:["browserWindowOptions: ",(0,n.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/structures/browser-window-options",children:"BrowserWindowConstructorOptions"})]})}),"\n",(0,n.jsx)("p",{children:"The options."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:10:8"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverextensions",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.extensions"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeflat",children:"invokeFlat"})})}),"\n",(0,n.jsx)(s.p,{children:"Extensions to install."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-25",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.extensions': (installer) => [\n // Some defaults provided...\n installer.BACKBONE_DEBUGGER,\n // By ID (Tamper Monkey):\n 'dhdgffkkebhmkfjojejmpbldmpobfkfo',\n ]\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"installer-installer",children:(0,n.jsxs)("code",{children:["installer: ",(0,n.jsx)(s.a,{href:"https://github.com/MarshallOfSound/electron-devtools-installer",children:"Installer"})]})}),"\n",(0,n.jsx)("p",{children:"The installer."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/server.js#L6",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:6:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/server.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:11:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L46",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:46:11"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverinitialize",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.initialize"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when electron is initializing."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-26",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.initialize': (electron) => {\n electron.app.on('will-quit', () => {\n // ...\n });\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"electron-electron",children:(0,n.jsx)("code",{children:"electron: Electron"})}),"\n",(0,n.jsx)("p",{children:"The electron module."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:19:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L70",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:70:14"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverwindow",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.window"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a window is created"}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-27",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.window': (win) => {\n win.maximize();\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"win-electronbrowserwindow",children:(0,n.jsx)("code",{children:"win: Electron.BrowserWindow"})}),"\n",(0,n.jsxs)("p",{children:["The electron browser window. See: ",(0,n.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/browser-window",children:"https://www.electronjs.org/docs/latest/api/browser-window"})]}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L39",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:39:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L15",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:15:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksfleckpackagejson",children:(0,n.jsx)(s.code,{children:"@flecks/fleck.packageJson"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Process the ",(0,n.jsx)(s.code,{children:"package.json"})," for a built fleck."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-28",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/fleck.packageJson': (json, compilation) => {\n json.files.push('something');\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"json-object",children:(0,n.jsx)("code",{children:"json: Object"})}),"\n",(0,n.jsx)("p",{children:"The JSON."}),"\n",(0,n.jsx)(s.h3,{id:"compilation-compilation-1",children:(0,n.jsxs)("code",{children:["compilation: ",(0,n.jsx)(s.a,{href:"https://webpack.js.org/api/compilation-object/",children:"Compilation"})]})}),"\n",(0,n.jsx)("p",{children:"The webpack compilation."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/fleck.packageJson.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/fleck.packageJson.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:23:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckspassport-reactstrategies",children:(0,n.jsx)(s.code,{children:"@flecks/passport-react.strategies"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeunique",children:"invokeMergeUnique"})})}),"\n",(0,n.jsx)(s.p,{children:"Define React components for login strategies."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-29",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/passport-react.strategies': () => ({\n MyService: SomeBeautifulComponent,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local-react/src/index.js#L6",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local-react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:6:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-react/src/login.jsx#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/login.jsx:11:36"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckspassportstrategies",children:(0,n.jsx)(s.code,{children:"@flecks/passport.strategies"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Define passport login strategies. See: ",(0,n.jsx)(s.a,{href:"https://www.passportjs.org/concepts/authentication/strategies/",children:"https://www.passportjs.org/concepts/authentication/strategies/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-30",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/passport.strategies': (passport) => ({\n MyService: SomeStrategy,\n })\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"passport-passport",children:(0,n.jsx)("code",{children:"passport: Passport"})}),"\n",(0,n.jsx)("p",{children:"The passport instance."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local/src/server/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:8:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L44",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:44:26"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreactproviders",children:(0,n.jsx)(s.code,{children:"@flecks/react.providers"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define React Providers."}),"\n",(0,n.jsxs)(s.p,{children:["Note: ",(0,n.jsx)(s.code,{children:"req"})," will be only be defined when server-side rendering."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-31",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/react.providers': (req) => {\n return req ? serverSideProvider(req) : [SomeContext.Provider, {value: 'whatever'}];\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsxs)(s.h3,{id:"returns-reactcontextproviderprops-props",children:["Returns ",(0,n.jsx)(s.code,{children:"[ReactContextProvider, Props]"})]}),"\n",(0,n.jsxs)("p",{children:["An array where the first element is a React\ncontext provider and the second element is the ",(0,n.jsx)(s.code,{children:"props"})," passed to the context provider."]}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react-redux/src/client.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react-redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client.js:5:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react-redux/src/server.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react-redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:5:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/client.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/client.js:7:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/server.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/server.js:4:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/root.js#L15",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/root.js:15:26"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreactroots",children:(0,n.jsx)(s.code,{children:"@flecks/react.roots"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Define root-level React components that are mounted as siblings on ",(0,n.jsx)(s.code,{children:"#main"}),".\nNote: ",(0,n.jsx)(s.code,{children:"req"})," will be only be defined when server-side rendering."]}),"\n",(0,n.jsx)(s.p,{children:"Return either a React component or an array whose elements must either be a React component\nor an array of two elements where the first element is the component and the second element\nis the props passed to the component."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-32",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/react.roots': (req) => {\n // Note that we're not returning ``, but `Component`.\n return [\n Component,\n [SomeOtherComponent, {prop: 'value'}]\n ];\n // You can also just:\n return Component;\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest-1",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/root.js#L13",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/root.js:13:22"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxeffects",children:(0,n.jsx)(s.code,{children:"@flecks/redux.effects"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define side-effects to run against Redux actions."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-33",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.effects': () => ({\n someActionName: (store, action) => {\n // Runs when `someActionName` actions are dispatched.\n },\n })\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/store/middleware/effects.js#L2",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/store/middleware/effects.js:2:24"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxreducers",children:(0,n.jsx)(s.code,{children:"@flecks/redux.reducers"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define root-level reducers for the Redux store."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-34",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.reducers': () => {\n return (state, action) => {\n // Whatever you'd like.\n return state;\n };\n }\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/store/create-reducer.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/store/create-reducer.js:5:23"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxslices",children:(0,n.jsx)(s.code,{children:"@flecks/redux.slices"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define Redux slices."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://redux-toolkit.js.org/api/createSlice",children:"https://redux-toolkit.js.org/api/createSlice"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-35",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.slices': () => {\n const something = createSlice(\n // ...\n );\n return {\n something: something.reducer,\n };\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/index.js#L22",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:22:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/index.js:8:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:9:27"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/server.js#L13",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:13:25"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxstore",children:(0,n.jsx)(s.code,{children:"@flecks/redux.store"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Modify Redux store configuration."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-36",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.store': (options) => {\n options.enhancers.splice(someIndex, 1);\n options.middleware.push(mySpecialMiddleware);\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"options-object",children:(0,n.jsx)("code",{children:"options: Object"})}),"\n",(0,n.jsx)("p",{children:"A mutable object with keys for enhancers and middleware."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/index.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/index.js:11:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L18",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:18:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/store/index.js#L17",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/store/index.js:17:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreplcommands",children:(0,n.jsx)(s.code,{children:"@flecks/repl.commands"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define REPL commands."}),"\n",(0,n.jsx)(s.p,{children:"Note: commands will be prefixed with a period in the Node REPL."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-37",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/repl.commands': () => ({\n someCommand: (...args) => {\n // args are passed from the Node REPL. So, you could invoke it like:\n // .someCommand foo bar\n // and `args` would be `['foo', 'bar']`.\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local/src/server/index.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:23:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/src/repl.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/repl.js:23:23"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreplcontext",children:(0,n.jsx)(s.code,{children:"@flecks/repl.context"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Provide global context to the REPL."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-38",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/repl.context': () => {\n // Now you'd be able to do like:\n // `node> someValue;`\n // and the REPL would evaluate it to `'foobar'`.\n return {\n someValue: 'foobar',\n };\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L62",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:62:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/server.js#L34",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:34:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/src/repl.js#L15",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/repl.js:15:13"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksserverruntime",children:(0,n.jsx)(s.code,{children:"@flecks/server.runtime"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Pass information to the runtime."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-39",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/server.runtime': async () => ({\n something: '...',\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/server.runtime.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/server.runtime.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/runtime.js#L68",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/runtime.js:68:13"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksservertestsocket",children:(0,n.jsx)(s.code,{children:"@flecks/server.test.socket"})}),"\n",(0,n.jsx)(s.p,{children:"Respond to server test socket actions."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-40",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/server.test.socket': (action, socket) => {\n const {meta, payload, type} = action;\n switch (type) {\n case 'my.custom.action':\n socket.write(JSON.stringify({\n meta,\n payload: 'my-test-response',\n }));\n break;\n default:\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"action-object",children:(0,n.jsx)("code",{children:"action: Object"})}),"\n",(0,n.jsx)("p",{children:"The action."}),"\n",(0,n.jsx)(s.h3,{id:"socket-socketwrapper",children:(0,n.jsx)("code",{children:"socket: SocketWrapper"})}),"\n",(0,n.jsx)("p",{children:"The socket."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L35",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:35:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/src/server/hooks/@flecks/server.up.js#L36",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/hooks/@flecks/server.up.js:36:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksserverup",children:(0,n.jsx)(s.code,{children:"@flecks/server.up"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define sequential actions to run when the server comes up."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-41",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/server.up': async () => {\n await youCanDoAsyncThingsHere();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/src/server.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L67",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:67:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L29",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:29:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/server.js#L37",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:37:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/src/server.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L38",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:38:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L53",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:53:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/src/entry.js#L29",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/entry.js:29:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssessionconfig",children:(0,n.jsx)(s.code,{children:"@flecks/session.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Configure the session. See: ",(0,n.jsx)(s.a,{href:"https://github.com/expressjs/session#sessionoptions",children:"https://github.com/expressjs/session#sessionoptions"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-42",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/session.config': async () => ({\n saveUninitialized: true,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/session/server.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/session/server.js:19:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L44",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:44:15"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketclient",children:(0,n.jsx)(s.code,{children:"@flecks/socket.client"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Modify Socket.io client configuration."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://socket.io/docs/v4/client-options/",children:"https://socket.io/docs/v4/client-options/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-43",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.client': () => ({\n timeout: Infinity,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/client/index.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:10:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/client/socket.js#L34",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/socket.js:34:17"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketintercom",children:(0,n.jsx)(s.code,{children:"@flecks/socket.intercom"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define server-side intercom channels."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-44",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.intercom': (req) => ({\n // Assuming `@my/fleck` implemented this hook, this could be called like:\n // `const result = await req.intercom('@my/fleck.key', payload)`.\n // `result` will be an `n`-length array, where `n` is the number of server instances. Each\n // element in the array will be the result of `someServiceSpecificInformation()` running\n // against that server instance.\n key: async (payload, server) => {\n return someServiceSpecificInformation();\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L53",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:53:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L26",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:26:26"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketpackets",children:(0,n.jsx)(s.code,{children:"@flecks/socket.packets"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Gather socket packets."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-45",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.packets': Flecks.provide(require.context('./packets', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/index.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:23:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:8:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/index.js#L16",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:16:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketpacketsdecorate",children:(0,n.jsx)(s.code,{children:"@flecks/socket.packets.decorate"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Decorate socket packets."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-46",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.packets.decorate': Flecks.decorate(require.context('./packets/decorators', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"packet-constructor",children:(0,n.jsx)("code",{children:"Packet: constructor"})}),"\n",(0,n.jsx)("p",{children:"The packet to decorate."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L22",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:22:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserver",children:(0,n.jsx)(s.code,{children:"@flecks/socket.server"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Modify Socket.io server configuration."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://socket.io/docs/v4/server-options/",children:"https://socket.io/docs/v4/server-options/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-47",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.server': () => ({\n pingTimeout: Infinity,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/session/server.js#L25",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/session/server.js:25:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/index.js#L14",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:14:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L46",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:46:15"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserverconnect",children:(0,n.jsx)(s.code,{children:"@flecks/socket/server.connect"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Do something with a connecting socket."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-48",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket/server.connect': (socket) => {\n socket.on('disconnect', () => {\n // ...\n });\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"socket-serversocket",children:(0,n.jsxs)("code",{children:["socket: ",(0,n.jsx)(s.a,{href:"https://github.com/cha0s/flecks/blob/master/packages/socket/src/server/socket.js",children:"ServerSocket"})]})}),"\n",(0,n.jsx)("p",{children:"The connecting socket."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L86",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:86:4"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserverio",children:(0,n.jsx)(s.code,{children:"@flecks/socket/server.io"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Do something with the Socket.IO instance."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://socket.io/docs/v4/server-instance/",children:"https://socket.io/docs/v4/server-instance/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-49",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:'export const hooks = {\n \'@flecks/socket/server.io\': (io) => {\n io.engine.on("headers", (headers, req) => {\n headers["test"] = "789";\n });\n }\n};\n'})}),"\n",(0,n.jsx)(s.h3,{id:"io-socketio",children:(0,n.jsx)("code",{children:"io: SocketIo"})}),"\n",(0,n.jsx)("p",{children:"The Socket.IO server instance."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L51",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:51:10"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserverrequestsocket",children:(0,n.jsx)(s.code,{children:"@flecks/socket/server.request.socket"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemiddleware",children:"invokeMiddleware"})})}),"\n",(0,n.jsx)(s.p,{children:"Define middleware to run when a socket connection is established."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-50",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket/server.request.socket': () => (socket, next) => {\n // Express-style route middleware...\n next();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L67",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:67:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L47",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:47:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L61",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:61:23"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebconfig",children:(0,n.jsx)(s.code,{children:"@flecks/web.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Send configuration to clients."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-51",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web.config': (req) => ({\n someConfig: req.someConfig,\n })\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest-2",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/src/hooks/@flecks/web.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/hooks/@flecks/web.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/index.js#L25",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:25:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/index.js#L21",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:21:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/index.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:4:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/config.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/config.js:10:44"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebroutes",children:(0,n.jsx)(s.code,{children:"@flecks/web.routes"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define HTTP routes."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-52",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web.routes': () => [\n {\n method: 'get',\n path: '/some-path',\n middleware: (req, res, next) => {\n // Express-style route middleware...\n next();\n },\n },\n ]\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L87",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:87:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:11:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L44",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:44:36"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebclientup",children:(0,n.jsx)(s.code,{children:"@flecks/web/client.up"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define sequential actions to run when the client comes up."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-53",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/client.up': async (container) => {\n await youCanDoAsyncThingsHere();\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"container-element",children:(0,n.jsx)("code",{children:"container: Element"})}),"\n",(0,n.jsx)("p",{children:"The root DOM element of the application."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/client.js#L14",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client.js:14:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:7:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/client/index.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:4:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/build/entry.js#L58",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/build/entry.js:58:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverrequestroute",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.request.route"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemiddleware",children:"invokeMiddleware"})})}),"\n",(0,n.jsx)(s.p,{children:"Define middleware to run when a route is matched."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-54",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.request.route': () => (req, res, next) => {\n // Express-style route middleware...\n next();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:10:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/server.js#L12",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:12:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:19:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L43",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:43:26"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverrequestsocket",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.request.socket"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemiddleware",children:"invokeMiddleware"})})}),"\n",(0,n.jsx)(s.p,{children:"Define middleware to run when an HTTP socket connection is established."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-55",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.request.socket': () => (req, res, next) => {\n // Express-style route middleware...\n next();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/index.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:5:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L41",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:41:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverstreamhtml",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.stream.html"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define composition functions to run over the HTML stream prepared for the client."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-56",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.stream.html': (stream, req) => {\n return stream.pipe(myTransformStream);\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"stream-streamreadable",children:(0,n.jsx)("code",{children:"stream: stream.Readable"})}),"\n",(0,n.jsx)("p",{children:"The HTML stream."}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest-3",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/server.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:7:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L34",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:34:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:23:9"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverup",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.up"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define sequential actions to run when the HTTP server comes up."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-57",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.up': async () => {\n await youCanDoAsyncThingsHere();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:9:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L58",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:58:12"})]})]})})]})]})]})}function x(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},7113:(e,s,c)=>{c.d(s,{Z:()=>n});const n={configBig:"configBig_NxNb",configSmall:"configSmall_SLee",configTable:"configTable_hbGc",hooks:"hooks_uvt_"}},1151:(e,s,c)=>{c.d(s,{Z:()=>d,a:()=>i});var n=c(7294);const r={},l=n.createContext(r);function i(e){const s=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/72512343.511f6346.js b/assets/js/72512343.511f6346.js new file mode 100644 index 00000000..b3ec9140 --- /dev/null +++ b/assets/js/72512343.511f6346.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkflecks_docusaurus=self.webpackChunkflecks_docusaurus||[]).push([[5679],{6057:(e,s,c)=>{c.r(s),c.d(s,{assets:()=>t,contentTitle:()=>d,default:()=>x,frontMatter:()=>i,metadata:()=>o,toc:()=>h});var n=c(5893),r=c(1151),l=c(7113);const i={title:"Hooks",description:"All the hooks in this project."},d=void 0,o={id:"flecks/hooks",title:"Hooks",description:"All the hooks in this project.",source:"@site/docs/flecks/hooks.mdx",sourceDirName:"flecks",slug:"/flecks/hooks",permalink:"/flecks/docs/flecks/hooks",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Hooks",description:"All the hooks in this project."},sidebar:"flecksSidebar",previous:{title:"Generated details",permalink:"/flecks/docs/category/generated-details"},next:{title:"Fleck configuration",permalink:"/flecks/docs/flecks/config"}},t={},h=[{value:"@flecks/build.commands",id:"flecksbuildcommands",level:2},{value:"Example usage",id:"example-usage",level:3},{value:"program: Command",id:"program-command",level:3},{value:"@flecks/build.config",id:"flecksbuildconfig",level:2},{value:"Example usage",id:"example-usage-1",level:3},{value:"target: string",id:"target-string",level:3},{value:"config: Object",id:"config-object",level:3},{value:"env: Object",id:"env-object",level:3},{value:"argv: Object",id:"argv-object",level:3},{value:"@flecks/build.config.alter",id:"flecksbuildconfigalter",level:2},{value:"Example usage",id:"example-usage-2",level:3},{value:"configs: Object",id:"configs-object",level:3},{value:"env: Object",id:"env-object-1",level:3},{value:"argv: Object",id:"argv-object-1",level:3},{value:"@flecks/build.extensions",id:"flecksbuildextensions",level:2},{value:"Example usage",id:"example-usage-3",level:3},{value:"@flecks/build.files",id:"flecksbuildfiles",level:2},{value:"Example usage",id:"example-usage-4",level:3},{value:"@flecks/build.processAssets",id:"flecksbuildprocessassets",level:2},{value:"Example usage",id:"example-usage-5",level:3},{value:"target: string",id:"target-string-1",level:3},{value:"assets: Record<string, Source>",id:"assets-recordstring-source",level:3},{value:"compilation: Compilation",id:"compilation-compilation",level:3},{value:"@flecks/build.targets",id:"flecksbuildtargets",level:2},{value:"Example usage",id:"example-usage-6",level:3},{value:"@flecks/build.targets.alter",id:"flecksbuildtargetsalter",level:2},{value:"Example usage",id:"example-usage-7",level:3},{value:"targets: Set<string>",id:"targets-setstring",level:3},{value:"@flecks/core.babel",id:"fleckscorebabel",level:2},{value:"Example usage",id:"example-usage-8",level:3},{value:"@flecks/core.config",id:"fleckscoreconfig",level:2},{value:"Example usage",id:"example-usage-9",level:3},{value:"@flecks/core.gathered",id:"fleckscoregathered",level:2},{value:"Example usage",id:"example-usage-10",level:3},{value:"@flecks/core.hmr",id:"fleckscorehmr",level:2},{value:"Example usage",id:"example-usage-11",level:3},{value:"path: string",id:"path-string",level:3},{value:"updated: Module",id:"updated-module",level:3},{value:"@flecks/core.hmr.gathered",id:"fleckscorehmrgathered",level:2},{value:"Example usage",id:"example-usage-12",level:3},{value:"gathered: constructor",id:"gathered-constructor",level:3},{value:"hook: string",id:"hook-string",level:3},{value:"@flecks/core.hmr.gathered.class",id:"fleckscorehmrgatheredclass",level:2},{value:"Example usage",id:"example-usage-13",level:3},{value:"Class: constructor",id:"class-constructor",level:3},{value:"hook: string",id:"hook-string-1",level:3},{value:"@flecks/core.hmr.hook",id:"fleckscorehmrhook",level:2},{value:"Example usage",id:"example-usage-14",level:3},{value:"hook: string",id:"hook-string-2",level:3},{value:"path: string",id:"path-string-1",level:3},{value:"@flecks/core.priority",id:"fleckscorepriority",level:2},{value:"Example usage",id:"example-usage-15",level:3},{value:"graph: Digraph",id:"graph-digraph",level:3},{value:"hook: string",id:"hook-string-3",level:3},{value:"@flecks/core.registered",id:"fleckscoreregistered",level:2},{value:"Example usage",id:"example-usage-16",level:3},{value:"fleck: string",id:"fleck-string",level:3},{value:"M: Module",id:"m-module",level:3},{value:"@flecks/core.reload",id:"fleckscorereload",level:2},{value:"Example usage",id:"example-usage-17",level:3},{value:"fleck: string",id:"fleck-string-1",level:3},{value:"config: Object",id:"config-object-1",level:3},{value:"@flecks/core.starting",id:"fleckscorestarting",level:2},{value:"Example usage",id:"example-usage-18",level:3},{value:"@flecks/db.models",id:"flecksdbmodels",level:2},{value:"Example usage",id:"example-usage-19",level:3},{value:"@flecks/db.models.decorate",id:"flecksdbmodelsdecorate",level:2},{value:"Example usage",id:"example-usage-20",level:3},{value:"Model: constructor",id:"model-constructor",level:3},{value:"@flecks/docker.Dockerfile",id:"flecksdockerdockerfile",level:2},{value:"Example usage",id:"example-usage-21",level:3},{value:"dockerfile: string",id:"dockerfile-string",level:3},{value:"Returns string",id:"returns-string",level:3},{value:"@flecks/docker.containers",id:"flecksdockercontainers",level:2},{value:"Example usage",id:"example-usage-22",level:3},{value:"@flecks/docker.docker-compose.yml",id:"flecksdockerdocker-composeyml",level:2},{value:"Example usage",id:"example-usage-23",level:3},{value:"config: Object",id:"config-object-2",level:3},{value:"@flecks/electron/server.browserWindowOptions.alter",id:"fleckselectronserverbrowserwindowoptionsalter",level:2},{value:"Example usage",id:"example-usage-24",level:3},{value:"browserWindowOptions: BrowserWindowConstructorOptions",id:"browserwindowoptions-browserwindowconstructoroptions",level:3},{value:"@flecks/electron/server.extensions",id:"fleckselectronserverextensions",level:2},{value:"Example usage",id:"example-usage-25",level:3},{value:"installer: Installer",id:"installer-installer",level:3},{value:"@flecks/electron/server.initialize",id:"fleckselectronserverinitialize",level:2},{value:"Example usage",id:"example-usage-26",level:3},{value:"electron: Electron",id:"electron-electron",level:3},{value:"@flecks/electron/server.window",id:"fleckselectronserverwindow",level:2},{value:"Example usage",id:"example-usage-27",level:3},{value:"win: Electron.BrowserWindow",id:"win-electronbrowserwindow",level:3},{value:"@flecks/fleck.packageJson",id:"flecksfleckpackagejson",level:2},{value:"Example usage",id:"example-usage-28",level:3},{value:"json: Object",id:"json-object",level:3},{value:"compilation: Compilation",id:"compilation-compilation-1",level:3},{value:"@flecks/passport-react.strategies",id:"fleckspassport-reactstrategies",level:2},{value:"Example usage",id:"example-usage-29",level:3},{value:"@flecks/passport.strategies",id:"fleckspassportstrategies",level:2},{value:"Example usage",id:"example-usage-30",level:3},{value:"passport: Passport",id:"passport-passport",level:3},{value:"@flecks/react.providers",id:"flecksreactproviders",level:2},{value:"Example usage",id:"example-usage-31",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest",level:3},{value:"Returns ReactContextProvider | [ReactContextProvider<Props>, Props]",id:"returns-reactcontextprovider--reactcontextproviderprops-props",level:3},{value:"@flecks/react.roots",id:"flecksreactroots",level:2},{value:"Example usage",id:"example-usage-32",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest-1",level:3},{value:"Returns Component | [Component<Props>, Props]",id:"returns-component--componentprops-props",level:3},{value:"@flecks/react/router.routes",id:"flecksreactrouterroutes",level:2},{value:"Example usage",id:"example-usage-33",level:3},{value:"Returns RouteObject[]",id:"returns-routeobject",level:3},{value:"@flecks/redux.effects",id:"flecksreduxeffects",level:2},{value:"Example usage",id:"example-usage-34",level:3},{value:"@flecks/redux.reducers",id:"flecksreduxreducers",level:2},{value:"Example usage",id:"example-usage-35",level:3},{value:"@flecks/redux.slices",id:"flecksreduxslices",level:2},{value:"Example usage",id:"example-usage-36",level:3},{value:"@flecks/redux.store",id:"flecksreduxstore",level:2},{value:"Example usage",id:"example-usage-37",level:3},{value:"options: Object",id:"options-object",level:3},{value:"@flecks/repl.commands",id:"flecksreplcommands",level:2},{value:"Example usage",id:"example-usage-38",level:3},{value:"@flecks/repl.context",id:"flecksreplcontext",level:2},{value:"Example usage",id:"example-usage-39",level:3},{value:"@flecks/server.runtime",id:"flecksserverruntime",level:2},{value:"Example usage",id:"example-usage-40",level:3},{value:"@flecks/server.test.socket",id:"flecksservertestsocket",level:2},{value:"Example usage",id:"example-usage-41",level:3},{value:"action: Object",id:"action-object",level:3},{value:"socket: SocketWrapper",id:"socket-socketwrapper",level:3},{value:"@flecks/server.up",id:"flecksserverup",level:2},{value:"Example usage",id:"example-usage-42",level:3},{value:"@flecks/session.config",id:"fleckssessionconfig",level:2},{value:"Example usage",id:"example-usage-43",level:3},{value:"@flecks/socket.client",id:"fleckssocketclient",level:2},{value:"Example usage",id:"example-usage-44",level:3},{value:"@flecks/socket.intercom",id:"fleckssocketintercom",level:2},{value:"Example usage",id:"example-usage-45",level:3},{value:"@flecks/socket.packets",id:"fleckssocketpackets",level:2},{value:"Example usage",id:"example-usage-46",level:3},{value:"@flecks/socket.packets.decorate",id:"fleckssocketpacketsdecorate",level:2},{value:"Example usage",id:"example-usage-47",level:3},{value:"Packet: constructor",id:"packet-constructor",level:3},{value:"@flecks/socket.server",id:"fleckssocketserver",level:2},{value:"Example usage",id:"example-usage-48",level:3},{value:"@flecks/socket/server.connect",id:"fleckssocketserverconnect",level:2},{value:"Example usage",id:"example-usage-49",level:3},{value:"socket: ServerSocket",id:"socket-serversocket",level:3},{value:"@flecks/socket/server.io",id:"fleckssocketserverio",level:2},{value:"Example usage",id:"example-usage-50",level:3},{value:"io: SocketIo",id:"io-socketio",level:3},{value:"@flecks/socket/server.request.socket",id:"fleckssocketserverrequestsocket",level:2},{value:"Example usage",id:"example-usage-51",level:3},{value:"@flecks/web.config",id:"fleckswebconfig",level:2},{value:"Example usage",id:"example-usage-52",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest-2",level:3},{value:"@flecks/web.routes",id:"fleckswebroutes",level:2},{value:"Example usage",id:"example-usage-53",level:3},{value:"@flecks/web/client.up",id:"fleckswebclientup",level:2},{value:"Example usage",id:"example-usage-54",level:3},{value:"container: Element",id:"container-element",level:3},{value:"@flecks/web/server.request.route",id:"fleckswebserverrequestroute",level:2},{value:"Example usage",id:"example-usage-55",level:3},{value:"@flecks/web/server.request.socket",id:"fleckswebserverrequestsocket",level:2},{value:"Example usage",id:"example-usage-56",level:3},{value:"@flecks/web/server.stream.html",id:"fleckswebserverstreamhtml",level:2},{value:"Example usage",id:"example-usage-57",level:3},{value:"stream: stream.Readable",id:"stream-streamreadable",level:3},{value:"req: http.ClientRequest",id:"req-httpclientrequest-3",level:3},{value:"res: http.ServerResponse",id:"res-httpserverresponse",level:3},{value:"Returns stream.Duplex",id:"returns-streamduplex",level:3},{value:"@flecks/web/server.up",id:"fleckswebserverup",level:2},{value:"Example usage",id:"example-usage-58",level:3}];function a(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"This page documents all the hooks in this project."}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildcommands",children:(0,n.jsx)(s.code,{children:"@flecks/build.commands"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define CLI commands."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.commands': (program, flecks) => {\n return {\n // So this could be invoked like:\n // npx flecks something -t --blow-up blah\n something: {\n action: (...args) => {\n // Run the command...\n },\n args: [\n program.createArgument('', 'some argument'),\n ],\n description: 'This command does tests and also blows up',\n options: [\n program.createOption('-t, --test', 'Do a test'),\n program.createOption('-b, --blow-up', 'Blow up instead of running the command'),\n ],\n },\n };\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"program-command",children:(0,n.jsxs)("code",{children:["program: ",(0,n.jsx)(s.a,{href:"https://github.com/tj/commander.js/tree/master#declaring-program-variable",children:"Command"})]})}),"\n",(0,n.jsxs)("p",{children:["The ",(0,n.jsx)(s.a,{href:"https://github.com/tj/commander.js",children:"Commander.js"})," program."]}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.commands.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.commands.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/dox/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"dox"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:7:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/cli.js#L44",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/cli.js:44:25"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildconfig",children:(0,n.jsx)(s.code,{children:"@flecks/build.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Hook into webpack configuration."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-1",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.config': (target, config, env, argv) => {\n if ('something' === target) {\n if ('production' === argv.mode) {\n config.plugins.push(new SomePlugin());\n }\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"target-string",children:(0,n.jsx)("code",{children:"target: string"})}),"\n",(0,n.jsxs)("p",{children:["The build target; e.g. ",(0,n.jsx)(s.code,{children:"server"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"config-object",children:(0,n.jsx)("code",{children:"config: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack configuration."}),"\n",(0,n.jsx)(s.h3,{id:"env-object",children:(0,n.jsx)("code",{children:"env: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack environment."}),"\n",(0,n.jsx)(s.h3,{id:"argv-object",children:(0,n.jsx)("code",{children:"argv: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack commandline arguments."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/build/flecks.bootstrap.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:23:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L97",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:97:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildconfigalter",children:(0,n.jsx)(s.code,{children:"@flecks/build.config.alter"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Alter build configurations after they have been hooked."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-2",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.config.alter': (configs) => {\n // Maybe we want to do something if a target exists..?\n if (configs.someTarget) {\n configs.plugins.push('...');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"configs-object",children:(0,n.jsx)("code",{children:"configs: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack configurations keyed by target."}),"\n",(0,n.jsx)(s.h3,{id:"env-object-1",children:(0,n.jsx)("code",{children:"env: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack environment."}),"\n",(0,n.jsx)(s.h3,{id:"argv-object-1",children:(0,n.jsx)("code",{children:"argv: Object"})}),"\n",(0,n.jsx)("p",{children:"The webpack commandline arguments."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.config.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.alter.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/build/flecks.bootstrap.js#L30",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:30:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.config.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.alter.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.config.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.config.alter.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L100",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:100:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildextensions",children:(0,n.jsx)(s.code,{children:"@flecks/build.extensions"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeflat",children:"invokeFlat"})})}),"\n",(0,n.jsx)(s.p,{children:"Add implicitly resolved extensions."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-3",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.extensions': () => ['.coffee']\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.extensions.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.extensions.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/build/flecks.bootstrap.js#L29",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:29:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/webpack.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/webpack.js:23:21"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildfiles",children:(0,n.jsx)(s.code,{children:"@flecks/build.files"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsxs)(s.p,{children:["Register build files. See ",(0,n.jsx)(s.a,{href:"./build-files",children:"the build files page"})," for more details."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-4",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.files': () => [\n /**\n * If you document your build files like this, documentation will be automatically generated.\n */\n '.myrc.js',\n ]\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/build.files.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.files.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.files.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.files.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.files.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.files.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L143",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:143:19"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildprocessassets",children:(0,n.jsx)(s.code,{children:"@flecks/build.processAssets"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Process assets during a compilation."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-5",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.processAssets': (target, assets, compilation) => {\n if (this.myTargets.includes(target)) {\n assets['my-file.js'] = new compilation.compiler.webpack.sources.RawSource('content');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"target-string-1",children:(0,n.jsx)("code",{children:"target: string"})}),"\n",(0,n.jsx)("p",{children:"The build target."}),"\n",(0,n.jsx)(s.h3,{id:"assets-recordstring-source",children:(0,n.jsx)("code",{children:"assets: Record"})}),"\n",(0,n.jsx)("p",{children:"The assets."}),"\n",(0,n.jsx)(s.h3,{id:"compilation-compilation",children:(0,n.jsxs)("code",{children:["compilation: ",(0,n.jsx)(s.a,{href:"https://webpack.js.org/api/compilation-object/",children:"Compilation"})]})}),"\n",(0,n.jsx)("p",{children:"The webpack compilation."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L20",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:20:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/process-assets.js#L24",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/process-assets.js:24:16"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildtargets",children:(0,n.jsx)(s.code,{children:"@flecks/build.targets"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Define build targets."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-6",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.targets': () => ['sometarget']\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L16",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:16:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.targets.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.targets.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L258",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:258:20"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksbuildtargetsalter",children:(0,n.jsx)(s.code,{children:"@flecks/build.targets.alter"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Alter defined build targets."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-7",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/build.targets.alter': (targets) => {\n targets.delete('some-target');\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"targets-setstring",children:(0,n.jsx)("code",{children:"targets: Set"})}),"\n",(0,n.jsx)("p",{children:"The targets to build."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/build.targets.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.alter.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/build.targets.alter.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/build.targets.alter.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L280",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:280:4"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorebabel",children:(0,n.jsx)(s.code,{children:"@flecks/core.babel"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Babel configuration."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-8",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.babel': () => ({\n plugins: ['...'],\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/build/flecks.bootstrap.js#L17",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:17:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/build.js#L49",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/build.js:49:15"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscoreconfig",children:(0,n.jsx)(s.code,{children:"@flecks/core.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokefleck",children:"invokeFleck"})})}),"\n",(0,n.jsxs)(s.p,{children:["Define configuration. See ",(0,n.jsx)(s.a,{href:"./config",children:"the configuration page"})," for more details."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-9",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.config': () => ({\n whatever: 'configuration',\n your: 1337,\n fleck: 'needs',\n /**\n * Also, comments like this will be used to automatically generate documentation.\n */\n though: 'you should keep the values serializable',\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/build/build/hooks/@flecks/core.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"build"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/core.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.bootstrap.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/db/src/index.js#L2",children:["@flecks/",(0,n.jsx)(s.strong,{children:"db"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:2:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/flecks.bootstrap.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:10:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/dox/build/flecks.bootstrap.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"dox"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:5:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/build/flecks.bootstrap.js#L6",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:6:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:8:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:8:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/index.js#L12",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:12:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/index.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/hooks/@flecks/core.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/core.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/core.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/core.config.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L106",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:106:9"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/runtime.js#L17",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/runtime.js:17:39"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscoregathered",children:(0,n.jsx)(s.code,{children:"@flecks/core.gathered"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Let flecks gather for you."}),"\n",(0,n.jsxs)(s.p,{children:["See ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-10",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.gathered': () => ({\n // If this hook is implemented by a fleck called `@some/fleck`, then:\n //\n // This is equivalent to flecks.gather('@some/fleck.somethings'):\n somethings: {},\n //\n // This is equivalent to flecks.gather('@some/fleck.others', {typeProperty: 'name'}):\n others: {\n typeProperty: 'name',\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/db/src/index.js#L30",children:["@flecks/",(0,n.jsx)(s.strong,{children:"db"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:30:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/index.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:11:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L551",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:551:28"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmr",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr"})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a module is HMR'd. Throw to abort hot reload and restart application.\nMust be synchronous."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-11",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr': (path, updated) => {\n if ('my-fleck' === path) {\n updated.doSomething();\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"path-string",children:(0,n.jsx)("code",{children:"path: string"})}),"\n",(0,n.jsx)("p",{children:"The path of the fleck"}),"\n",(0,n.jsx)(s.h3,{id:"updated-module",children:(0,n.jsx)("code",{children:"updated: Module"})}),"\n",(0,n.jsx)("p",{children:"The updated module."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/src/hooks/@flecks/core.hmr.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/hooks/@flecks/core.hmr.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L975",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:975:4"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmrgathered",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr.gathered"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a gathered set is HMR'd."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-12",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr.gathered': (gathered, hook) => {\n // Do something with the gathered set...\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"gathered-constructor",children:(0,n.jsx)("code",{children:"gathered: constructor"})}),"\n",(0,n.jsx)("p",{children:"The gathered set."}),"\n",(0,n.jsx)(s.h3,{id:"hook-string",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsxs)("p",{children:["The gather hook; e.g. ",(0,n.jsx)(s.code,{children:"@flecks/db.models"}),"."]}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L1045",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:1045:12"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmrgatheredclass",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr.gathered.class"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a gathered class is HMR'd."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-13",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr.gathered.class': (Class, hook) => {\n // Do something with Class...\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"class-constructor",children:(0,n.jsx)("code",{children:"Class: constructor"})}),"\n",(0,n.jsx)("p",{children:"The class."}),"\n",(0,n.jsx)(s.h3,{id:"hook-string-1",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsxs)("p",{children:["The gather hook; e.g. ",(0,n.jsx)(s.code,{children:"@flecks/db.models"}),"."]}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L1043",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:1043:14"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorehmrhook",children:(0,n.jsx)(s.code,{children:"@flecks/core.hmr.hook"})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a hook is HMR'd. Throw to abort hot reload and restart application.\nMust be synchronous."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-14",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.hmr.hook': (hook, path) => {\n if ('@my/fleck.some.hook' === hook) {\n throw new Error('hook too volatile, restart!');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"hook-string-2",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsx)("p",{children:"The hook that was updated."}),"\n",(0,n.jsx)(s.h3,{id:"path-string-1",children:(0,n.jsx)("code",{children:"path: string"})}),"\n",(0,n.jsx)("p",{children:"The path of the fleck implementing the updated hook."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/client.js#L2",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client.js:2:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L985",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:985:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorepriority",children:(0,n.jsx)(s.code,{children:"@flecks/core.priority"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when flecks is building a fleck dependency graph."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-15",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.priority': (graph, hook) => {\n // Make `@flecks/socket/server`'s `@flecks/server.up` implementation depend on\n // `@flecks/db/server`'s:\n if ('@flecks/server.up' === hook) {\n graph.addDependency('@flecks/socket/server', '@flecks/db/server');\n // Remove a dependency.\n graph.removeDependency('@flecks/socket/server', '@flecks/db/server');\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"graph-digraph",children:(0,n.jsx)("code",{children:"graph: Digraph"})}),"\n",(0,n.jsx)("p",{children:"The dependency graph."}),"\n",(0,n.jsx)(s.h3,{id:"hook-string-3",children:(0,n.jsx)("code",{children:"hook: string"})}),"\n",(0,n.jsxs)("p",{children:["The hook; e.g. ",(0,n.jsx)(s.code,{children:"@flecks/server.up"}),"."]}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/session/server.js#L14",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/session/server.js:14:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L470",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:470:4"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckscoreregistered",children:(0,n.jsx)(s.code,{children:"@flecks/core.registered"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invoke",children:"invoke"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a fleck is registered."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-16",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.registered': (fleck, M) => {\n if ('@something/or-other' === fleck) {\n doSomethingWith(M);\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"fleck-string",children:(0,n.jsx)("code",{children:"fleck: string"})}),"\n",(0,n.jsx)("p",{}),"\n",(0,n.jsx)(s.h3,{id:"m-module",children:(0,n.jsx)("code",{children:"M: Module"})}),"\n",(0,n.jsx)("p",{}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/build/flecks.js#L91",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.js:91:6"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorereload",children:(0,n.jsx)(s.code,{children:"@flecks/core.reload"})}),"\n",(0,n.jsxs)(s.p,{children:["Invoked when ",(0,n.jsx)(s.code,{children:"flecks.yml"})," is hot reloaded. Throw to abort hot reload and restart application.\nMust be synchronous."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-17",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.reload': (fleck, config, flecks) => {\n if ('i-care-about' === fleck) {\n if (flecks.get(`${fleck}.volatile`) !== config.volatile) {\n throw new Error('Changes too volatile');\n }\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"fleck-string-1",children:(0,n.jsx)("code",{children:"fleck: string"})}),"\n",(0,n.jsx)("p",{children:"The fleck whose config changed."}),"\n",(0,n.jsx)(s.h3,{id:"config-object-1",children:(0,n.jsx)("code",{children:"config: Object"})}),"\n",(0,n.jsx)("p",{children:"The new config."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/src/hooks/@flecks/core.hmr.js#L24",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/hooks/@flecks/core.hmr.js:24:12"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckscorestarting",children:(0,n.jsx)(s.code,{children:"@flecks/core.starting"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when the application is starting."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-18",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/core.starting': () => {\n console.log('starting!');\n }\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/index.js#L16",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/index.js:16:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdbmodels",children:(0,n.jsx)(s.code,{children:"@flecks/db.models"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Gather database models."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-19",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/db.models': Flecks.provide(require.context('./models', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:8:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdbmodelsdecorate",children:(0,n.jsx)(s.code,{children:"@flecks/db.models.decorate"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Decorate database models."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-20",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/db.models.decorate': Flecks.decorate(require.context('./models/decorators', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"model-constructor",children:(0,n.jsx)("code",{children:"Model: constructor"})}),"\n",(0,n.jsx)("p",{children:"The model to decorate."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local/src/server/index.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:7:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdockerdockerfile",children:(0,n.jsx)(s.code,{children:"@flecks/docker.Dockerfile"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-21",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/docker.Dockerfile': (dockerfile) => (\n dockerfile.replace('DEBUG=*', 'DEBUG=*,-*:silly')\n )\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"dockerfile-string",children:(0,n.jsx)("code",{children:"dockerfile: string"})}),"\n",(0,n.jsx)("p",{children:"The content of the Dockerfile."}),"\n",(0,n.jsxs)(s.h3,{id:"returns-string",children:["Returns ",(0,n.jsx)(s.code,{children:"string"})]}),"\n",(0,n.jsx)("p",{children:"The new content of the Dockerfile."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/generate.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/generate.js:19:9"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksdockercontainers",children:(0,n.jsx)(s.code,{children:"@flecks/docker.containers"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define docker containers."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-22",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/docker.containers': () => ({\n someContainer: {\n // Environment variables.\n environment: {\n SOME_CONTAINER_VAR: 'hello',\n },\n // The docker image.\n image: 'some-image:latest',\n // Some container path you'd like to persist. Flecks handles the host path.\n mount: '/some/container/path',\n // Expose ports.\n ports: {3000: 3000},\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/db/build/flecks.bootstrap.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"db"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/build/flecks.bootstrap.js#L14",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:14:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/server.js#L33",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:33:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/generate.js#L39",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/generate.js:39:27"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/src/server.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:8:29"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksdockerdocker-composeyml",children:(0,n.jsx)(s.code,{children:"@flecks/docker.docker-compose.yml"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-23",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/docker.docker-compose.yml': (config) => {\n config.version = '3.1';\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"config-object-2",children:(0,n.jsx)("code",{children:"config: Object"})}),"\n",(0,n.jsx)("p",{children:"The object representing the docker compose configuration."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/build/generate.js#L72",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/generate.js:72:8"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverbrowserwindowoptionsalter",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.browserWindowOptions.alter"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Alter the options for initialization of the Electron browser window."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-24",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.browserWindowOptions.alter': (browserWindowOptions) => {\n browserWindowOptions.icon = 'cute-kitten.png';\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"browserwindowoptions-browserwindowconstructoroptions",children:(0,n.jsxs)("code",{children:["browserWindowOptions: ",(0,n.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/structures/browser-window-options",children:"BrowserWindowConstructorOptions"})]})}),"\n",(0,n.jsx)("p",{children:"The options."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:10:8"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverextensions",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.extensions"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeflat",children:"invokeFlat"})})}),"\n",(0,n.jsx)(s.p,{children:"Extensions to install."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-25",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.extensions': (installer) => [\n // Some defaults provided...\n installer.BACKBONE_DEBUGGER,\n // By ID (Tamper Monkey):\n 'dhdgffkkebhmkfjojejmpbldmpobfkfo',\n ]\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"installer-installer",children:(0,n.jsxs)("code",{children:["installer: ",(0,n.jsx)(s.a,{href:"https://github.com/MarshallOfSound/electron-devtools-installer",children:"Installer"})]})}),"\n",(0,n.jsx)("p",{children:"The installer."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/server.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:11:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L46",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:46:11"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverinitialize",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.initialize"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when electron is initializing."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-26",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.initialize': (electron) => {\n electron.app.on('will-quit', () => {\n // ...\n });\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"electron-electron",children:(0,n.jsx)("code",{children:"electron: Electron"})}),"\n",(0,n.jsx)("p",{children:"The electron module."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:19:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L70",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:70:14"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckselectronserverwindow",children:(0,n.jsx)(s.code,{children:"@flecks/electron/server.window"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Invoked when a window is created"}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-27",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/electron/server.window': (win) => {\n win.maximize();\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"win-electronbrowserwindow",children:(0,n.jsx)("code",{children:"win: Electron.BrowserWindow"})}),"\n",(0,n.jsxs)("p",{children:["The electron browser window. See: ",(0,n.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/browser-window",children:"https://www.electronjs.org/docs/latest/api/browser-window"})]}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L39",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:39:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L15",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:15:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksfleckpackagejson",children:(0,n.jsx)(s.code,{children:"@flecks/fleck.packageJson"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Process the ",(0,n.jsx)(s.code,{children:"package.json"})," for a built fleck."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-28",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/fleck.packageJson': (json, compilation) => {\n json.files.push('something');\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"json-object",children:(0,n.jsx)("code",{children:"json: Object"})}),"\n",(0,n.jsx)("p",{children:"The JSON."}),"\n",(0,n.jsx)(s.h3,{id:"compilation-compilation-1",children:(0,n.jsxs)("code",{children:["compilation: ",(0,n.jsx)(s.a,{href:"https://webpack.js.org/api/compilation-object/",children:"Compilation"})]})}),"\n",(0,n.jsx)("p",{children:"The webpack compilation."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/fleck.packageJson.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/fleck.packageJson.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/fleck/build/flecks.bootstrap.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"fleck"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/flecks.bootstrap.js:23:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckspassport-reactstrategies",children:(0,n.jsx)(s.code,{children:"@flecks/passport-react.strategies"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeunique",children:"invokeMergeUnique"})})}),"\n",(0,n.jsx)(s.p,{children:"Define React components for login strategies."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-29",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/passport-react.strategies': () => ({\n MyService: SomeBeautifulComponent,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local-react/src/index.js#L6",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local-react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:6:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-react/src/login.jsx#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/login.jsx:11:36"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckspassportstrategies",children:(0,n.jsx)(s.code,{children:"@flecks/passport.strategies"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Define passport login strategies. See: ",(0,n.jsx)(s.a,{href:"https://www.passportjs.org/concepts/authentication/strategies/",children:"https://www.passportjs.org/concepts/authentication/strategies/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-30",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/passport.strategies': (passport) => ({\n MyService: SomeStrategy,\n })\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"passport-passport",children:(0,n.jsx)("code",{children:"passport: Passport"})}),"\n",(0,n.jsx)("p",{children:"The passport instance."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local/src/server/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:8:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L44",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:44:26"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreactproviders",children:(0,n.jsx)(s.code,{children:"@flecks/react.providers"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define React Providers."}),"\n",(0,n.jsxs)(s.p,{children:["Note: ",(0,n.jsx)(s.code,{children:"req"})," will be only be defined when server-side rendering."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-31",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/react.providers': (req) => {\n return req ? serverSideProvider(req) : [SomeContext.Provider, {value: 'whatever'}];\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsxs)(s.h3,{id:"returns-reactcontextprovider--reactcontextproviderprops-props",children:["Returns ",(0,n.jsx)(s.code,{children:"ReactContextProvider | [ReactContextProvider, Props]"})]}),"\n",(0,n.jsxs)("p",{children:["A React context\nprovider or an array where the first element is a React context provider and the second\nelement is the ",(0,n.jsx)(s.code,{children:"props"})," passed to the provider."]}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react-redux/src/client.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react-redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client.js:5:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react-redux/src/server.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react-redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:5:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/index.js#L26",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:26:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksreactroots",children:(0,n.jsx)(s.code,{children:"@flecks/react.roots"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Define root-level React components that are mounted as siblings on ",(0,n.jsx)(s.code,{children:"#main"}),".\nNote: ",(0,n.jsx)(s.code,{children:"req"})," will be only be defined when server-side rendering."]}),"\n",(0,n.jsx)(s.p,{children:"Return either a React component or an array whose elements must either be a React component\nor an array of two elements where the first element is the component and the second element\nis the props passed to the component."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-32",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/react.roots': (req) => {\n // Note that we're not returning ``, but `Component`.\n return [\n Component,\n [SomeOtherComponent, {prop: 'value'}]\n ];\n // You can also just:\n return Component;\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest-1",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsxs)(s.h3,{id:"returns-component--componentprops-props",children:["Returns ",(0,n.jsx)(s.code,{children:"Component | [Component, Props]"})]}),"\n",(0,n.jsxs)("p",{children:["A React component or an array where the first\nelement is a React component and the second element is the ",(0,n.jsx)(s.code,{children:"props"})," passed to the component."]}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/client.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/client.js:8:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/server.js#L25",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/server.js:25:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksreactrouterroutes",children:(0,n.jsx)(s.code,{children:"@flecks/react/router.routes"})}),"\n",(0,n.jsx)(s.p,{children:"Provide routes for React Router."}),"\n",(0,n.jsx)(s.p,{children:"You can also build routes from a file structure using e.g.:"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",children:"import {createRoutesFromContext} from '@flecks/react/router';\n\nexport const hooks = {\n '@flecks/react/router.routes': () => (\n createRoutesFromContext(require.context('./routes'))\n ),\n};\n"})}),"\n",(0,n.jsxs)(s.p,{children:["See ",(0,n.jsx)(s.a,{href:"../react#routing",children:"the documentation page on routing"})," for more details."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-33",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/react/router.routes': () => {\n // You can also just return routes how React Router expects:\n return [\n {\n path: '/',\n Component: function Component() {\n return

This is the root route

;\n },\n },\n {\n path: '/team',\n children: [\n {\n path: ':teamId',\n Component: function Component() {\n const {teamId} = useParams();\n return

This is team {teamId}.

;\n },\n },\n {\n index: true,\n Component: function Component() {\n return

This is the team overview.

;\n },\n },\n ],\n },\n {\n path: '/about',\n Component: function Component() {\n return

This is the about page

;\n },\n },\n ];\n }\n};\n"})}),"\n",(0,n.jsxs)(s.h3,{id:"returns-routeobject",children:["Returns ",(0,n.jsx)(s.code,{children:"RouteObject[]"})]}),"\n",(0,n.jsx)("p",{children:"An array of React Router route objects."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/index.js:8:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/index.js#L18",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/index.js:18:38"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxeffects",children:(0,n.jsx)(s.code,{children:"@flecks/redux.effects"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define side-effects to run against Redux actions."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-34",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.effects': () => ({\n someActionName: (store, action) => {\n // Runs when `someActionName` actions are dispatched.\n },\n })\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/store/middleware/effects.js#L2",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/store/middleware/effects.js:2:24"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxreducers",children:(0,n.jsx)(s.code,{children:"@flecks/redux.reducers"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define root-level reducers for the Redux store."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-35",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.reducers': () => {\n return (state, action) => {\n // Whatever you'd like.\n return state;\n };\n }\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/store/create-reducer.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/store/create-reducer.js:5:23"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxslices",children:(0,n.jsx)(s.code,{children:"@flecks/redux.slices"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define Redux slices."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://redux-toolkit.js.org/api/createSlice",children:"https://redux-toolkit.js.org/api/createSlice"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-36",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.slices': () => {\n const something = createSlice(\n // ...\n );\n return {\n something: something.reducer,\n };\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/index.js#L22",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:22:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:9:27"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/server.js#L13",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:13:25"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreduxstore",children:(0,n.jsx)(s.code,{children:"@flecks/redux.store"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Modify Redux store configuration."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-37",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/redux.store': (options) => {\n options.enhancers.splice(someIndex, 1);\n options.middleware.push(mySpecialMiddleware);\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"options-object",children:(0,n.jsx)("code",{children:"options: Object"})}),"\n",(0,n.jsx)("p",{children:"A mutable object with keys for enhancers and middleware."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L18",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:18:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/store/index.js#L17",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/store/index.js:17:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreplcommands",children:(0,n.jsx)(s.code,{children:"@flecks/repl.commands"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define REPL commands."}),"\n",(0,n.jsx)(s.p,{children:"Note: commands will be prefixed with a period in the Node REPL."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-38",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/repl.commands': () => ({\n someCommand: (...args) => {\n // args are passed from the Node REPL. So, you could invoke it like:\n // .someCommand foo bar\n // and `args` would be `['foo', 'bar']`.\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport-local/src/server/index.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport-local"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:23:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/src/repl.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/repl.js:23:23"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksreplcontext",children:(0,n.jsx)(s.code,{children:"@flecks/repl.context"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeuniqueasync",children:"invokeMergeUniqueAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Provide global context to the REPL."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-39",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/repl.context': () => {\n // Now you'd be able to do like:\n // `node> someValue;`\n // and the REPL would evaluate it to `'foobar'`.\n return {\n someValue: 'foobar',\n };\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L62",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:62:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/server.js#L34",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:34:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/src/repl.js#L15",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/repl.js:15:13"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksserverruntime",children:(0,n.jsx)(s.code,{children:"@flecks/server.runtime"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Pass information to the runtime."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-40",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/server.runtime': async () => ({\n something: '...',\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/build/hooks/@flecks/server.runtime.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/hooks/@flecks/server.runtime.js"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/build/runtime.js#L68",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/build/runtime.js:68:13"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksservertestsocket",children:(0,n.jsx)(s.code,{children:"@flecks/server.test.socket"})}),"\n",(0,n.jsx)(s.p,{children:"Respond to server test socket actions."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-41",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/server.test.socket': (action, socket) => {\n const {meta, payload, type} = action;\n switch (type) {\n case 'my.custom.action':\n socket.write(JSON.stringify({\n meta,\n payload: 'my-test-response',\n }));\n break;\n default:\n }\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"action-object",children:(0,n.jsx)("code",{children:"action: Object"})}),"\n",(0,n.jsx)("p",{children:"The action."}),"\n",(0,n.jsx)(s.h3,{id:"socket-socketwrapper",children:(0,n.jsx)("code",{children:"socket: SocketWrapper"})}),"\n",(0,n.jsx)("p",{children:"The socket."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L35",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:35:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/src/server/hooks/@flecks/server.up.js#L36",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/hooks/@flecks/server.up.js:36:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"flecksserverup",children:(0,n.jsx)(s.code,{children:"@flecks/server.up"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define sequential actions to run when the server comes up."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-42",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/server.up': async () => {\n await youCanDoAsyncThingsHere();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/docker/src/server.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"docker"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/electron/src/server/index.js#L67",children:["@flecks/",(0,n.jsx)(s.strong,{children:"electron"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:67:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L29",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:29:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/server.js#L31",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/server.js:31:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/server.js#L37",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:37:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/repl/src/server.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"repl"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:4:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L38",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:38:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L53",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:53:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/server/src/entry.js#L29",children:["@flecks/",(0,n.jsx)(s.strong,{children:"server"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/entry.js:29:8"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssessionconfig",children:(0,n.jsx)(s.code,{children:"@flecks/session.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsxs)(s.p,{children:["Configure the session. See: ",(0,n.jsx)(s.a,{href:"https://github.com/expressjs/session#sessionoptions",children:"https://github.com/expressjs/session#sessionoptions"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-43",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/session.config': async () => ({\n saveUninitialized: true,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/session/server.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/session/server.js:19:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L44",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:44:15"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketclient",children:(0,n.jsx)(s.code,{children:"@flecks/socket.client"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Modify Socket.io client configuration."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://socket.io/docs/v4/client-options/",children:"https://socket.io/docs/v4/client-options/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-44",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.client': () => ({\n timeout: Infinity,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/client/index.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:10:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/client/socket.js#L34",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/socket.js:34:17"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketintercom",children:(0,n.jsx)(s.code,{children:"@flecks/socket.intercom"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define server-side intercom channels."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-45",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.intercom': (req) => ({\n // Assuming `@my/fleck` implemented this hook, this could be called like:\n // `const result = await req.intercom('@my/fleck.key', payload)`.\n // `result` will be an `n`-length array, where `n` is the number of server instances. Each\n // element in the array will be the result of `someServiceSpecificInformation()` running\n // against that server instance.\n key: async (payload, server) => {\n return someServiceSpecificInformation();\n },\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L53",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:53:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L26",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:26:26"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketpackets",children:(0,n.jsx)(s.code,{children:"@flecks/socket.packets"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Gather socket packets."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-46",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.packets': Flecks.provide(require.context('./packets', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/index.js#L23",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:23:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/index.js#L8",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:8:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/index.js#L16",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:16:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketpacketsdecorate",children:(0,n.jsx)(s.code,{children:"@flecks/socket.packets.decorate"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Decorate socket packets."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"../gathering",children:"the Gathering guide"}),"."]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-47",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.packets.decorate': Flecks.decorate(require.context('./packets/decorators', false, /\\.js$/))\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"packet-constructor",children:(0,n.jsx)("code",{children:"Packet: constructor"})}),"\n",(0,n.jsx)("p",{children:"The packet to decorate."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L22",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:22:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserver",children:(0,n.jsx)(s.code,{children:"@flecks/socket.server"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemergeasync",children:"invokeMergeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Modify Socket.io server configuration."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://socket.io/docs/v4/server-options/",children:"https://socket.io/docs/v4/server-options/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-48",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket.server': () => ({\n pingTimeout: Infinity,\n })\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redis/src/session/server.js#L25",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redis"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/session/server.js:25:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/index.js#L14",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:14:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L46",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:46:15"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserverconnect",children:(0,n.jsx)(s.code,{children:"@flecks/socket/server.connect"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Do something with a connecting socket."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-49",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket/server.connect': (socket) => {\n socket.on('disconnect', () => {\n // ...\n });\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"socket-serversocket",children:(0,n.jsxs)("code",{children:["socket: ",(0,n.jsx)(s.a,{href:"https://github.com/cha0s/flecks/blob/master/packages/socket/src/server/socket.js",children:"ServerSocket"})]})}),"\n",(0,n.jsx)("p",{children:"The connecting socket."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L86",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:86:4"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserverio",children:(0,n.jsx)(s.code,{children:"@flecks/socket/server.io"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Do something with the Socket.IO instance."}),"\n",(0,n.jsxs)(s.p,{children:["See: ",(0,n.jsx)(s.a,{href:"https://socket.io/docs/v4/server-instance/",children:"https://socket.io/docs/v4/server-instance/"})]}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-50",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:'export const hooks = {\n \'@flecks/socket/server.io\': (io) => {\n io.engine.on("headers", (headers, req) => {\n headers["test"] = "789";\n });\n }\n};\n'})}),"\n",(0,n.jsx)(s.h3,{id:"io-socketio",children:(0,n.jsx)("code",{children:"io: SocketIo"})}),"\n",(0,n.jsx)("p",{children:"The Socket.IO server instance."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L51",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:51:10"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckssocketserverrequestsocket",children:(0,n.jsx)(s.code,{children:"@flecks/socket/server.request.socket"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemiddleware",children:"invokeMiddleware"})})}),"\n",(0,n.jsx)(s.p,{children:"Define middleware to run when a socket connection is established."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-51",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/socket/server.request.socket': () => (socket, next) => {\n // Express-style route middleware...\n next();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L67",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:67:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L47",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:47:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/server.js#L61",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/server.js:61:23"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebconfig",children:(0,n.jsx)(s.code,{children:"@flecks/web.config"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Send configuration to clients."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-52",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web.config': (req) => ({\n someConfig: req.someConfig,\n })\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest-2",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/core/src/hooks/@flecks/web.config.js",children:["@flecks/",(0,n.jsx)(s.strong,{children:"core"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/hooks/@flecks/web.config.js"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/index.js#L27",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:27:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/index.js#L20",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/index.js:20:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/index.js#L21",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:21:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/index.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/index.js:4:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/config.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/config.js:10:44"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebroutes",children:(0,n.jsx)(s.code,{children:"@flecks/web.routes"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokeasync",children:"invokeAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define HTTP routes."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-53",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web.routes': () => [\n {\n method: 'get',\n path: '/some-path',\n middleware: (req, res, next) => {\n // Express-style route middleware...\n next();\n },\n },\n ]\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L87",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:87:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:11:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L68",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:68:36"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebclientup",children:(0,n.jsx)(s.code,{children:"@flecks/web/client.up"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define sequential actions to run when the client comes up."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-54",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/client.up': async (container) => {\n await youCanDoAsyncThingsHere();\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"container-element",children:(0,n.jsx)("code",{children:"container: Element"})}),"\n",(0,n.jsx)("p",{children:"The root DOM element of the application."}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/client.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client.js:9:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/client/index.js#L7",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:7:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/client/index.js#L4",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/client/index.js:4:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/build/entry.js#L58",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/build/entry.js:58:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverrequestroute",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.request.route"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemiddleware",children:"invokeMiddleware"})})}),"\n",(0,n.jsx)(s.p,{children:"Define middleware to run when a route is matched."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-55",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.request.route': () => (req, res, next) => {\n // Express-style route middleware...\n next();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/passport/src/server/index.js#L10",children:["@flecks/",(0,n.jsx)(s.strong,{children:"passport"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:10:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/redux/src/server.js#L12",children:["@flecks/",(0,n.jsx)(s.strong,{children:"redux"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:12:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/session/src/server.js#L19",children:["@flecks/",(0,n.jsx)(s.strong,{children:"session"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server.js:19:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L67",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:67:26"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverrequestsocket",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.request.socket"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokemiddleware",children:"invokeMiddleware"})})}),"\n",(0,n.jsx)(s.p,{children:"Define middleware to run when an HTTP socket connection is established."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-56",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.request.socket': () => (req, res, next) => {\n // Express-style route middleware...\n next();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/react/src/router/server.js#L11",children:["@flecks/",(0,n.jsx)(s.strong,{children:"react"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/router/server.js:11:2"})]})]})}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/index.js#L5",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:5:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L65",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:65:10"})]})]})})]})]}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverstreamhtml",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.stream.html"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokecomposedasync",children:"invokeComposedAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define composition functions to run over the HTML stream prepared for the client."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-57",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.stream.html': (stream, req, res) => {\n // You may call `req.abort()` to abort the request if you e.g. respond to it early:\n if ('some-redirect-condition') {\n res.redirect('/somewhere', 301);\n req.abort();\n }\n return stream.pipe(myTransformStream);\n }\n};\n"})}),"\n",(0,n.jsx)(s.h3,{id:"stream-streamreadable",children:(0,n.jsx)("code",{children:"stream: stream.Readable"})}),"\n",(0,n.jsx)("p",{children:"The HTML stream."}),"\n",(0,n.jsx)(s.h3,{id:"req-httpclientrequest-3",children:(0,n.jsx)("code",{children:"req: http.ClientRequest"})}),"\n",(0,n.jsx)("p",{children:"The HTTP request object."}),"\n",(0,n.jsx)(s.h3,{id:"res-httpserverresponse",children:(0,n.jsx)("code",{children:"res: http.ServerResponse"})}),"\n",(0,n.jsx)("p",{children:"The HTTP response object."}),"\n",(0,n.jsxs)(s.h3,{id:"returns-streamduplex",children:["Returns ",(0,n.jsx)(s.code,{children:"stream.Duplex"})]}),"\n",(0,n.jsx)("p",{children:"The stream to pipe to the response."}),"\n",(0,n.jsx)("div",{className:l.Z.hooks,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/index.js#L34",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:34:2"})]})]})})]})}),"\n",(0,n.jsx)(s.h2,{id:"fleckswebserverup",children:(0,n.jsx)(s.code,{children:"@flecks/web/server.up"})}),"\n",(0,n.jsx)("h3",{style:{fontSize:"1.125rem",marginTop:0},children:(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"../hooks#invokesequentialasync",children:"invokeSequentialAsync"})})}),"\n",(0,n.jsx)(s.p,{children:"Define sequential actions to run when the HTTP server comes up."}),"\n",(0,n.jsx)(s.h3,{id:"example-usage-58",children:"Example usage"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-javascript",children:"export const hooks = {\n '@flecks/web/server.up': async () => {\n await youCanDoAsyncThingsHere();\n }\n};\n"})}),"\n",(0,n.jsxs)("div",{className:l.Z.hooks,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Implementations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/socket/src/server/index.js#L9",children:["@flecks/",(0,n.jsx)(s.strong,{children:"socket"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/index.js:9:2"})]})]})})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Invocations"}),(0,n.jsx)("div",{children:(0,n.jsxs)(s.a,{href:"https://github.com/cha0s/flecks/tree/master/packages/web/src/server/http.js#L82",children:["@flecks/",(0,n.jsx)(s.strong,{children:"web"}),(0,n.jsxs)("span",{style:{fontSize:"80%"},children:["\u200b",(0,n.jsx)(s.code,{children:"/src/server/http.js:82:12"})]})]})})]})]})]})}function x(e={}){const{wrapper:s}={...(0,r.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},7113:(e,s,c)=>{c.d(s,{Z:()=>n});const n={configBig:"configBig_NxNb",configSmall:"configSmall_SLee",configTable:"configTable_hbGc",hooks:"hooks_uvt_"}},1151:(e,s,c)=>{c.d(s,{Z:()=>d,a:()=>i});var n=c(7294);const r={},l=n.createContext(r);function i(e){const s=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/773fe5c0.83633f2c.js b/assets/js/773fe5c0.83633f2c.js new file mode 100644 index 00000000..07bb8c1e --- /dev/null +++ b/assets/js/773fe5c0.83633f2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkflecks_docusaurus=self.webpackChunkflecks_docusaurus||[]).push([[1144],{9192:(e,s,l)=>{l.r(s),l.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>x,frontMatter:()=>r,metadata:()=>t,toc:()=>h});var c=l(5893),n=l(1151),d=l(9286),i=l(7113);const r={title:"Fleck configuration",description:"All the configurable flecks in this project."},a=void 0,t={id:"flecks/config",title:"Fleck configuration",description:"All the configurable flecks in this project.",source:"@site/docs/flecks/config.mdx",sourceDirName:"flecks",slug:"/flecks/config",permalink:"/flecks/docs/flecks/config",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Fleck configuration",description:"All the configurable flecks in this project."},sidebar:"flecksSidebar",previous:{title:"Hooks",permalink:"/flecks/docs/flecks/hooks"},next:{title:"Build files",permalink:"/flecks/docs/flecks/build-files"}},o={},h=[{value:"@flecks/build",id:"flecksbuild",level:2},{value:"@flecks/core",id:"fleckscore",level:2},{value:"@flecks/db",id:"flecksdb",level:2},{value:"@flecks/docker",id:"flecksdocker",level:2},{value:"@flecks/dox",id:"flecksdox",level:2},{value:"@flecks/electron",id:"fleckselectron",level:2},{value:"@flecks/fleck",id:"flecksfleck",level:2},{value:"@flecks/passport",id:"fleckspassport",level:2},{value:"@flecks/react",id:"flecksreact",level:2},{value:"@flecks/react/router",id:"flecksreactrouter",level:2},{value:"@flecks/redis",id:"flecksredis",level:2},{value:"@flecks/server",id:"flecksserver",level:2},{value:"@flecks/session/server",id:"fleckssessionserver",level:2},{value:"@flecks/web",id:"flecksweb",level:2}];function j(e){const s={a:"a",code:"code",h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.p,{children:"This page documents all configurable flecks in this project."}),"\n",(0,c.jsx)(s.h2,{id:"flecksbuild",children:(0,c.jsx)(s.code,{children:"@flecks/build"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Build targets to profile with ",(0,c.jsx)(s.code,{children:"webpack.debug.ProfilingPlugin"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Build targets to profile with ",(0,c.jsx)(s.code,{children:"webpack.debug.ProfilingPlugin"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"profile"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"[]"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckscore",children:(0,c.jsx)(s.code,{children:"@flecks/core"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"The ID of your application."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"The ID of your application."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"id"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'flecks'"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksdb",children:(0,c.jsx)(s.code,{children:"@flecks/db"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"The database to connect to."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"The database to connect to."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"database"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"':memory:'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["SQL dialect. See: ",(0,c.jsx)(s.a,{href:"https://sequelize.org/v5/manual/dialects.html",children:"https://sequelize.org/v5/manual/dialects.html"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["SQL dialect. See: ",(0,c.jsx)(s.a,{href:"https://sequelize.org/v5/manual/dialects.html",children:"https://sequelize.org/v5/manual/dialects.html"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"dialect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'sqlite'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server host."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Database server host."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"host"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server password."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Database server password."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"password"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server port."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Database server port."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"port"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server username."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Database server username."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"username"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksdocker",children:(0,c.jsx)(s.code,{children:"@flecks/docker"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether to run docker containers."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Whether to run docker containers."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"enabled"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"true"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksdox",children:(0,c.jsx)(s.code,{children:"@flecks/dox"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Pattern pairs used to rewrite filenames in generated documentation."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Pattern pairs used to rewrite filenames in generated documentation."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"rewriteFilenames"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"[]"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckselectron",children:(0,c.jsx)(s.code,{children:"@flecks/electron"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Browser window options. See: ",(0,c.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/browser-window",children:"https://www.electronjs.org/docs/latest/api/browser-window"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Browser window options. See: ",(0,c.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/browser-window",children:"https://www.electronjs.org/docs/latest/api/browser-window"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"browserWindowOptions"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"{}"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Install devtools extensions (by default). You can pass an array of Chrome store IDs to install a list of custom extensions."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Install devtools extensions (by default). You can pass an array of Chrome store IDs to install a list of custom extensions."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"installExtensions"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"true"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Quit the app when all windows are closed."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Quit the app when all windows are closed."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"quitOnClosed"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"true"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["The URL to load in electron by default. Defaults to ",(0,c.jsx)(s.code,{children:"http://${flecks.get('@flecks/web.public')}"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["The URL to load in electron by default. Defaults to ",(0,c.jsx)(s.code,{children:"http://${flecks.get('@flecks/web.public')}"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"url"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksfleck",children:(0,c.jsx)(s.code,{children:"@flecks/fleck"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Webpack stats configuration."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Webpack stats configuration."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"stats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckspassport",children:(0,c.jsx)(s.code,{children:"@flecks/passport"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to redirect to after failed login."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Path to redirect to after failed login."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"failureRedirect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'/'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to redirect to after logout."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Path to redirect to after logout."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"logoutRedirect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'/'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to redirect to after successful login."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Path to redirect to after successful login."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"successRedirect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'/'"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksreact",children:(0,c.jsx)(s.code,{children:"@flecks/react"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"React providers."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"React providers."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"providers"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"['...']"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether to enable server-side rendering."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Whether to enable server-side rendering."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"ssr"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"true"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Whether to wrap the React root with ",(0,c.jsx)(s.code,{children:"React.StrictMode"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Whether to wrap the React root with ",(0,c.jsx)(s.code,{children:"React.StrictMode"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"strictMode"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"true"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksreactrouter",children:(0,c.jsx)(s.code,{children:"@flecks/react/router"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Select the root routes. Implement ",(0,c.jsx)(s.code,{children:"@flecks/react/router.routes"})," in e.g. ",(0,c.jsx)(s.code,{children:"@your/fleck"})," and set ",(0,c.jsx)(s.code,{children:"root"})," to ",(0,c.jsx)(s.code,{children:"@your/fleck"})," to render your routes."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Select the root routes. Implement ",(0,c.jsx)(s.code,{children:"@flecks/react/router.routes"})," in e.g. ",(0,c.jsx)(s.code,{children:"@your/fleck"})," and set ",(0,c.jsx)(s.code,{children:"root"})," to ",(0,c.jsx)(s.code,{children:"@your/fleck"})," to render your routes."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"root"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'@flecks/react/router'"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksredis",children:(0,c.jsx)(s.code,{children:"@flecks/redis"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Redis server host."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Redis server host."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"host"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'localhost'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Redis server port."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Redis server port."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"port"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"6379"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksserver",children:(0,c.jsx)(s.code,{children:"@flecks/server"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether HMR is enabled."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Whether HMR is enabled."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"hot"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"false"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Arguments to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html",children:"https://nodejs.org/api/cli.html"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Arguments to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html",children:"https://nodejs.org/api/cli.html"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"nodeArgs"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"[]"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Environment to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html#environment-variables",children:"https://nodejs.org/api/cli.html#environment-variables"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Environment to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html#environment-variables",children:"https://nodejs.org/api/cli.html#environment-variables"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"nodeEnv"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"{}"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether to start the server after building."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Whether to start the server after building."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"start"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"true"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Webpack stats configuration."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Webpack stats configuration."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"stats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckssessionserver",children:(0,c.jsx)(s.code,{children:"@flecks/session/server"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Set the cookie secret for session encryption. See: ",(0,c.jsx)(s.a,{href:"http://expressjs.com/en/resources/middleware/cookie-parser.html",children:"http://expressjs.com/en/resources/middleware/cookie-parser.html"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Set the cookie secret for session encryption. See: ",(0,c.jsx)(s.a,{href:"http://expressjs.com/en/resources/middleware/cookie-parser.html",children:"http://expressjs.com/en/resources/middleware/cookie-parser.html"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"cookieSecret"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'Set the FLECKS_ENV__flecks_session_server__cookieSecret environment variable!'"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksweb",children:(0,c.jsx)(s.code,{children:"@flecks/web"})}),"\n",(0,c.jsxs)("table",{className:i.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"The ID of the root element on the page."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"The ID of the root element on the page."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"appMountId"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'root'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Base tag path."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Base tag path."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"base"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'/'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["(webpack-dev-server) Host to bind. Defaults to ",(0,c.jsx)(s.code,{children:"flecks.web.host"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["(webpack-dev-server) Host to bind. Defaults to ",(0,c.jsx)(s.code,{children:"flecks.web.host"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"devHost"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"(webpack-dev-server) Port to bind. Defaults to random port."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"(webpack-dev-server) Port to bind. Defaults to random port."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"devPort"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"0"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"(webpack-dev-server) Webpack stats output."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"(webpack-dev-server) Webpack stats output."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"devStats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Modules to externalize using ",(0,c.jsx)(s.code,{children:"webpack.DllPlugin"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Modules to externalize using ",(0,c.jsx)(s.code,{children:"webpack.DllPlugin"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"dll"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"[]"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"host"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to icon."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Path to icon."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"icon"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"''"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Port to bind."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Port to bind."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"port"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"3000"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Meta tags."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Meta tags."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"meta"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"{\n charset: 'utf-8',\n viewport: 'width=device-width, user-scalable=no',\n}"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Public path to server. Defaults to ",(0,c.jsx)(s.code,{children:"[@flecks/web.host]:[@flecks/web.port]"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Public path to server. Defaults to ",(0,c.jsx)(s.code,{children:"[@flecks/web.host]:[@flecks/web.port]"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"public"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Webpack stats configuration."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"Webpack stats configuration."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"stats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"HTML title."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:i.Z.configBig,children:"HTML title."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"title"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"'[@flecks/core.id]'"})})]}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:i.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Proxies to trust. See: ",(0,c.jsx)(s.a,{href:"https://www.npmjs.com/package/proxy-addr",children:"https://www.npmjs.com/package/proxy-addr"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:i.Z.configBig,children:["Proxies to trust. See: ",(0,c.jsx)(s.a,{href:"https://www.npmjs.com/package/proxy-addr",children:"https://www.npmjs.com/package/proxy-addr"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"trust"})}),(0,c.jsx)("td",{children:(0,c.jsx)(d.Z,{language:"javascript",children:"false"})})]})]})]})]})}function x(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(j,{...e})}):j(e)}},7113:(e,s,l)=>{l.d(s,{Z:()=>c});const c={configBig:"configBig_NxNb",configSmall:"configSmall_SLee",configTable:"configTable_hbGc",hooks:"hooks_uvt_"}}}]); \ No newline at end of file diff --git a/assets/js/773fe5c0.8fa7c8a5.js b/assets/js/773fe5c0.8fa7c8a5.js deleted file mode 100644 index 36e251c3..00000000 --- a/assets/js/773fe5c0.8fa7c8a5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkflecks_docusaurus=self.webpackChunkflecks_docusaurus||[]).push([[1144],{9192:(e,s,l)=>{l.r(s),l.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>x,frontMatter:()=>r,metadata:()=>t,toc:()=>h});var c=l(5893),n=l(1151),i=l(9286),d=l(7113);const r={title:"Fleck configuration",description:"All the configurable flecks in this project."},a=void 0,t={id:"flecks/config",title:"Fleck configuration",description:"All the configurable flecks in this project.",source:"@site/docs/flecks/config.mdx",sourceDirName:"flecks",slug:"/flecks/config",permalink:"/flecks/docs/flecks/config",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Fleck configuration",description:"All the configurable flecks in this project."},sidebar:"flecksSidebar",previous:{title:"Hooks",permalink:"/flecks/docs/flecks/hooks"},next:{title:"Build files",permalink:"/flecks/docs/flecks/build-files"}},o={},h=[{value:"@flecks/build",id:"flecksbuild",level:2},{value:"@flecks/core",id:"fleckscore",level:2},{value:"@flecks/db",id:"flecksdb",level:2},{value:"@flecks/docker",id:"flecksdocker",level:2},{value:"@flecks/dox",id:"flecksdox",level:2},{value:"@flecks/electron",id:"fleckselectron",level:2},{value:"@flecks/fleck",id:"flecksfleck",level:2},{value:"@flecks/passport",id:"fleckspassport",level:2},{value:"@flecks/react",id:"flecksreact",level:2},{value:"@flecks/redis",id:"flecksredis",level:2},{value:"@flecks/server",id:"flecksserver",level:2},{value:"@flecks/session/server",id:"fleckssessionserver",level:2},{value:"@flecks/web",id:"flecksweb",level:2}];function j(e){const s={a:"a",code:"code",h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(s.p,{children:"This page documents all configurable flecks in this project."}),"\n",(0,c.jsx)(s.h2,{id:"flecksbuild",children:(0,c.jsx)(s.code,{children:"@flecks/build"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Build targets to profile with ",(0,c.jsx)(s.code,{children:"webpack.debug.ProfilingPlugin"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Build targets to profile with ",(0,c.jsx)(s.code,{children:"webpack.debug.ProfilingPlugin"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"profile"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"[]"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckscore",children:(0,c.jsx)(s.code,{children:"@flecks/core"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"The ID of your application."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"The ID of your application."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"id"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'flecks'"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksdb",children:(0,c.jsx)(s.code,{children:"@flecks/db"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"The database to connect to."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"The database to connect to."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"database"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"':memory:'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["SQL dialect. See: ",(0,c.jsx)(s.a,{href:"https://sequelize.org/v5/manual/dialects.html",children:"https://sequelize.org/v5/manual/dialects.html"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["SQL dialect. See: ",(0,c.jsx)(s.a,{href:"https://sequelize.org/v5/manual/dialects.html",children:"https://sequelize.org/v5/manual/dialects.html"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"dialect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'sqlite'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server host."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Database server host."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"host"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server password."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Database server password."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"password"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server port."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Database server port."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"port"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Database server username."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Database server username."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"username"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksdocker",children:(0,c.jsx)(s.code,{children:"@flecks/docker"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether to run docker containers."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Whether to run docker containers."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"enabled"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"true"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksdox",children:(0,c.jsx)(s.code,{children:"@flecks/dox"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Pattern pairs used to rewrite filenames in generated documentation."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Pattern pairs used to rewrite filenames in generated documentation."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"rewriteFilenames"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"[]"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckselectron",children:(0,c.jsx)(s.code,{children:"@flecks/electron"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Browser window options. See: ",(0,c.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/browser-window",children:"https://www.electronjs.org/docs/latest/api/browser-window"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Browser window options. See: ",(0,c.jsx)(s.a,{href:"https://www.electronjs.org/docs/latest/api/browser-window",children:"https://www.electronjs.org/docs/latest/api/browser-window"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"browserWindowOptions"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"{}"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Install devtools extensions (by default). You can pass an array of Chrome store IDs to install a list of custom extensions."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Install devtools extensions (by default). You can pass an array of Chrome store IDs to install a list of custom extensions."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"installExtensions"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"true"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Quit the app when all windows are closed."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Quit the app when all windows are closed."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"quitOnClosed"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"true"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["The URL to load in electron by default. Defaults to ",(0,c.jsx)(s.code,{children:"http://${flecks.get('@flecks/web.public')}"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["The URL to load in electron by default. Defaults to ",(0,c.jsx)(s.code,{children:"http://${flecks.get('@flecks/web.public')}"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"url"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksfleck",children:(0,c.jsx)(s.code,{children:"@flecks/fleck"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Webpack stats configuration."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Webpack stats configuration."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"stats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckspassport",children:(0,c.jsx)(s.code,{children:"@flecks/passport"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to redirect to after failed login."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Path to redirect to after failed login."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"failureRedirect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'/'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to redirect to after logout."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Path to redirect to after logout."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"logoutRedirect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'/'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to redirect to after successful login."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Path to redirect to after successful login."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"successRedirect"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'/'"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksreact",children:(0,c.jsx)(s.code,{children:"@flecks/react"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"React providers."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"React providers."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"providers"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"['...']"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether to enable server-side rendering."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Whether to enable server-side rendering."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"ssr"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"true"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksredis",children:(0,c.jsx)(s.code,{children:"@flecks/redis"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Redis server host."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Redis server host."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"host"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'localhost'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Redis server port."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Redis server port."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"port"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"6379"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksserver",children:(0,c.jsx)(s.code,{children:"@flecks/server"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether HMR is enabled."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Whether HMR is enabled."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"hot"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"false"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Arguments to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html",children:"https://nodejs.org/api/cli.html"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Arguments to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html",children:"https://nodejs.org/api/cli.html"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"nodeArgs"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"[]"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Environment to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html#environment-variables",children:"https://nodejs.org/api/cli.html#environment-variables"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Environment to pass along to node. See: ",(0,c.jsx)(s.a,{href:"https://nodejs.org/api/cli.html#environment-variables",children:"https://nodejs.org/api/cli.html#environment-variables"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"nodeEnv"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"{}"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Whether to start the server after building."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Whether to start the server after building."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"start"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"true"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Webpack stats configuration."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Webpack stats configuration."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"stats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"fleckssessionserver",children:(0,c.jsx)(s.code,{children:"@flecks/session/server"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Set the cookie secret for session encryption. See: ",(0,c.jsx)(s.a,{href:"http://expressjs.com/en/resources/middleware/cookie-parser.html",children:"http://expressjs.com/en/resources/middleware/cookie-parser.html"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Set the cookie secret for session encryption. See: ",(0,c.jsx)(s.a,{href:"http://expressjs.com/en/resources/middleware/cookie-parser.html",children:"http://expressjs.com/en/resources/middleware/cookie-parser.html"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"cookieSecret"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'Set the FLECKS_ENV__flecks_session_server__cookieSecret environment variable!'"})})]})]})]}),"\n",(0,c.jsx)(s.h2,{id:"flecksweb",children:(0,c.jsx)(s.code,{children:"@flecks/web"})}),"\n",(0,c.jsxs)("table",{className:d.Z.configTable,children:[(0,c.jsxs)("thead",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Description"}),(0,c.jsx)("td",{children:"Name"}),(0,c.jsx)("td",{children:"Default value"})]}),(0,c.jsxs)("tbody",{children:[(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"The ID of the root element on the page."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"The ID of the root element on the page."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"appMountId"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'root'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Base tag path."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Base tag path."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"base"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'/'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["(webpack-dev-server) Host to bind. Defaults to ",(0,c.jsx)(s.code,{children:"flecks.web.host"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["(webpack-dev-server) Host to bind. Defaults to ",(0,c.jsx)(s.code,{children:"flecks.web.host"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"devHost"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"(webpack-dev-server) Port to bind. Defaults to random port."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"(webpack-dev-server) Port to bind. Defaults to random port."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"devPort"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"0"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"(webpack-dev-server) Webpack stats output."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"(webpack-dev-server) Webpack stats output."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"devStats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Modules to externalize using ",(0,c.jsx)(s.code,{children:"webpack.DllPlugin"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Modules to externalize using ",(0,c.jsx)(s.code,{children:"webpack.DllPlugin"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"dll"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"[]"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"host"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Path to icon."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Path to icon."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"icon"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"''"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Port to bind."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Port to bind."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"port"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"3000"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Meta tags."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Meta tags."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"meta"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"{\n charset: 'utf-8',\n viewport: 'width=device-width, user-scalable=no',\n}"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Public path to server. Defaults to ",(0,c.jsx)(s.code,{children:"[@flecks/web.host]:[@flecks/web.port]"}),"."]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Public path to server. Defaults to ",(0,c.jsx)(s.code,{children:"[@flecks/web.host]:[@flecks/web.port]"}),"."]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"public"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"undefined"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"Webpack stats configuration."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"Webpack stats configuration."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"stats"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"{\n preset: 'minimal',\n}"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2",children:"HTML title."})}),(0,c.jsxs)("tr",{children:[(0,c.jsx)("td",{className:d.Z.configBig,children:"HTML title."}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"title"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"'[@flecks/core.id]'"})})]}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsx)("td",{colspan:"2"})}),(0,c.jsx)("tr",{className:d.Z.configSmall,children:(0,c.jsxs)("td",{colspan:"2",children:["Proxies to trust. See: ",(0,c.jsx)(s.a,{href:"https://www.npmjs.com/package/proxy-addr",children:"https://www.npmjs.com/package/proxy-addr"})]})}),(0,c.jsxs)("tr",{children:[(0,c.jsxs)("td",{className:d.Z.configBig,children:["Proxies to trust. See: ",(0,c.jsx)(s.a,{href:"https://www.npmjs.com/package/proxy-addr",children:"https://www.npmjs.com/package/proxy-addr"})]}),(0,c.jsx)("td",{children:(0,c.jsx)(s.code,{children:"trust"})}),(0,c.jsx)("td",{children:(0,c.jsx)(i.Z,{language:"javascript",children:"false"})})]})]})]})]})}function x(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,c.jsx)(s,{...e,children:(0,c.jsx)(j,{...e})}):j(e)}},7113:(e,s,l)=>{l.d(s,{Z:()=>c});const c={configBig:"configBig_NxNb",configSmall:"configSmall_SLee",configTable:"configTable_hbGc",hooks:"hooks_uvt_"}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.0f858b8f.js b/assets/js/runtime~main.00fa6e29.js similarity index 97% rename from assets/js/runtime~main.0f858b8f.js rename to assets/js/runtime~main.00fa6e29.js index eddd3fd3..6d2f8095 100644 --- a/assets/js/runtime~main.0f858b8f.js +++ b/assets/js/runtime~main.00fa6e29.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},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,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&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(f,b),f},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/"+({53:"935f2afb",107:"cdb1c15d",196:"cbb899e4",396:"5b08841f",937:"972d9d57",944:"57cdf011",1052:"3c291670",1073:"9967cc6c",1144:"773fe5c0",1156:"32e8e2d9",1204:"be07d3f5",1540:"c6ac44d3",1695:"2357b171",1825:"c208b484",1851:"b045326f",2163:"14f78a16",2297:"e6ab389f",2535:"814f3328",2596:"357e2da2",2837:"16e47f6f",2873:"18911325",3089:"a6aa9e1f",3541:"af7d3287",3608:"9e4087bc",3630:"f9a0490a",3850:"1ecec20c",4013:"01a85c17",4138:"3d909a3c",4352:"b4c8994e",4364:"5df00a39",4368:"a94703ab",4639:"8d4b214a",4861:"e98a169a",5048:"a0957561",5679:"72512343",5722:"c6694cff",5930:"fa4d91bf",6103:"ccc49370",6128:"160a3b85",6273:"ae551c69",6325:"8f92789c",6419:"55ec95f7",6911:"8b0cd02a",7041:"ba61d949",7279:"8333feff",7280:"01f01013",7918:"17896441",8151:"0a6dca49",8312:"bfa2a205",8446:"d758dcd4",8518:"a7bd4aaa",8532:"32a57bab",8610:"6875c492",8817:"28b22665",8883:"bb194406",9091:"06d8b529",9339:"6cabb5ed",9657:"757d5e39",9661:"5e95c892",9686:"041c5cc5",9817:"14eb3368",9828:"fb49b6cf",9832:"dad808ed"}[e]||e)+"."+{53:"69ca59f4",107:"58b4757a",109:"32733b05",130:"8b1c1c76",132:"ae35eca4",196:"ce53225e",240:"07917f61",396:"f24b827a",937:"e17415e6",944:"bdedddcd",1052:"591af961",1073:"e012af4c",1144:"8fa7c8a5",1156:"4cf8f5a7",1204:"c841ff60",1504:"957f1d57",1540:"614ef72f",1644:"d976dcda",1695:"eefa1299",1763:"7daca6d0",1772:"897dbcaa",1825:"d1e420e7",1851:"7e4e5a73",2163:"36adbb86",2183:"3334b572",2297:"e68c3902",2312:"2c0c9fc1",2535:"9fe043da",2596:"b6b0f02c",2661:"5f234f73",2693:"092c080b",2696:"43f9fa5f",2700:"b8c28ffc",2837:"655a04b3",2873:"480d97ab",3089:"5a7199a7",3343:"e0acdec4",3541:"f2f64927",3608:"b89e0d4b",3619:"fbb2fff5",3630:"5a369c5f",3850:"37a9cd97",4013:"6da1492b",4138:"1790b66b",4238:"641fbfe9",4352:"0bc9affe",4364:"7bfa3769",4368:"0848533e",4639:"525907b8",4706:"a02e6509",4861:"514fa2db",5048:"7eddbdc5",5269:"d66122f8",5326:"b2028c2d",5679:"2aff5fe2",5722:"93c7f3ee",5790:"4a3585b2",5930:"54175225",5943:"426845a9",6103:"28e0b968",6128:"5cebb56e",6255:"d3d0f009",6273:"299ad5c6",6325:"873ed1ac",6419:"284324d4",6648:"b268d988",6911:"c3e732be",6985:"bd79313b",7041:"531541c3",7279:"17ba8d09",7280:"049ecd45",7918:"715b14e3",7936:"6c79a23e",8016:"5c15b204",8071:"5ed0c00a",8151:"4c1a6630",8312:"ec15f400",8446:"c7b2fcc9",8518:"b46b1112",8532:"394a7c49",8610:"0c8c3ca7",8817:"594ace52",8883:"3dc5d602",8955:"e03572fe",9091:"d44ffe3f",9138:"ff7a7963",9339:"c448f3bb",9657:"6ec885d3",9661:"68abf1d3",9686:"9c94d515",9817:"e9035a2d",9828:"a12b8111",9832:"0e8e10e2",9840:"0b029c1d",9893:"cf0ffbf2"}[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),d={},f="flecks-docusaurus:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/flecks/",r.gca=function(e){return e={17896441:"7918",18911325:"2873",72512343:"5679","935f2afb":"53",cdb1c15d:"107",cbb899e4:"196","5b08841f":"396","972d9d57":"937","57cdf011":"944","3c291670":"1052","9967cc6c":"1073","773fe5c0":"1144","32e8e2d9":"1156",be07d3f5:"1204",c6ac44d3:"1540","2357b171":"1695",c208b484:"1825",b045326f:"1851","14f78a16":"2163",e6ab389f:"2297","814f3328":"2535","357e2da2":"2596","16e47f6f":"2837",a6aa9e1f:"3089",af7d3287:"3541","9e4087bc":"3608",f9a0490a:"3630","1ecec20c":"3850","01a85c17":"4013","3d909a3c":"4138",b4c8994e:"4352","5df00a39":"4364",a94703ab:"4368","8d4b214a":"4639",e98a169a:"4861",a0957561:"5048",c6694cff:"5722",fa4d91bf:"5930",ccc49370:"6103","160a3b85":"6128",ae551c69:"6273","8f92789c":"6325","55ec95f7":"6419","8b0cd02a":"6911",ba61d949:"7041","8333feff":"7279","01f01013":"7280","0a6dca49":"8151",bfa2a205:"8312",d758dcd4:"8446",a7bd4aaa:"8518","32a57bab":"8532","6875c492":"8610","28b22665":"8817",bb194406:"8883","06d8b529":"9091","6cabb5ed":"9339","757d5e39":"9657","5e95c892":"9661","041c5cc5":"9686","14eb3368":"9817",fb49b6cf:"9828",dad808ed:"9832"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},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,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&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(f,b),f},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/"+({53:"935f2afb",107:"cdb1c15d",196:"cbb899e4",396:"5b08841f",937:"972d9d57",944:"57cdf011",1052:"3c291670",1073:"9967cc6c",1144:"773fe5c0",1156:"32e8e2d9",1204:"be07d3f5",1540:"c6ac44d3",1695:"2357b171",1825:"c208b484",1851:"b045326f",2163:"14f78a16",2297:"e6ab389f",2535:"814f3328",2596:"357e2da2",2837:"16e47f6f",2873:"18911325",3089:"a6aa9e1f",3541:"af7d3287",3608:"9e4087bc",3630:"f9a0490a",3850:"1ecec20c",4013:"01a85c17",4138:"3d909a3c",4352:"b4c8994e",4364:"5df00a39",4368:"a94703ab",4639:"8d4b214a",4861:"e98a169a",5048:"a0957561",5679:"72512343",5722:"c6694cff",5930:"fa4d91bf",6103:"ccc49370",6128:"160a3b85",6273:"ae551c69",6325:"8f92789c",6419:"55ec95f7",6911:"8b0cd02a",7041:"ba61d949",7279:"8333feff",7280:"01f01013",7918:"17896441",8151:"0a6dca49",8312:"bfa2a205",8446:"d758dcd4",8518:"a7bd4aaa",8532:"32a57bab",8610:"6875c492",8817:"28b22665",8883:"bb194406",9091:"06d8b529",9339:"6cabb5ed",9657:"757d5e39",9661:"5e95c892",9686:"041c5cc5",9817:"14eb3368",9828:"fb49b6cf",9832:"dad808ed"}[e]||e)+"."+{53:"69ca59f4",107:"58b4757a",109:"32733b05",130:"8b1c1c76",132:"ae35eca4",196:"ce53225e",240:"07917f61",396:"f24b827a",937:"e17415e6",944:"a4fe0d6c",1052:"591af961",1073:"e012af4c",1144:"83633f2c",1156:"4cf8f5a7",1204:"c841ff60",1504:"957f1d57",1540:"614ef72f",1644:"d976dcda",1695:"eefa1299",1763:"7daca6d0",1772:"897dbcaa",1825:"d1e420e7",1851:"7e4e5a73",2163:"36adbb86",2183:"3334b572",2297:"e68c3902",2312:"2c0c9fc1",2535:"9fe043da",2596:"b6b0f02c",2661:"5f234f73",2693:"092c080b",2696:"43f9fa5f",2700:"b8c28ffc",2837:"655a04b3",2873:"480d97ab",3089:"5a7199a7",3343:"e0acdec4",3541:"f2f64927",3608:"b89e0d4b",3619:"fbb2fff5",3630:"5a369c5f",3850:"37a9cd97",4013:"6da1492b",4138:"1790b66b",4238:"641fbfe9",4352:"0bc9affe",4364:"7bfa3769",4368:"0848533e",4639:"525907b8",4706:"a02e6509",4861:"514fa2db",5048:"7eddbdc5",5269:"d66122f8",5326:"b2028c2d",5679:"511f6346",5722:"93c7f3ee",5790:"4a3585b2",5930:"54175225",5943:"426845a9",6103:"28e0b968",6128:"5cebb56e",6255:"d3d0f009",6273:"299ad5c6",6325:"873ed1ac",6419:"284324d4",6648:"b268d988",6911:"c3e732be",6985:"bd79313b",7041:"531541c3",7279:"17ba8d09",7280:"049ecd45",7918:"715b14e3",7936:"6c79a23e",8016:"5c15b204",8071:"5ed0c00a",8151:"4c1a6630",8312:"ec15f400",8446:"c7b2fcc9",8518:"b46b1112",8532:"394a7c49",8610:"0c8c3ca7",8817:"594ace52",8883:"3dc5d602",8955:"e03572fe",9091:"d44ffe3f",9138:"ff7a7963",9339:"c448f3bb",9657:"6ec885d3",9661:"68abf1d3",9686:"9c94d515",9817:"e9035a2d",9828:"a12b8111",9832:"0e8e10e2",9840:"0b029c1d",9893:"cf0ffbf2"}[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),d={},f="flecks-docusaurus:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/flecks/",r.gca=function(e){return e={17896441:"7918",18911325:"2873",72512343:"5679","935f2afb":"53",cdb1c15d:"107",cbb899e4:"196","5b08841f":"396","972d9d57":"937","57cdf011":"944","3c291670":"1052","9967cc6c":"1073","773fe5c0":"1144","32e8e2d9":"1156",be07d3f5:"1204",c6ac44d3:"1540","2357b171":"1695",c208b484:"1825",b045326f:"1851","14f78a16":"2163",e6ab389f:"2297","814f3328":"2535","357e2da2":"2596","16e47f6f":"2837",a6aa9e1f:"3089",af7d3287:"3541","9e4087bc":"3608",f9a0490a:"3630","1ecec20c":"3850","01a85c17":"4013","3d909a3c":"4138",b4c8994e:"4352","5df00a39":"4364",a94703ab:"4368","8d4b214a":"4639",e98a169a:"4861",a0957561:"5048",c6694cff:"5722",fa4d91bf:"5930",ccc49370:"6103","160a3b85":"6128",ae551c69:"6273","8f92789c":"6325","55ec95f7":"6419","8b0cd02a":"6911",ba61d949:"7041","8333feff":"7279","01f01013":"7280","0a6dca49":"8151",bfa2a205:"8312",d758dcd4:"8446",a7bd4aaa:"8518","32a57bab":"8532","6875c492":"8610","28b22665":"8817",bb194406:"8883","06d8b529":"9091","6cabb5ed":"9339","757d5e39":"9657","5e95c892":"9661","041c5cc5":"9686","14eb3368":"9817",fb49b6cf:"9828",dad808ed:"9832"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n Blog | flecks - + diff --git a/blog/archive.html b/blog/archive.html index 5fd2adac..c1896902 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -5,7 +5,7 @@ Archive | flecks - + diff --git a/blog/introducing-flecks.html b/blog/introducing-flecks.html index f5405bcc..d56a8748 100644 --- a/blog/introducing-flecks.html +++ b/blog/introducing-flecks.html @@ -5,7 +5,7 @@ flecks: NOT a fullstack framework | flecks - + diff --git a/blog/reimplementing-flecks-react.html b/blog/reimplementing-flecks-react.html index 952e8ef7..aaae7f55 100644 --- a/blog/reimplementing-flecks-react.html +++ b/blog/reimplementing-flecks-react.html @@ -5,7 +5,7 @@ Reimplementing `@flecks/react` by hand | flecks - + diff --git a/blog/tags.html b/blog/tags.html index aabff65e..78865255 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -5,7 +5,7 @@ Tags | flecks - + diff --git a/blog/tags/announcement.html b/blog/tags/announcement.html index 68bf3d80..01bf4487 100644 --- a/blog/tags/announcement.html +++ b/blog/tags/announcement.html @@ -5,7 +5,7 @@ One post tagged with "announcement" | flecks - + diff --git a/blog/tags/education.html b/blog/tags/education.html index 6bfb1d78..ffcc0a18 100644 --- a/blog/tags/education.html +++ b/blog/tags/education.html @@ -5,7 +5,7 @@ One post tagged with "education" | flecks - + diff --git a/blog/tags/flecks.html b/blog/tags/flecks.html index 4c656b53..2514b335 100644 --- a/blog/tags/flecks.html +++ b/blog/tags/flecks.html @@ -5,7 +5,7 @@ 2 posts tagged with "flecks" | flecks - + diff --git a/blog/tags/introducing.html b/blog/tags/introducing.html index 16c54bb3..71b80350 100644 --- a/blog/tags/introducing.html +++ b/blog/tags/introducing.html @@ -5,7 +5,7 @@ One post tagged with "introducing" | flecks - + diff --git a/blog/tags/release.html b/blog/tags/release.html index 49a0ad2d..adc6cd85 100644 --- a/blog/tags/release.html +++ b/blog/tags/release.html @@ -5,7 +5,7 @@ One post tagged with "release" | flecks - + diff --git a/docs.html b/docs.html index 33fb25f8..4c2cb14c 100644 --- a/docs.html +++ b/docs.html @@ -5,7 +5,7 @@ Introduction | flecks - + diff --git a/docs/adding-flecks.html b/docs/adding-flecks.html index 0f52e894..57b759c3 100644 --- a/docs/adding-flecks.html +++ b/docs/adding-flecks.html @@ -5,7 +5,7 @@ Adding flecks | flecks - + diff --git a/docs/building-your-application.html b/docs/building-your-application.html index 20e2c24e..fbfd1254 100644 --- a/docs/building-your-application.html +++ b/docs/building-your-application.html @@ -5,7 +5,7 @@ Building your application | flecks - + diff --git a/docs/building-your-fleck.html b/docs/building-your-fleck.html index f8befe4b..56762d1d 100644 --- a/docs/building-your-fleck.html +++ b/docs/building-your-fleck.html @@ -5,7 +5,7 @@ Building and testing | flecks - + diff --git a/docs/category/generated-details.html b/docs/category/generated-details.html index 94bd08f8..5b221313 100644 --- a/docs/category/generated-details.html +++ b/docs/category/generated-details.html @@ -5,7 +5,7 @@ Generated details | flecks - + diff --git a/docs/category/getting-started.html b/docs/category/getting-started.html index ddb95661..0554c04f 100644 --- a/docs/category/getting-started.html +++ b/docs/category/getting-started.html @@ -5,7 +5,7 @@ Getting Started | flecks - + diff --git a/docs/category/guides.html b/docs/category/guides.html index a4612aad..92eee8f5 100644 --- a/docs/category/guides.html +++ b/docs/category/guides.html @@ -5,7 +5,7 @@ Guides | flecks - + diff --git a/docs/category/writing-your-flecks.html b/docs/category/writing-your-flecks.html index 4d0c53df..9b92999e 100644 --- a/docs/category/writing-your-flecks.html +++ b/docs/category/writing-your-flecks.html @@ -5,7 +5,7 @@ Writing your fleck(s) | flecks - + diff --git a/docs/cli.html b/docs/cli.html index 223762e1..f208978a 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -5,7 +5,7 @@ Command-line interface | flecks - + diff --git a/docs/configuration.html b/docs/configuration.html index a165d752..389ef43e 100644 --- a/docs/configuration.html +++ b/docs/configuration.html @@ -5,7 +5,7 @@ Configuration | flecks - + diff --git a/docs/creating-a-fleck.html b/docs/creating-a-fleck.html index 2b09ddd3..ca2d76c5 100644 --- a/docs/creating-a-fleck.html +++ b/docs/creating-a-fleck.html @@ -5,7 +5,7 @@ Creating a fleck | flecks - + diff --git a/docs/database.html b/docs/database.html index 7f908445..b5a8899a 100644 --- a/docs/database.html +++ b/docs/database.html @@ -5,7 +5,7 @@ Database | flecks - + diff --git a/docs/docker.html b/docs/docker.html index 059406b0..167976e3 100644 --- a/docs/docker.html +++ b/docs/docker.html @@ -5,7 +5,7 @@ Docker | flecks - + diff --git a/docs/documentation.html b/docs/documentation.html index dfdec677..e2fcefd6 100644 --- a/docs/documentation.html +++ b/docs/documentation.html @@ -5,7 +5,7 @@ Documentation | flecks - + diff --git a/docs/electron.html b/docs/electron.html index 38321fb1..bb2bd5c8 100644 --- a/docs/electron.html +++ b/docs/electron.html @@ -5,7 +5,7 @@ Electron | flecks - + diff --git a/docs/environment.html b/docs/environment.html index 3ae53a52..155d6590 100644 --- a/docs/environment.html +++ b/docs/environment.html @@ -5,7 +5,7 @@ Environment Variables | flecks - + diff --git a/docs/flecks/build-files.html b/docs/flecks/build-files.html index 868abe0f..47932eb2 100644 --- a/docs/flecks/build-files.html +++ b/docs/flecks/build-files.html @@ -5,7 +5,7 @@ Build files | flecks - + diff --git a/docs/flecks/config.html b/docs/flecks/config.html index 18338841..cdd36249 100644 --- a/docs/flecks/config.html +++ b/docs/flecks/config.html @@ -5,7 +5,7 @@ Fleck configuration | flecks - + @@ -27,7 +27,9 @@

@flecks/fl

@flecks/passport

DescriptionNameDefault value
Path to redirect to after failed login.
Path to redirect to after failed login.failureRedirect
'/'
Path to redirect to after logout.
Path to redirect to after logout.logoutRedirect
'/'
Path to redirect to after successful login.
Path to redirect to after successful login.successRedirect
'/'

@flecks/react

-
DescriptionNameDefault value
React providers.
React providers.providers
['...']
Whether to enable server-side rendering.
Whether to enable server-side rendering.ssr
true
+
DescriptionNameDefault value
React providers.
React providers.providers
['...']
Whether to enable server-side rendering.
Whether to enable server-side rendering.ssr
true
Whether to wrap the React root with React.StrictMode.
Whether to wrap the React root with React.StrictMode.strictMode
true
+

@flecks/react/router

+
DescriptionNameDefault value
Select the root routes. Implement @flecks/react/router.routes in e.g. @your/fleck and set root to @your/fleck to render your routes.
Select the root routes. Implement @flecks/react/router.routes in e.g. @your/fleck and set root to @your/fleck to render your routes.root
'@flecks/react/router'

@flecks/redis

DescriptionNameDefault value
Redis server host.
Redis server host.host
'localhost'
Redis server port.
Redis server port.port
6379

@flecks/server

@@ -35,6 +37,6 @@

@flecks/s

@flecks/session/server

DescriptionNameDefault value
Set the cookie secret for session encryption. See: http://expressjs.com/en/resources/middleware/cookie-parser.html
Set the cookie secret for session encryption. See: http://expressjs.com/en/resources/middleware/cookie-parser.htmlcookieSecret
'Set the FLECKS_ENV__flecks_session_server__cookieSecret environment variable!'

@flecks/web

-
DescriptionNameDefault value
The ID of the root element on the page.
The ID of the root element on the page.appMountId
'root'
Base tag path.
Base tag path.base
'/'
(webpack-dev-server) Host to bind. Defaults to flecks.web.host
(webpack-dev-server) Host to bind. Defaults to flecks.web.hostdevHost
undefined
(webpack-dev-server) Port to bind. Defaults to random port.
(webpack-dev-server) Port to bind. Defaults to random port.devPort
0
(webpack-dev-server) Webpack stats output.
(webpack-dev-server) Webpack stats output.devStats
{
preset: 'minimal',
}
Modules to externalize using webpack.DllPlugin.
Modules to externalize using webpack.DllPlugin.dll
[]
Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production.
Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production.host
undefined
Path to icon.
Path to icon.icon
''
Port to bind.
Port to bind.port
3000
Meta tags.
Meta tags.meta
{
charset: 'utf-8',
viewport: 'width=device-width, user-scalable=no',
}
Public path to server. Defaults to [@flecks/web.host]:[@flecks/web.port].
Public path to server. Defaults to [@flecks/web.host]:[@flecks/web.port].public
undefined
Webpack stats configuration.
Webpack stats configuration.stats
{
preset: 'minimal',
}
HTML title.
HTML title.title
'[@flecks/core.id]'
Proxies to trust. See: https://www.npmjs.com/package/proxy-addr
Proxies to trust. See: https://www.npmjs.com/package/proxy-addrtrust
false
+
DescriptionNameDefault value
The ID of the root element on the page.
The ID of the root element on the page.appMountId
'root'
Base tag path.
Base tag path.base
'/'
(webpack-dev-server) Host to bind. Defaults to flecks.web.host
(webpack-dev-server) Host to bind. Defaults to flecks.web.hostdevHost
undefined
(webpack-dev-server) Port to bind. Defaults to random port.
(webpack-dev-server) Port to bind. Defaults to random port.devPort
0
(webpack-dev-server) Webpack stats output.
(webpack-dev-server) Webpack stats output.devStats
{
preset: 'minimal',
}
Modules to externalize using webpack.DllPlugin.
Modules to externalize using webpack.DllPlugin.dll
[]
Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production.
Host to bind. Defaults to 'localhost' in development and '0.0.0.0' in production.host
undefined
Path to icon.
Path to icon.icon
''
Port to bind.
Port to bind.port
3000
Meta tags.
Meta tags.meta
{
charset: 'utf-8',
viewport: 'width=device-width, user-scalable=no',
}
Public path to server. Defaults to [@flecks/web.host]:[@flecks/web.port].
Public path to server. Defaults to [@flecks/web.host]:[@flecks/web.port].public
undefined
Webpack stats configuration.
Webpack stats configuration.stats
{
preset: 'minimal',
}
HTML title.
HTML title.title
'[@flecks/core.id]'
Proxies to trust. See: https://www.npmjs.com/package/proxy-addr
Proxies to trust. See: https://www.npmjs.com/package/proxy-addrtrust
false
\ No newline at end of file diff --git a/docs/flecks/hooks.html b/docs/flecks/hooks.html index 0480df3e..946d5caf 100644 --- a/docs/flecks/hooks.html +++ b/docs/flecks/hooks.html @@ -5,7 +5,7 @@ Hooks | flecks - + @@ -93,14 +93,14 @@

the configuration page for more details.

Example usage

export const hooks = {
'@flecks/core.config': () => ({
whatever: 'configuration',
your: 1337,
fleck: 'needs',
/**
* Also, comments like this will be used to automatically generate documentation.
*/
though: 'you should keep the values serializable',
})
};
- +

@flecks/core.gathered

invokeAsync

Let flecks gather for you.

See the Gathering guide.

Example usage

export const hooks = {
'@flecks/core.gathered': () => ({
// If this hook is implemented by a fleck called `@some/fleck`, then:
//
// This is equivalent to flecks.gather('@some/fleck.somethings'):
somethings: {},
//
// This is equivalent to flecks.gather('@some/fleck.others', {typeProperty: 'name'}):
others: {
typeProperty: 'name',
},
})
};
- +

@flecks/core.hmr

Invoked when a module is HMR'd. Throw to abort hot reload and restart application. Must be synchronous.

@@ -110,7 +110,7 @@

path: stri

The path of the fleck

updated: Module

The updated module.

- +

@flecks/core.hmr.gathered

invoke

Invoked when a gathered set is HMR'd.

@@ -120,7 +120,7 @@

g

The gathered set.

hook: string

The gather hook; e.g. @flecks/db.models.

- +

@flecks/core.hmr.gathered.class

invoke

Invoked when a gathered class is HMR'd.

@@ -130,7 +130,7 @@

Clas

The class.

hook: string

The gather hook; e.g. @flecks/db.models.

- +

@flecks/core.hmr.hook

Invoked when a hook is HMR'd. Throw to abort hot reload and restart application. Must be synchronous.

@@ -140,7 +140,7 @@

hook: st

The hook that was updated.

path: string

The path of the fleck implementing the updated hook.

- +

@flecks/core.priority

invoke

Invoked when flecks is building a fleck dependency graph.

@@ -150,7 +150,7 @@

graph: D

The dependency graph.

hook: string

The hook; e.g. @flecks/server.up.

- +

@flecks/core.registered

invoke

Invoked when a fleck is registered.

@@ -176,6 +176,7 @@

Example usage

export const hooks = {
'@flecks/core.starting': () => {
console.log('starting!');
}
};
+

@flecks/db.models

invokeMergeAsync

Gather database models.

@@ -229,7 +230,7 @@

Example usa
export const hooks = {
'@flecks/electron/server.extensions': (installer) => [
// Some defaults provided...
installer.BACKBONE_DEBUGGER,
// By ID (Tamper Monkey):
'dhdgffkkebhmkfjojejmpbldmpobfkfo',
]
};

installer: Installer

The installer.

- +

@flecks/electron/server.initialize

invokeSequentialAsync

Invoked when electron is initializing.

@@ -278,12 +279,13 @@

Example usa
export const hooks = {
'@flecks/react.providers': (req) => {
return req ? serverSideProvider(req) : [SomeContext.Provider, {value: 'whatever'}];
}
};

req: http.ClientRequest

The HTTP request object.

-

Returns [ReactContextProvider<Props>, Props]

-

An array where the first element is a React -context provider and the second element is the props passed to the context provider.

- +

Returns ReactContextProvider | [ReactContextProvider<Props>, Props]

+

A React context +provider or an array where the first element is a React context provider and the second +element is the props passed to the provider.

+

@flecks/react.roots

-

invokeAsync

+

invokeSequentialAsync

Define root-level React components that are mounted as siblings on #main. Note: req will be only be defined when server-side rendering.

Return either a React component or an array whose elements must either be a React component @@ -293,56 +295,69 @@

Example usa
export const hooks = {
'@flecks/react.roots': (req) => {
// Note that we're not returning `<Component />`, but `Component`.
return [
Component,
[SomeOtherComponent, {prop: 'value'}]
];
// You can also just:
return Component;
}
};

req: http.ClientRequest

The HTTP request object.

- +

Returns Component | [Component<Props>, Props]

+

A React component or an array where the first +element is a React component and the second element is the props passed to the component.

+ +

@flecks/react/router.routes

+

Provide routes for React Router.

+

You can also build routes from a file structure using e.g.:

+
import {createRoutesFromContext} from '@flecks/react/router';

export const hooks = {
'@flecks/react/router.routes': () => (
createRoutesFromContext(require.context('./routes'))
),
};
+

See the documentation page on routing for more details.

+

Example usage

+
export const hooks = {
'@flecks/react/router.routes': () => {
// You can also just return routes how React Router expects:
return [
{
path: '/',
Component: function Component() {
return <p>This is the root route</p>;
},
},
{
path: '/team',
children: [
{
path: ':teamId',
Component: function Component() {
const {teamId} = useParams();
return <p>This is team {teamId}.</p>;
},
},
{
index: true,
Component: function Component() {
return <p>This is the team overview.</p>;
},
},
],
},
{
path: '/about',
Component: function Component() {
return <p>This is the about page</p>;
},
},
];
}
};
+

Returns RouteObject[]

+

An array of React Router route objects.

+

@flecks/redux.effects

invokeSequentialAsync

Define side-effects to run against Redux actions.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/redux.effects': () => ({
someActionName: (store, action) => {
// Runs when `someActionName` actions are dispatched.
},
})
};

@flecks/redux.reducers

invokeSequentialAsync

Define root-level reducers for the Redux store.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/redux.reducers': () => {
return (state, action) => {
// Whatever you'd like.
return state;
};
}
};

@flecks/redux.slices

invokeMergeUniqueAsync

Define Redux slices.

See: https://redux-toolkit.js.org/api/createSlice

-

Example usage

+

Example usage

export const hooks = {
'@flecks/redux.slices': () => {
const something = createSlice(
// ...
);
return {
something: something.reducer,
};
}
};
- +

@flecks/redux.store

invokeSequentialAsync

Modify Redux store configuration.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/redux.store': (options) => {
options.enhancers.splice(someIndex, 1);
options.middleware.push(mySpecialMiddleware);
}
};

options: Object

A mutable object with keys for enhancers and middleware.

- +

@flecks/repl.commands

invokeMergeUniqueAsync

Define REPL commands.

Note: commands will be prefixed with a period in the Node REPL.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/repl.commands': () => ({
someCommand: (...args) => {
// args are passed from the Node REPL. So, you could invoke it like:
// .someCommand foo bar
// and `args` would be `['foo', 'bar']`.
},
})
};

@flecks/repl.context

invokeMergeUniqueAsync

Provide global context to the REPL.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/repl.context': () => {
// Now you'd be able to do like:
// `node> someValue;`
// and the REPL would evaluate it to `'foobar'`.
return {
someValue: 'foobar',
};
}
};

@flecks/server.runtime

invokeAsync

Pass information to the runtime.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/server.runtime': async () => ({
something: '...',
})
};

@flecks/server.test.socket

Respond to server test socket actions.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/server.test.socket': (action, socket) => {
const {meta, payload, type} = action;
switch (type) {
case 'my.custom.action':
socket.write(JSON.stringify({
meta,
payload: 'my-test-response',
}));
break;
default:
}
}
};

action: Object

The action.

@@ -352,40 +367,40 @@

s

@flecks/server.up

invokeSequentialAsync

Define sequential actions to run when the server comes up.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/server.up': async () => {
await youCanDoAsyncThingsHere();
}
};
- +

@flecks/session.config

invokeMergeAsync

Configure the session. See: https://github.com/expressjs/session#sessionoptions

-

Example usage

+

Example usage

export const hooks = {
'@flecks/session.config': async () => ({
saveUninitialized: true,
})
};

@flecks/socket.client

invokeMergeAsync

Modify Socket.io client configuration.

See: https://socket.io/docs/v4/client-options/

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket.client': () => ({
timeout: Infinity,
})
};

@flecks/socket.intercom

invokeAsync

Define server-side intercom channels.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket.intercom': (req) => ({
// Assuming `@my/fleck` implemented this hook, this could be called like:
// `const result = await req.intercom('@my/fleck.key', payload)`.
// `result` will be an `n`-length array, where `n` is the number of server instances. Each
// element in the array will be the result of `someServiceSpecificInformation()` running
// against that server instance.
key: async (payload, server) => {
return someServiceSpecificInformation();
},
})
};

@flecks/socket.packets

invokeMergeAsync

Gather socket packets.

See: the Gathering guide.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket.packets': Flecks.provide(require.context('./packets', false, /\.js$/))
};

@flecks/socket.packets.decorate

invokeComposedAsync

Decorate socket packets.

See: the Gathering guide.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket.packets.decorate': Flecks.decorate(require.context('./packets/decorators', false, /\.js$/))
};

Packet: constructor

The packet to decorate.

@@ -394,13 +409,13 @@

@fl

invokeMergeAsync

Modify Socket.io server configuration.

See: https://socket.io/docs/v4/server-options/

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket.server': () => ({
pingTimeout: Infinity,
})
};

@flecks/socket/server.connect

invokeSequentialAsync

Do something with a connecting socket.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket/server.connect': (socket) => {
socket.on('disconnect', () => {
// ...
});
}
};

socket: ServerSocket

The connecting socket.

@@ -409,7 +424,7 @@

@

invokeSequentialAsync

Do something with the Socket.IO instance.

See: https://socket.io/docs/v4/server-instance/

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket/server.io': (io) => {
io.engine.on("headers", (headers, req) => {
headers["test"] = "789";
});
}
};

io: SocketIo

The Socket.IO server instance.

@@ -417,58 +432,62 @@

io: Socket

@flecks/socket/server.request.socket

invokeMiddleware

Define middleware to run when a socket connection is established.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/socket/server.request.socket': () => (socket, next) => {
// Express-style route middleware...
next();
}
};

@flecks/web.config

invokeAsync

Send configuration to clients.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/web.config': (req) => ({
someConfig: req.someConfig,
})
};

req: http.ClientRequest

The HTTP request object.

- +

@flecks/web.routes

invokeAsync

Define HTTP routes.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/web.routes': () => [
{
method: 'get',
path: '/some-path',
middleware: (req, res, next) => {
// Express-style route middleware...
next();
},
},
]
};
- +

@flecks/web/client.up

invokeSequentialAsync

Define sequential actions to run when the client comes up.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/web/client.up': async (container) => {
await youCanDoAsyncThingsHere();
}
};

container: Element

The root DOM element of the application.

- +

@flecks/web/server.request.route

invokeMiddleware

Define middleware to run when a route is matched.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/web/server.request.route': () => (req, res, next) => {
// Express-style route middleware...
next();
}
};
- +

@flecks/web/server.request.socket

invokeMiddleware

Define middleware to run when an HTTP socket connection is established.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/web/server.request.socket': () => (req, res, next) => {
// Express-style route middleware...
next();
}
};
- +

@flecks/web/server.stream.html

invokeComposedAsync

Define composition functions to run over the HTML stream prepared for the client.

-

Example usage

-
export const hooks = {
'@flecks/web/server.stream.html': (stream, req) => {
return stream.pipe(myTransformStream);
}
};
+

Example usage

+
export const hooks = {
'@flecks/web/server.stream.html': (stream, req, res) => {
// You may call `req.abort()` to abort the request if you e.g. respond to it early:
if ('some-redirect-condition') {
res.redirect('/somewhere', 301);
req.abort();
}
return stream.pipe(myTransformStream);
}
};

stream: stream.Readable

The HTML stream.

req: http.ClientRequest

The HTTP request object.

- +

res: http.ServerResponse

+

The HTTP response object.

+

Returns stream.Duplex

+

The stream to pipe to the response.

+

@flecks/web/server.up

invokeSequentialAsync

Define sequential actions to run when the HTTP server comes up.

-

Example usage

+

Example usage

export const hooks = {
'@flecks/web/server.up': async () => {
await youCanDoAsyncThingsHere();
}
};
-
+
\ No newline at end of file diff --git a/docs/flecks/todos.html b/docs/flecks/todos.html index b8500918..8dcc1199 100644 --- a/docs/flecks/todos.html +++ b/docs/flecks/todos.html @@ -5,11 +5,16 @@ TODO list | flecks - + +
\ No newline at end of file diff --git a/docs/gathering.html b/docs/gathering.html index 19ab7898..e079ef69 100644 --- a/docs/gathering.html +++ b/docs/gathering.html @@ -5,7 +5,7 @@ Gathering and Providing | flecks - + diff --git a/docs/hooks.html b/docs/hooks.html index 6e7857ff..70bdcd63 100644 --- a/docs/hooks.html +++ b/docs/hooks.html @@ -5,7 +5,7 @@ Hooks | flecks - + diff --git a/docs/installation.html b/docs/installation.html index 4bc211fa..26957d52 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -5,7 +5,7 @@ Installation | flecks - + diff --git a/docs/ordering.html b/docs/ordering.html index 1fdff69f..6abaabc6 100644 --- a/docs/ordering.html +++ b/docs/ordering.html @@ -5,7 +5,7 @@ Ordering | flecks - + diff --git a/docs/platforms.html b/docs/platforms.html index 6396edb6..52df76fd 100644 --- a/docs/platforms.html +++ b/docs/platforms.html @@ -5,7 +5,7 @@ Platforms | flecks - + diff --git a/docs/react.html b/docs/react.html index be4a369d..c341d84a 100644 --- a/docs/react.html +++ b/docs/react.html @@ -5,7 +5,7 @@ React | flecks - + diff --git a/docs/redux.html b/docs/redux.html index b04c63b1..768705da 100644 --- a/docs/redux.html +++ b/docs/redux.html @@ -5,7 +5,7 @@ Redux | flecks - + diff --git a/docs/repl.html b/docs/repl.html index a50970fd..8cb2b108 100644 --- a/docs/repl.html +++ b/docs/repl.html @@ -5,7 +5,7 @@ REPL | flecks - + diff --git a/docs/sockets.html b/docs/sockets.html index ec40b5d8..37bc2b44 100644 --- a/docs/sockets.html +++ b/docs/sockets.html @@ -5,7 +5,7 @@ Sockets | flecks - + diff --git a/flecks.html b/flecks.html index af07ebee..3a70a25e 100644 --- a/flecks.html +++ b/flecks.html @@ -5,7 +5,7 @@ flecks - + diff --git a/index.html b/index.html index 25682abd..ce443dbe 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ Build a flexible and powerful application in no time | flecks - +