gemi 0.4.9 → 0.4.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../app/App.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAsB,MAAM,oBAAoB,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAU3C,OAAO,EAAE,aAAa,EAA2B,MAAM,OAAO,CAAC;AAM/D,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,SAAS;IACjB,UAAU,EAAE,UAAU,UAAU,CAAC;IACjC,SAAS,EAAE,UAAU,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,cAAc,CAGf;IACP,OAAO,CAAC,aAAa,CASd;IACP,OAAO,CAAC,aAAa,CAAgC;IAC9C,IAAI,SAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAM;IAC7D,UAAU,SAAK;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,SAAS;IAU7B,OAAO,CAAC,OAAO;IAkCR,gBAAgB;IAIhB,eAAe,CAAC,MAAM,EAAE,YAAY;YAI7B,eAAe;IAqC7B,OAAO,CAAC,aAAa;IAmCf,gBAAgB,CAAC,GAAG,EAAE,OAAO;IAwF7B,iBAAiB,CAAC,GAAG,EAAE,OAAO;IA+L9B,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU5C,OAAO,CAAC,sBAAsB,CAGtB;IACR,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,SAAS;sBAdH,eAAe,WACV,MAAM,GAAG,MAAM;mBAES,eAAe;oBAI5C,eAAe,QACb,MAAM,UACJ,MAAM;MASd;CACH"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../app/App.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAsB,MAAM,oBAAoB,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAU3C,OAAO,EAAE,aAAa,EAA2B,MAAM,OAAO,CAAC;AAK/D,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,SAAS;IACjB,UAAU,EAAE,UAAU,UAAU,CAAC;IACjC,SAAS,EAAE,UAAU,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,cAAc,CAGf;IACP,OAAO,CAAC,aAAa,CASd;IACP,OAAO,CAAC,aAAa,CAAgC;IAC9C,IAAI,SAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAM;IAC7D,UAAU,SAAK;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,SAAS;IAU7B,OAAO,CAAC,OAAO;IAkCR,gBAAgB;IAIhB,eAAe,CAAC,MAAM,EAAE,YAAY;YAI7B,eAAe;IAqC7B,OAAO,CAAC,aAAa;IAmCf,gBAAgB,CAAC,GAAG,EAAE,OAAO;IAwF7B,iBAAiB,CAAC,GAAG,EAAE,OAAO;IAmL9B,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU5C,OAAO,CAAC,sBAAsB,CAGtB;IACR,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,SAAS;sBAdH,eAAe,WACV,MAAM,GAAG,MAAM;mBAES,eAAe;oBAI5C,eAAe,QACb,MAAM,UACJ,MAAM;MASd;CACH"}
package/dist/app/index.js CHANGED
@@ -2053,11 +2053,6 @@ class App {
2053
2053
  middlewares = handler.middleware;
2054
2054
  }
2055
2055
  }
2056
- if (!currentPathName2) {
2057
- return new Response(null, {
2058
- status: 404
2059
- });
2060
- }
2061
2056
  const reqWithMiddlewares = this.runMiddleware(middlewares);
2062
2057
  const reqCtx = new Map;
2063
2058
  const data2 = await requestContext.run(reqCtx, async () => {
@@ -2077,9 +2072,6 @@ class App {
2077
2072
  });
2078
2073
  }
2079
2074
  }
2080
- if (!pageData) {
2081
- return new Response("<div>404</div>");
2082
- }
2083
2075
  const { data, params, currentPathName, user } = pageData;
