@module-federation/treeshake-server 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +71 -0
  2. package/dist/adapters/createAdapterDeps.d.ts +10 -0
  3. package/dist/adapters/local/adapter.d.ts +10 -0
  4. package/dist/adapters/local/index.d.ts +3 -0
  5. package/dist/adapters/local/localObjectStore.d.ts +12 -0
  6. package/dist/adapters/registry.d.ts +7 -0
  7. package/dist/adapters/types.d.ts +70 -0
  8. package/dist/app.d.ts +18 -0
  9. package/dist/cli/ossEnv.d.ts +18 -0
  10. package/dist/domain/build/constant.d.ts +1 -0
  11. package/dist/domain/build/normalize-config.d.ts +21 -0
  12. package/dist/domain/build/retrieve-global-name.d.ts +1 -0
  13. package/dist/domain/build/schema.d.ts +31 -0
  14. package/dist/domain/upload/constant.d.ts +2 -0
  15. package/dist/domain/upload/retrieve-cdn-path.d.ts +4 -0
  16. package/dist/frontend/adapter/index.d.ts +13 -0
  17. package/dist/frontend/adapter/index.js +128 -0
  18. package/dist/frontend/adapter/index.mjs +83 -0
  19. package/dist/frontend/favicon.ico +0 -0
  20. package/dist/frontend/index.html +1 -0
  21. package/dist/frontend/static/css/index.16175e0f.css +1 -0
  22. package/dist/frontend/static/js/954.dfe166a3.js +2 -0
  23. package/dist/frontend/static/js/954.dfe166a3.js.LICENSE.txt +16 -0
  24. package/dist/frontend/static/js/async/873.6ccd5409.js +2 -0
  25. package/dist/frontend/static/js/async/951.ec9191e2.js +12 -0
  26. package/dist/frontend/static/js/async/951.ec9191e2.js.LICENSE.txt +6 -0
  27. package/dist/frontend/static/js/async/987.6bf8e9b0.js +2 -0
  28. package/dist/frontend/static/js/async/987.6bf8e9b0.js.LICENSE.txt +6 -0
  29. package/dist/frontend/static/js/index.db4e73c6.js +88 -0
  30. package/dist/frontend/static/js/lib-react.c59642e3.js +2 -0
  31. package/dist/frontend/static/js/lib-react.c59642e3.js.LICENSE.txt +39 -0
  32. package/dist/frontend/static/js/lib-router.75e1e689.js +4 -0
  33. package/dist/frontend/static/js/lib-router.75e1e689.js.LICENSE.txt +10 -0
  34. package/dist/http/env.d.ts +10 -0
  35. package/dist/http/middlewares/di.middleware.d.ts +4 -0
  36. package/dist/http/middlewares/logger.middleware.d.ts +3 -0
  37. package/dist/http/routes/build.d.ts +3 -0
  38. package/dist/http/routes/index.d.ts +2 -0
  39. package/dist/http/routes/maintenance.d.ts +3 -0
  40. package/dist/http/routes/static.d.ts +5 -0
  41. package/dist/index.d.ts +10 -0
  42. package/dist/index.js +958 -0
  43. package/dist/index.mjs +889 -0
  44. package/dist/infra/logger.d.ts +6 -0
  45. package/dist/nodeServer.d.ts +7 -0
  46. package/dist/ports/objectStore.d.ts +1 -0
  47. package/dist/ports/projectPublisher.d.ts +1 -0
  48. package/dist/server.d.ts +2 -0
  49. package/dist/server.js +1090 -0
  50. package/dist/server.mjs +1058 -0
  51. package/dist/services/buildService.d.ts +8 -0
  52. package/dist/services/cacheService.d.ts +15 -0
  53. package/dist/services/pnpmMaintenance.d.ts +4 -0
  54. package/dist/services/uploadService.d.ts +36 -0
  55. package/dist/template/re-shake-share/Collect.js +115 -0
  56. package/dist/template/re-shake-share/EmitManifest.js +49 -0
  57. package/dist/template/re-shake-share/index.ts +1 -0
  58. package/dist/template/re-shake-share/package.json +23 -0
  59. package/dist/template/re-shake-share/rspack.config.ts +33 -0
  60. package/dist/utils/runCommand.d.ts +20 -0
  61. package/dist/utils/runtimeEnv.d.ts +3 -0
  62. package/dist/utils/uploadSdk.d.ts +10 -0
  63. package/package.json +61 -0
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license React
3
+ * react-dom.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+
11
+ /**
12
+ * @license React
13
+ * react-jsx-runtime.production.min.js
14
+ *
15
+ * Copyright (c) Facebook, Inc. and its affiliates.
16
+ *
17
+ * This source code is licensed under the MIT license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ */
20
+
21
+ /**
22
+ * @license React
23
+ * react.production.min.js
24
+ *
25
+ * Copyright (c) Facebook, Inc. and its affiliates.
26
+ *
27
+ * This source code is licensed under the MIT license found in the
28
+ * LICENSE file in the root directory of this source tree.
29
+ */
30
+
31
+ /**
32
+ * @license React
33
+ * scheduler.production.min.js
34
+ *
35
+ * Copyright (c) Facebook, Inc. and its affiliates.
36
+ *
37
+ * This source code is licensed under the MIT license found in the
38
+ * LICENSE file in the root directory of this source tree.
39
+ */
@@ -0,0 +1,4 @@
1
+ /*! For license information please see lib-router.75e1e689.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_module_federation_treeshake_frontend=self.webpackChunk_module_federation_treeshake_frontend||[]).push([["535"],{1946(e,t,n){n.d(t,{I9:()=>eE,Zp:()=>z,zy:()=>B});var r,a=n(2155),o="popstate";function i(e,t){if(!1===e||null==e)throw Error(t)}function l(e,t){if(!e){"u">typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}function u(e,t){return{usr:e.state,key:e.key,idx:t}}function s(e,t,n=null,r){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?h(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10)}}function c({pathname:e="/",search:t="",hash:n=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function h(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function d(e,t=!1){let n="http://localhost";"u">typeof window&&(n="null"!==window.location.origin?window.location.origin:window.location.href),i(n,"No window.location.(origin|href) available to create URL");let r="string"==typeof e?e:c(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}function p(e,t,n="/"){return function(e,t,n,r){let a=y(("string"==typeof t?h(t):t).pathname||"/",n);if(null==a)return null;let o=function e(t,n=[],r=[],a="",o=!1){let l=(t,l,u=o,s)=>{var c,h;let d,p,g={relativePath:void 0===s?t.path||"":s,caseSensitive:!0===t.caseSensitive,childrenIndex:l,route:t};if(g.relativePath.startsWith("/")){if(!g.relativePath.startsWith(a)&&u)return;i(g.relativePath.startsWith(a),`Absolute route path "${g.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),g.relativePath=g.relativePath.slice(a.length)}let y=E([a,g.relativePath]),v=r.concat(g);t.children&&t.children.length>0&&(i(!0!==t.index,`Index routes must not have child routes. Please remove all child routes from route path "${y}".`),e(t.children,n,v,y,u)),(null!=t.path||t.index)&&n.push({path:y,score:(c=y,h=t.index,p=(d=c.split("/")).length,d.some(f)&&(p+=-2),h&&(p+=2),d.filter(e=>!f(e)).reduce((e,t)=>e+(m.test(t)?3:""===t?1:10),p)),routesMeta:v})};return t.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let n of function e(t){let n=t.split("/");if(0===n.length)return[];let[r,...a]=n,o=r.endsWith("?"),i=r.replace(/\?$/,"");if(0===a.length)return o?[i,""]:[i];let l=e(a.join("/")),u=[];return u.push(...l.map(e=>""===e?i:[i,e].join("/"))),o&&u.push(...l),u.map(e=>t.startsWith("/")&&""===e?"/":e)}(e.path))l(e,t,!0,n);else l(e,t)}),n}(e);o.sort((e,t)=>{var n,r;return e.score!==t.score?t.score-e.score:(n=e.routesMeta.map(e=>e.childrenIndex),r=t.routesMeta.map(e=>e.childrenIndex),n.length===r.length&&n.slice(0,-1).every((e,t)=>e===r[t])?n[n.length-1]-r[r.length-1]:0)});let u=null;for(let e=0;null==u&&e<o.length;++e){let t=function(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return l(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}(a);u=function(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",i=[];for(let e=0;e<r.length;++e){let l=r[e],u=e===r.length-1,s="/"===o?t:t.slice(o.length)||"/",c=g({path:l.relativePath,caseSensitive:l.caseSensitive,end:u},s),h=l.route;if(!c&&u&&n&&!r[r.length-1].route.index&&(c=g({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},s)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:E([o,c.pathname]),pathnameBase:C(E([o,c.pathnameBase])),route:h}),"/"!==c.pathnameBase&&(o=E([o,c.pathnameBase]))}return i}(o[e],t,r)}return u}(e,t,n,!1)}new WeakMap;var m=/^:[\w-]+$/,f=e=>"*"===e;function g(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t=!1,n=!0){l("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),u=a.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if("*"===t){let e=u[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}let a=u[r];return n&&!a?e[t]=void 0:e[t]=(a||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function y(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}var v=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function w(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}function b(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function x(e){let t=e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function R(e,t,n,r=!1){let a,o;"string"==typeof e?a=h(e):(i(!(a={...e}).pathname||!a.pathname.includes("?"),b("?","pathname","search",a)),i(!a.pathname||!a.pathname.includes("#"),b("#","pathname","hash",a)),i(!a.search||!a.search.includes("#"),b("#","search","hash",a)));let l=""===e||""===a.pathname,u=l?"/":a.pathname;if(null==u)o=n;else{let e=t.length-1;if(!r&&u.startsWith("..")){let t=u.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let s=function(e,t="/"){let{pathname:n,search:r="",hash:a=""}="string"==typeof e?h(e):e;return{pathname:n?(n=n.replace(/\/\/+/g,"/")).startsWith("/")?w(n.substring(1),"/"):w(n,t):t,search:$(r),hash:S(a)}}(a,o),c=u&&"/"!==u&&u.endsWith("/"),d=(l||"."===u)&&n.endsWith("/");return!s.pathname.endsWith("/")&&(c||d)&&(s.pathname+="/"),s}var E=e=>e.join("/").replace(/\/\/+/g,"/"),C=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),$=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",S=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",L=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function k(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}var P="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function O(e,t){let n=e;if("string"!=typeof n||!v.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,a=!1;if(P)try{let e=new URL(window.location.href),r=new URL(n.startsWith("//")?e.protocol+n:n),o=y(r.pathname,t);r.origin===e.origin&&null!=o?n=o+r.search+r.hash:a=!0}catch(e){l(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:a,to:n}}Symbol("Uninstrumented"),Object.getOwnPropertyNames(Object.prototype).sort().join("\0"),Symbol("ResetLoaderData");var T=a.createContext(null);T.displayName="DataRouter";var N=a.createContext(null);N.displayName="DataRouterState";var _=a.createContext(!1),W=a.createContext({isTransitioning:!1});W.displayName="ViewTransition",a.createContext(new Map).displayName="Fetchers",a.createContext(null).displayName="Await";var A=a.createContext(null);A.displayName="Navigation";var M=a.createContext(null);M.displayName="Location";var U=a.createContext({outlet:null,matches:[],isDataRoute:!1});U.displayName="Route";var F=a.createContext(null);F.displayName="RouteError";var j="REACT_ROUTER_ERROR";function D(){return null!=a.useContext(M)}function B(){return i(D(),"useLocation() may be used only in the context of a <Router> component."),a.useContext(M).location}var I="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function H(e){a.useContext(A).static||a.useLayoutEffect(e)}function z(){let{isDataRoute:e}=a.useContext(U);return e?function(){let e,{router:t}=(i(e=a.useContext(T),Z("useNavigate")),e),n=Q("useNavigate"),r=a.useRef(!1);return H(()=>{r.current=!0}),a.useCallback(async(e,a={})=>{l(r.current,I),r.current&&("number"==typeof e?await t.navigate(e):await t.navigate(e,{fromRouteId:n,...a}))},[t,n])}():function(){i(D(),"useNavigate() may be used only in the context of a <Router> component.");let e=a.useContext(T),{basename:t,navigator:n}=a.useContext(A),{matches:r}=a.useContext(U),{pathname:o}=B(),u=JSON.stringify(x(r)),s=a.useRef(!1);return H(()=>{s.current=!0}),a.useCallback((r,a={})=>{if(l(s.current,I),!s.current)return;if("number"==typeof r)return void n.go(r);let i=R(r,JSON.parse(u),o,"path"===a.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:E([t,i.pathname])),(a.replace?n.replace:n.push)(i,a.state,a)},[t,n,u,o,e])}()}function J(e,{relative:t}={}){let{matches:n}=a.useContext(U),{pathname:r}=B(),o=JSON.stringify(x(n));return a.useMemo(()=>R(e,JSON.parse(o),r,"path"===t),[e,o,r,t])}a.createContext(null);var Y=a.createElement(function(){let e,t,n,r=(e=a.useContext(F),t=G("useRouteError"),n=Q("useRouteError"),void 0!==e?e:t.errors?.[n]),o=k(r)?`${r.status} ${r.statusText}`:r instanceof Error?r.message:JSON.stringify(r),i=r instanceof Error?r.stack:null,l="rgba(200,200,200, 0.5)",u={padding:"2px 4px",backgroundColor:l},s=null;return console.error("Error handled by React Router default ErrorBoundary:",r),s=a.createElement(a.Fragment,null,a.createElement("p",null,"\uD83D\uDCBF Hey developer \uD83D\uDC4B"),a.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",a.createElement("code",{style:u},"ErrorBoundary")," or"," ",a.createElement("code",{style:u},"errorElement")," prop on your route.")),a.createElement(a.Fragment,null,a.createElement("h2",null,"Unexpected Application Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},o),i?a.createElement("pre",{style:{padding:"0.5rem",backgroundColor:l}},i):null,s)},null),q=class extends a.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&"object"==typeof e&&e&&"digest"in e&&"string"==typeof e.digest){let t=function(e){if(e.startsWith(`${j}:ROUTE_ERROR_RESPONSE:{`))try{let t=JSON.parse(e.slice(40));if("object"==typeof t&&t&&"number"==typeof t.status&&"string"==typeof t.statusText)return new L(t.status,t.statusText,t.data)}catch{}}(e.digest);t&&(e=t)}let t=void 0!==e?a.createElement(U.Provider,{value:this.props.routeContext},a.createElement(F.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?a.createElement(V,{error:e},t):t}};q.contextType=_;var K=new WeakMap;function V({children:e,error:t}){let{basename:n}=a.useContext(A);if("object"==typeof t&&t&&"digest"in t&&"string"==typeof t.digest){let e=function(e){if(e.startsWith(`${j}:REDIRECT:{`))try{let t=JSON.parse(e.slice(28));if("object"==typeof t&&t&&"number"==typeof t.status&&"string"==typeof t.statusText&&"string"==typeof t.location&&"boolean"==typeof t.reloadDocument&&"boolean"==typeof t.replace)return t}catch{}}(t.digest);if(e){let r=K.get(t);if(r)throw r;let o=O(e.location,n);if(P&&!K.get(t))if(o.isExternal||e.reloadDocument)window.location.href=o.absoluteURL||o.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(o.to,{replace:e.replace}));throw K.set(t,n),n}return a.createElement("meta",{httpEquiv:"refresh",content:`0;url=${o.absoluteURL||o.to}`})}}return e}function X({routeContext:e,match:t,children:n}){let r=a.useContext(T);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),a.createElement(U.Provider,{value:e},n)}function Z(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function G(e){let t=a.useContext(N);return i(t,Z(e)),t}function Q(e){let t,n=(i(t=a.useContext(U),Z(e)),t),r=n.matches[n.matches.length-1];return i(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}var ee={};function et(e,t,n){t||ee[e]||(ee[e]=!0,l(!1,n))}function en({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:o,static:u=!1,unstable_useTransitions:s}){i(!D(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let c=e.replace(/^\/*/,"/"),d=a.useMemo(()=>({basename:c,navigator:o,static:u,unstable_useTransitions:s,future:{}}),[c,o,u,s]);"string"==typeof n&&(n=h(n));let{pathname:p="/",search:m="",hash:f="",state:g=null,key:v="default"}=n,w=a.useMemo(()=>{let e=y(p,c);return null==e?null:{location:{pathname:e,search:m,hash:f,state:g,key:v},navigationType:r}},[c,p,m,f,g,v,r]);return(l(null!=w,`<Router basename="${c}"> is not able to match the URL "${p}${m}${f}" because it does not start with the basename, so the <Router> won't render anything.`),null==w)?null:a.createElement(A.Provider,{value:d},a.createElement(M.Provider,{children:t,value:w}))}(r||(r=n.t(a,2))).useOptimistic,a.memo(function({routes:e,future:t,state:n,onError:r}){return function(e,t,n,r,o){let u;i(D(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=a.useContext(A),{matches:c}=a.useContext(U),d=c[c.length-1],m=d?d.params:{},f=d?d.pathname:"/",g=d?d.pathnameBase:"/",y=d&&d.route;{let e=y&&y.path||"";et(f,!y||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
3
+
4
+ Please change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let v=B();if(t){let e="string"==typeof t?h(t):t;i("/"===g||e.pathname?.startsWith(g),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${g}" but pathname "${e.pathname}" was given in the \`location\` prop.`),u=e}else u=v;let w=u.pathname||"/",b=w;if("/"!==g){let e=g.replace(/^\//,"").split("/");b="/"+w.replace(/^\//,"").split("/").slice(e.length).join("/")}let x=p(e,{pathname:b});l(y||null!=x,`No routes matched location "${u.pathname}${u.search}${u.hash}" `),l(null==x||void 0!==x[x.length-1].route.element||void 0!==x[x.length-1].route.Component||void 0!==x[x.length-1].route.lazy,`Matched leaf route at location "${u.pathname}${u.search}${u.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let R=function(e,t=[],n=null,r=null,o=null){if(null==e){if(!n)return null;if(n.errors)e=n.matches;else{if(0!==t.length||n.initialized||!(n.matches.length>0))return null;e=n.matches}}let l=e,u=n?.errors;if(null!=u){let e=l.findIndex(e=>e.route.id&&u?.[e.route.id]!==void 0);i(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),l=l.slice(0,Math.min(l.length,e+1))}let s=!1,c=-1;if(n)for(let e=0;e<l.length;e++){let t=l[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:r}=n,a=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||void 0===r[t.route.id]);if(t.route.lazy||a){s=!0,l=c>=0?l.slice(0,c+1):[l[0]];break}}}let h=n&&r?(e,t)=>{r(e,{location:n.location,params:n.matches?.[0]?.params??{},unstable_pattern:n.matches.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/",errorInfo:t})}:void 0;return l.reduceRight((e,r,o)=>{let i,d=!1,p=null,m=null;n&&(i=u&&r.route.id?u[r.route.id]:void 0,p=r.route.errorElement||Y,s&&(c<0&&0===o?(et("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,m=null):c===o&&(d=!0,m=r.route.hydrateFallbackElement||null)));let f=t.concat(l.slice(0,o+1)),g=()=>{let t;return t=i?p:d?m:r.route.Component?a.createElement(r.route.Component,null):r.route.element?r.route.element:e,a.createElement(X,{match:r,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===o)?a.createElement(q,{location:n.location,revalidation:n.revalidation,component:p,error:i,children:g(),routeContext:{outlet:null,matches:f,isDataRoute:!0},onError:h}):g()},null)}(x&&x.map(e=>Object.assign({},e,{params:Object.assign({},m,e.params),pathname:E([g,s.encodeLocation?s.encodeLocation(e.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?g:E([g,s.encodeLocation?s.encodeLocation(e.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathnameBase])})),c,n,r,o);return t&&R?a.createElement(M.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...u},navigationType:"POP"}},R):R}(e,void 0,n,r,t)}),a.Component;var er="get",ea="application/x-www-form-urlencoded";function eo(e){return"u">typeof HTMLElement&&e instanceof HTMLElement}var ei=null,el=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function eu(e){return null==e||el.has(e)?e:(l(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ea}"`),null)}Object.getOwnPropertyNames(Object.prototype).sort().join("\0"),"u">typeof window&&window;function es(e,t){if(!1===e||null==e)throw Error(t)}async function ec(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function eh(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}async function ed(e,t,n){var r;let a,o;return r=(await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await ec(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(eh).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}),a=new Set,o=new Set(void 0),r.reduce((e,t)=>{!1;let n=JSON.stringify(function(e){let t={};for(let n of Object.keys(e).sort())t[n]=e[n];return t}(t));return a.has(n)||(a.add(n),e.push({key:n,link:t})),e},[])}function ep(e,t,n,r,a,o){let i=(e,t)=>!n[t]||e.route.id!==n[t].route.id,l=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith("*")&&n[t].params["*"]!==e.params["*"];return"assets"===o?t.filter((e,t)=>i(e,t)||l(e,t)):"data"===o?t.filter((t,o)=>{let u=r.routes[t.route.id];if(!u||!u.hasLoader)return!1;if(i(t,o)||l(t,o))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0}):[]}function em(e,t,{includeHydrateFallback:n}={}){return[...new Set(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let a=[r.module];return r.clientActionModule&&(a=a.concat(r.clientActionModule)),r.clientLoaderModule&&(a=a.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(a=a.concat(r.hydrateFallbackModule)),r.imports&&(a=a.concat(r.imports)),a}).flat(1))]}function ef(){let e=a.useContext(T);return es(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function eg(){let e=a.useContext(N);return es(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}Symbol("SingleFetchRedirect");var ey=a.createContext(void 0);function ev(){let e=a.useContext(ey);return es(e,"You must render this element inside a <HydratedRouter> element"),e}function ew(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function eb({page:e,...t}){let{router:n}=ef(),r=a.useMemo(()=>p(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?a.createElement(ex,{page:e,matches:r,...t}):null}function ex({page:e,matches:t,...n}){let r=B(),{future:o,manifest:i,routeModules:l}=ev(),{basename:u}=ef(),{loaderData:s,matches:c}=eg(),h=a.useMemo(()=>ep(e,t,c,i,r,"data"),[e,t,c,i,r]),d=a.useMemo(()=>ep(e,t,c,i,r,"assets"),[e,t,c,i,r]),p=a.useMemo(()=>{var n,a;let c;if(e===r.pathname+r.search+r.hash)return[];let d=new Set,p=!1;if(t.forEach(e=>{let t=i.routes[e.route.id];t&&t.hasLoader&&(!h.some(t=>t.route.id===e.route.id)&&e.route.id in s&&l[e.route.id]?.shouldRevalidate||t.hasClientLoader?p=!0:d.add(e.route.id))}),0===d.size)return[];let m=(n=o.unstable_trailingSlashAwareDataRequests,a="data",c="string"==typeof e?new URL(e,"u"<typeof window?"server://singlefetch/":window.location.origin):e,n?c.pathname.endsWith("/")?c.pathname=`${c.pathname}_.${a}`:c.pathname=`${c.pathname}.${a}`:"/"===c.pathname?c.pathname=`_root.${a}`:u&&"/"===y(c.pathname,u)?c.pathname=`${u.replace(/\/$/,"")}/_root.${a}`:c.pathname=`${c.pathname.replace(/\/$/,"")}.${a}`,c);return p&&d.size>0&&m.searchParams.set("_routes",t.filter(e=>d.has(e.route.id)).map(e=>e.route.id).join(",")),[m.pathname+m.search]},[u,o.unstable_trailingSlashAwareDataRequests,s,r,i,h,t,e,l]),m=a.useMemo(()=>em(d,i),[d,i]),f=function(e){let{manifest:t,routeModules:n}=ev(),[r,o]=a.useState([]);return a.useEffect(()=>{let r=!1;return ed(e,t,n).then(e=>{r||o(e)}),()=>{r=!0}},[e,t,n]),r}(d);return a.createElement(a.Fragment,null,p.map(e=>a.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...n})),m.map(e=>a.createElement("link",{key:e,rel:"modulepreload",href:e,...n})),f.map(({key:e,link:t})=>a.createElement("link",{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}ey.displayName="FrameworkContext";a.Component;var eR="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{eR&&(window.__reactRouterVersion="7.13.0")}catch(e){}function eE({basename:e,children:t,unstable_useTransitions:n,window:r}){let i=a.useRef();null==i.current&&(i.current=function(e={}){return function(e,t,n,r={}){let{window:a=document.defaultView,v5Compat:i=!1}=r,l=a.history,c="POP",h=null,p=m();function m(){return(l.state||{idx:null}).idx}function f(){c="POP";let e=m(),t=null==e?null:e-p;p=e,h&&h({action:c,location:g.location,delta:t})}null==p&&(p=0,l.replaceState({...l.state,idx:p},""));let g={get action(){return c},get location(){return e(a,l)},listen(e){if(h)throw Error("A history only accepts one active listener");return a.addEventListener(o,f),h=e,()=>{a.removeEventListener(o,f),h=null}},createHref:e=>t(a,e),createURL:function(e){return d(e)},encodeLocation(e){let t=d(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c="PUSH";let r=s(g.location,e,t);n&&n(r,e);let o=u(r,p=m()+1),d=g.createHref(r);try{l.pushState(o,"",d)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;a.location.assign(d)}i&&h&&h({action:c,location:g.location,delta:1})},replace:function(e,t){c="REPLACE";let r=s(g.location,e,t);n&&n(r,e);let a=u(r,p=m()),o=g.createHref(r);l.replaceState(a,"",o),i&&h&&h({action:c,location:g.location,delta:0})},go:e=>l.go(e)};return g}(function(e,t){let{pathname:n="/",search:r="",hash:a=""}=h(e.location.hash.substring(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),s("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:c(t))},function(e,t){l("/"===e.pathname.charAt(0),`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)},e)}({window:r,v5Compat:!0}));let p=i.current,[m,f]=a.useState({action:p.action,location:p.location}),g=a.useCallback(e=>{!1===n?f(e):a.startTransition(()=>f(e))},[n]);return a.useLayoutEffect(()=>p.listen(g),[p,g]),a.createElement(en,{basename:e,children:t,location:m.location,navigationType:m.action,navigator:p,unstable_useTransitions:n})}var eC=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,e$=a.forwardRef(function({onClick:e,discover:t="render",prefetch:n="none",relative:r,reloadDocument:o,replace:l,state:u,target:s,to:h,preventScrollReset:d,viewTransition:p,unstable_defaultShouldRevalidate:m,...f},g){let{basename:y,unstable_useTransitions:v}=a.useContext(A),w="string"==typeof h&&eC.test(h),b=O(h,y),x=function(e,{relative:t}={}){i(D(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:r}=a.useContext(A),{hash:o,pathname:l,search:u}=J(e,{relative:t}),s=l;return"/"!==n&&(s="/"===l?n:E([n,l])),r.createHref({pathname:s,search:u,hash:o})}(h=b.to,{relative:r}),[R,C,$]=function(e,t){let n=a.useContext(ey),[r,o]=a.useState(!1),[i,l]=a.useState(!1),{onFocus:u,onBlur:s,onMouseEnter:c,onMouseLeave:h,onTouchStart:d}=t,p=a.useRef(null);a.useEffect(()=>{if("render"===e&&l(!0),"viewport"===e){let e=new IntersectionObserver(e=>{e.forEach(e=>{l(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),a.useEffect(()=>{if(r){let e=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(e)}}},[r]);let m=()=>{o(!0)},f=()=>{o(!1),l(!1)};return n?"intent"!==e?[i,p,{}]:[i,p,{onFocus:ew(u,m),onBlur:ew(s,f),onMouseEnter:ew(c,m),onMouseLeave:ew(h,f),onTouchStart:ew(d,m)}]:[!1,p,{}]}(n,f),S=function(e,{target:t,replace:n,state:r,preventScrollReset:o,relative:i,viewTransition:l,unstable_defaultShouldRevalidate:u,unstable_useTransitions:s}={}){let h=z(),d=B(),p=J(e,{relative:i});return a.useCallback(m=>{if(0===m.button&&(!t||"_self"===t)&&!(m.metaKey||m.altKey||m.ctrlKey||m.shiftKey)){m.preventDefault();let t=void 0!==n?n:c(d)===c(p),f=()=>h(e,{replace:t,state:r,preventScrollReset:o,relative:i,viewTransition:l,unstable_defaultShouldRevalidate:u});s?a.startTransition(()=>f()):f()}},[d,h,p,n,r,t,e,o,i,l,u,s])}(h,{replace:l,state:u,target:s,preventScrollReset:d,relative:r,viewTransition:p,unstable_defaultShouldRevalidate:m,unstable_useTransitions:v}),L=a.createElement("a",{...f,...$,href:b.absoluteURL||x,onClick:b.isExternal||o?e:function(t){e&&e(t),t.defaultPrevented||S(t)},ref:function(...e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}(g,C),target:s,"data-discover":w||"render"!==t?void 0:"true"});return R&&!w?a.createElement(a.Fragment,null,L,a.createElement(eb,{page:x})):L});e$.displayName="Link",a.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:n="",end:r=!1,style:o,to:l,viewTransition:u,children:s,...c},h){let d,p=J(l,{relative:c.relative}),m=B(),f=a.useContext(N),{navigator:v,basename:w}=a.useContext(A),b=null!=f&&function(e,{relative:t}={}){let n=a.useContext(W);i(null!=n,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=eS("useViewTransitionState"),o=J(e,{relative:t});if(!n.isTransitioning)return!1;let l=y(n.currentLocation.pathname,r)||n.currentLocation.pathname,u=y(n.nextLocation.pathname,r)||n.nextLocation.pathname;return null!=g(o.pathname,u)||null!=g(o.pathname,l)}(p)&&!0===u,x=v.encodeLocation?v.encodeLocation(p).pathname:p.pathname,R=m.pathname,E=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(R=R.toLowerCase(),E=E?E.toLowerCase():null,x=x.toLowerCase()),E&&w&&(E=y(E,w)||E);let C="/"!==x&&x.endsWith("/")?x.length-1:x.length,$=R===x||!r&&R.startsWith(x)&&"/"===R.charAt(C),S=null!=E&&(E===x||!r&&E.startsWith(x)&&"/"===E.charAt(x.length)),L={isActive:$,isPending:S,isTransitioning:b},k=$?e:void 0;d="function"==typeof n?n(L):[n,$?"active":null,S?"pending":null,b?"transitioning":null].filter(Boolean).join(" ");let P="function"==typeof o?o(L):o;return a.createElement(e$,{...c,"aria-current":k,className:d,ref:h,style:P,to:l,viewTransition:u},"function"==typeof s?s(L):s)}).displayName="NavLink",a.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:r,replace:o,state:l,method:u=er,action:s,onSubmit:h,relative:d,preventScrollReset:p,viewTransition:m,unstable_defaultShouldRevalidate:f,...g},v)=>{let{unstable_useTransitions:w}=a.useContext(A),b=function(){let{router:e}=eS("useSubmit"),{basename:t}=a.useContext(A),n=Q("useRouteId"),r=e.fetch,o=e.navigate;return a.useCallback(async(e,a={})=>{let{action:i,method:l,encType:u,formData:s,body:c}=function(e,t){let n,r,a,o,i;if(eo(e)&&"form"===e.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?y(i,t):null,n=e.getAttribute("method")||er,a=eu(e.getAttribute("enctype"))||ea,o=new FormData(e)}else if(eo(e)&&"button"===e.tagName.toLowerCase()||eo(e)&&"input"===e.tagName.toLowerCase()&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||i.getAttribute("action");if(r=l?y(l,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||er,a=eu(e.getAttribute("formenctype"))||eu(i.getAttribute("enctype"))||ea,o=new FormData(i,e),!function(){if(null===ei)try{new FormData(document.createElement("form"),0),ei=!1}catch(e){ei=!0}return ei}()){let{name:t,type:n,value:r}=e;if("image"===n){let e=t?`${t}.`:"";o.append(`${e}x`,"0"),o.append(`${e}y`,"0")}else t&&o.append(t,r)}}else if(eo(e))throw Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');else n=er,r=null,a=ea,i=e;return o&&"text/plain"===a&&(i=o,o=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:o,body:i}}(e,t);if(!1===a.navigate){let e=a.fetcherKey||`__${String(++eL)}__`;await r(e,n,a.action||i,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||l,formEncType:a.encType||u,flushSync:a.flushSync})}else await o(a.action||i,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||l,formEncType:a.encType||u,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,o,t,n])}(),x=function(e,{relative:t}={}){let{basename:n}=a.useContext(A),r=a.useContext(U);i(r,"useFormAction must be used inside a RouteContext");let[o]=r.matches.slice(-1),l={...J(e||".",{relative:t})},u=B();if(null==e){l.search=u.search;let e=new URLSearchParams(l.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();l.search=n?`?${n}`:""}}return(!e||"."===e)&&o.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(l.pathname="/"===l.pathname?n:E([n,l.pathname])),c(l)}(s,{relative:d}),R="get"===u.toLowerCase()?"get":"post",C="string"==typeof s&&eC.test(s);return a.createElement("form",{ref:v,method:R,action:x,onSubmit:r?h:e=>{if(h&&h(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,i=r?.getAttribute("formmethod")||u,s=()=>b(r||e.currentTarget,{fetcherKey:t,method:i,navigate:n,replace:o,state:l,relative:d,preventScrollReset:p,viewTransition:m,unstable_defaultShouldRevalidate:f});w&&!1!==n?a.startTransition(()=>s()):s()},...g,"data-discover":C||"render"!==e?void 0:"true"})}).displayName="Form";function eS(e){var t;let n=a.useContext(T);return i(n,(t=e,`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`)),n}var eL=0}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * react-router v7.13.0
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
@@ -0,0 +1,10 @@
1
+ import type { logger } from '../infra/logger';
2
+ import type { ObjectStore } from '../ports/objectStore';
3
+ import type { ProjectPublisher } from '../ports/projectPublisher';
4
+ export type AppEnv = {
5
+ Variables: {
6
+ logger: typeof logger;
7
+ objectStore: ObjectStore;
8
+ projectPublisher?: ProjectPublisher;
9
+ };
10
+ };
@@ -0,0 +1,4 @@
1
+ import type { MiddlewareHandler } from 'hono';
2
+ import type { AdapterDeps } from '../../adapters/createAdapterDeps';
3
+ import type { AppEnv } from '../env';
4
+ export declare function createDiMiddleware(deps: AdapterDeps): MiddlewareHandler<AppEnv>;
@@ -0,0 +1,3 @@
1
+ import type { MiddlewareHandler } from 'hono';
2
+ import type { AppEnv } from '../env';
3
+ export declare const loggerMiddleware: MiddlewareHandler<AppEnv>;
@@ -0,0 +1,3 @@
1
+ import { Hono } from 'hono';
2
+ import type { AppEnv } from '../env';
3
+ export declare const buildRoute: Hono<AppEnv, import("hono/types").BlankSchema, "/">;
@@ -0,0 +1,2 @@
1
+ import { Hono } from 'hono';
2
+ export declare const routes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
@@ -0,0 +1,3 @@
1
+ import { Hono } from 'hono';
2
+ import type { AppEnv } from '../env';
3
+ export declare const maintenanceRoute: Hono<AppEnv, import("hono/types").BlankSchema, "/">;
@@ -0,0 +1,5 @@
1
+ import { Hono } from 'hono';
2
+ export declare const DEFAULT_STATIC_ROOT: string;
3
+ export declare function createStaticRoute(opts?: {
4
+ rootDir?: string;
5
+ }): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
@@ -0,0 +1,10 @@
1
+ export { createApp } from './app';
2
+ export { createServer } from './nodeServer';
3
+ export type { AdapterDeps } from './adapters/createAdapterDeps';
4
+ export { createAdapterDeps } from './adapters/createAdapterDeps';
5
+ export type { AdapterRegistry } from './adapters/registry';
6
+ export { createAdapterRegistry, createOssAdapterRegistry, } from './adapters/registry';
7
+ export { createLogger } from './infra/logger';
8
+ export type { FrontendAdapter } from './frontend/types';
9
+ export { LocalAdapter, LocalObjectStore } from './adapters/local';
10
+ export type { AdapterConfig, AdapterEnv, AdapterContext, AdapterCreateResult, TreeShakeAdapter, ObjectStore, ProjectPublisher, UploadOptions, } from './adapters/types';