2084
2076
  const viewData = data.reduce((acc, data2) => {
2085
2077
  return {
@@ -2152,7 +2144,7 @@ class App {
2152
2144
  pathname: currentPathName,
2153
2145
  params,
2154
2146
  currentPath: url.pathname,
2155
- is404: false
2147
+ is404: !currentPathName ? true : false
2156
2148
  },
2157
2149
  componentTree: [["404", []], ...this.componentTree]
2158
2150
  },
@@ -2163,7 +2155,7 @@ class App {
2163
2155
  ETag: this.appId,
2164
2156
  ...cookieHeaders
2165
2157
  },
2166
- status: 200
2158
+ status: !currentPathName ? 404 : 200
2167
2159
  };
2168
2160
  const stream = await renderToReadableStream(createElement(Fragment, {
2169
2161
  children: [
package/dist/bin/index.js CHANGED
@@ -8995,6 +8995,37 @@ async function imageHandler(req) {
8995
8995
  });
8996
8996
  }
8997
8997
 
8998
+ // server/renderErrorPage.ts
8999
+ function renderErrorPage(err) {
9000
+ return `
9001
+ <!DOCTYPE html>
9002
+ <html lang="en">
9003
+ <head>
9004
+ <meta charset="UTF-8" />
9005
+ <meta
9006
+ name="viewport"
9007
+ content="width=device-width, initial-scale=1.0"
9008
+ />
9009
+ <title>Error</title>
9010
+ <style>
9011
+ body {
9012
+ font-family: Arial, sans-serif;
9013
+ padding: 20px;
9014
+ }
9015
+ h1 {
9016
+ color: red;
9017
+ }
9018
+ </style>
9019
+ </head>
9020
+ <body>
9021
+ <h1>Error</h1>
9022
+ <pre>${JSON.stringify(err, null, 2)}</pre>
9023
+ <script type="module" src="/refresh.js"></script>
9024
+ </body>
9025
+ </html>
9026
+ `;
9027
+ }
9028
+
8998
9029
  // server/dev.ts
8999
9030
  async function startDevServer() {
9000
9031
  const root = process.cwd();
@@ -9045,7 +9076,15 @@ async function startDevServer() {
9045
9076
  } catch (err) {
9046
9077
  console.log(err);
9047
9078
  }
9048
- const { app } = await vite.ssrLoadModule(path.join(appDir, "bootstrap.ts"));
9079
+ let app = null;
9080
+ try {
9081
+ app = (await vite.ssrLoadModule(path.join(appDir, "bootstrap.ts"))).app;
9082
+ } catch (err) {
9083
+ return new Response(renderErrorPage(err), {
9084
+ status: 500,
9085
+ headers: { "Content-Type": "text/html" }
9086
+ });
9087
+ }
9049
9088
  const { default: css } = await vite.ssrLoadModule(`${appDir}/app.css`);
9050
9089
  const styles2 = [];
9051
9090
  styles2.push({
@@ -9067,7 +9106,9 @@ async function startDevServer() {
9067
9106
  try {
9068
9107
  return await handler(req);
9069
9108
  } catch (err) {
9070
- return new Response(err.stack, { status: 500 });
9109
+ return new Response(renderErrorPage(err), {
9110
+ headers: { "Content-Type": "text/html" }
9111
+ });
9071
9112
  }
9072
9113
  }
9073
9114
  await vite.listen(5174);
@@ -1 +1 @@
1
- {"version":3,"file":"ClientRouter.d.ts","sourceRoot":"","sources":["../../client/ClientRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAkFf,eAAO,MAAM,YAAY,UAAW;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAChC,4CA2BA,CAAC"}
1
+ {"version":3,"file":"ClientRouter.d.ts","sourceRoot":"","sources":["../../client/ClientRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAsEf,eAAO,MAAM,YAAY,UAAW;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAChC,4CAuBA,CAAC"}
@@ -9,6 +9,7 @@ interface ClientRouterContextValue {
9
9
  locationSubject: Subject<Location>;
10
10
  getScrollPosition: (path: string) => number;
11
11
  params: Record<string, string>;
12
+ getViewPathsFromPathname: (pathname: string) => string[];
12
13
  }
13
14
  export declare const ClientRouterContext: import("react").Context<ClientRouterContextValue>;
14
15
  interface ClientRouterProviderProps {
@@ -1 +1 @@
1
- {"version":3,"file":"ClientRouterContext.d.ts","sourceRoot":"","sources":["../../client/ClientRouterContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,EAAE,EACP,KAAK,QAAQ,EAEd,MAAM,SAAS,CAAC;AACjB,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,UAAU,wBAAwB;IAChC,kBAAkB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,mBAAmB,mDAE/B,CAAC;AAEF,UAAU,yBAAyB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB,UACxB,iBAAiB,CAAC,yBAAyB,CAAC,4CA2GpD,CAAC;AAUF,wBAAgB,WAAW,aAU1B;AAED,wBAAgB,SAAS,2BAGxB;AAED,wBAAgB,WAAW,SAAK;AAEhC,wBAAgB,SAAS;eAGJ,EAAE,UAAU,GAAG;EAsBnC;AAED,eAAO,MAAM,IAAI,UACR,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,EAAE,CAAA;CAAE,4CA8BxD,CAAC"}
1
+ {"version":3,"file":"ClientRouterContext.d.ts","sourceRoot":"","sources":["../../client/ClientRouterContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,EAAE,EACP,KAAK,QAAQ,EAEd,MAAM,SAAS,CAAC;AACjB,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,UAAU,wBAAwB;IAChC,kBAAkB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,wBAAwB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAC1D;AAED,eAAO,MAAM,mBAAmB,mDAE/B,CAAC;AAEF,UAAU,yBAAyB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB,UACxB,iBAAiB,CAAC,yBAAyB,CAAC,4CA0GpD,CAAC;AAUF,wBAAgB,WAAW,aAU1B;AAED,wBAAgB,SAAS,2BAGxB;AAED,wBAAgB,WAAW,SAAK;AAEhC,wBAAgB,SAAS;eAKJ,EAAE,UAAU,GAAG;EAoCnC;AAED,eAAO,MAAM,IAAI,UACR,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,EAAE,CAAA;CAAE,4CA8BxD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { lazy, type PropsWithChildren } from "react";
2
+ declare let viewImportMap: Record<string, ReturnType<typeof lazy>> | null;
3
+ export declare const ComponentsContext: import("react").Context<{
4
+ viewImportMap: Record<string, import("react").LazyExoticComponent<import("react").ComponentType<any>>>;
5
+ }>;
6
+ export declare const ComponentsProvider: (props: PropsWithChildren<{
7
+ viewImportMap: typeof viewImportMap;
8
+ }>) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=ComponentContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentContext.d.ts","sourceRoot":"","sources":["../../client/ComponentContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,IAAI,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIpE,QAAA,IAAI,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAW,CAAC;AAWzE,eAAO,MAAM,iBAAiB;;EAAmC,CAAC;AAElE,eAAO,MAAM,kBAAkB,UACtB,iBAAiB,CAAC;IAAE,aAAa,EAAE,OAAO,aAAa,CAAA;CAAE,CAAC,4CASlE,CAAC"}