@quilted/create 0.2.49 → 0.3.0

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 (33) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.mjs +1 -1
  3. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.mjs +1 -1
  4. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.mjs +1 -1
  5. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.mjs +1 -1
  6. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.mjs +1 -1
  7. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.mjs +1 -1
  8. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.mjs +1 -1
  9. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.mjs +1 -1
  10. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.esnext +1 -1
  11. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.esnext +1 -1
  12. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.esnext +1 -1
  13. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.esnext +1 -1
  14. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.esnext +1 -1
  15. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.esnext +1 -1
  16. package/package.json +1 -1
  17. package/templates/app-basic/App.tsx +8 -20
  18. package/templates/app-basic/package.json +2 -1
  19. package/templates/app-basic/server.tsx +7 -5
  20. package/templates/app-basic/shared/context.ts +2 -2
  21. package/templates/app-empty/package.json +2 -1
  22. package/templates/app-empty/server.tsx +6 -5
  23. package/templates/app-graphql/App.tsx +14 -22
  24. package/templates/app-graphql/package.json +2 -1
  25. package/templates/app-graphql/server.tsx +11 -7
  26. package/templates/app-graphql/shared/context.ts +3 -11
  27. package/templates/app-graphql/shared/graphql.ts +10 -0
  28. package/templates/app-trpc/App.tsx +15 -22
  29. package/templates/app-trpc/package.json +2 -1
  30. package/templates/app-trpc/server.tsx +18 -18
  31. package/templates/app-trpc/shared/context.ts +2 -2
  32. package/templates/server-basic/package.json +1 -1
  33. package/templates/server-basic/server.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @quilted/create
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#872](https://github.com/lemonmade/quilt/pull/872) [`8bf65e7`](https://github.com/lemonmade/quilt/commit/8bf65e797f929ee95730323426c229409e65c9a4) Thanks [@lemonmade](https://github.com/lemonmade)! - Replace @quilted/request-router with Hono
8
+
3
9
  ## 0.2.49
4
10
 
5
11
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { __exports as out } from '../../../../../../../_virtual/index11.mjs';
1
+ import { __exports as out } from '../../../../../../../_virtual/index10.mjs';
2
2
  import { __require as requireAsync } from './providers/async.mjs';
3
3
  import { __require as requireSync } from './providers/sync.mjs';
4
4
  import { __require as requireSettings } from './settings.mjs';
@@ -1,4 +1,4 @@
1
- import { __exports as async } from '../../../../../../../../_virtual/async4.mjs';
1
+ import { __exports as async } from '../../../../../../../../_virtual/async3.mjs';
2
2
 
3
3
  var hasRequiredAsync;
4
4
  function requireAsync() {
@@ -1,4 +1,4 @@
1
- import { __exports as sync } from '../../../../../../../../_virtual/sync4.mjs';
1
+ import { __exports as sync } from '../../../../../../../../_virtual/sync3.mjs';
2
2
 
3
3
  var hasRequiredSync;
4
4
  function requireSync() {
@@ -1,4 +1,4 @@
1
- import { __exports as settings } from '../../../../../../../_virtual/settings3.mjs';
1
+ import { __exports as settings } from '../../../../../../../_virtual/settings2.mjs';
2
2
  import { __require as requireFs } from './adapters/fs.mjs';
3
3
 
4
4
  var hasRequiredSettings;
@@ -1,4 +1,4 @@
1
- import { __exports as out } from '../../../../../../../_virtual/index10.mjs';
1
+ import { __exports as out } from '../../../../../../../_virtual/index11.mjs';
2
2
  import { __require as requireAsync } from './providers/async.mjs';
3
3
  import { __require as requireStream } from './providers/stream.mjs';
4
4
  import { __require as requireSync } from './providers/sync.mjs';
@@ -1,4 +1,4 @@
1
- import { __exports as async } from '../../../../../../../../_virtual/async3.mjs';
1
+ import { __exports as async } from '../../../../../../../../_virtual/async4.mjs';
2
2
  import { __require as requireAsync$1 } from '../readers/async.mjs';
3
3
 
4
4
  var hasRequiredAsync;
@@ -1,4 +1,4 @@
1
- import { __exports as sync } from '../../../../../../../../_virtual/sync3.mjs';
1
+ import { __exports as sync } from '../../../../../../../../_virtual/sync4.mjs';
2
2
  import { __require as requireSync$1 } from '../readers/sync.mjs';
3
3
 
4
4
  var hasRequiredSync;
@@ -1,4 +1,4 @@
1
- import { __exports as settings } from '../../../../../../../_virtual/settings2.mjs';
1
+ import { __exports as settings } from '../../../../../../../_virtual/settings3.mjs';
2
2
  import path__default from 'node:path';
3
3
  import { __require as requireOut } from '../../../../../@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { __exports as async } from '../../../../../../../../_virtual/async4.esnext';
1
+ import { __exports as async } from '../../../../../../../../_virtual/async3.esnext';
2
2
 
3
3
  var hasRequiredAsync;
4
4
  function requireAsync() {
@@ -1,4 +1,4 @@
1
- import { __exports as sync } from '../../../../../../../../_virtual/sync4.esnext';
1
+ import { __exports as sync } from '../../../../../../../../_virtual/sync3.esnext';
2
2
 
3
3
  var hasRequiredSync;
4
4
  function requireSync() {
@@ -1,4 +1,4 @@
1
- import { __exports as settings } from '../../../../../../../_virtual/settings3.esnext';
1
+ import { __exports as settings } from '../../../../../../../_virtual/settings2.esnext';
2
2
  import { __require as requireFs } from './adapters/fs.esnext';
3
3
 
4
4
  var hasRequiredSettings;
@@ -1,4 +1,4 @@
1
- import { __exports as async } from '../../../../../../../../_virtual/async3.esnext';
1
+ import { __exports as async } from '../../../../../../../../_virtual/async4.esnext';
2
2
  import { __require as requireAsync$1 } from '../readers/async.esnext';
3
3
 
4
4
  var hasRequiredAsync;
@@ -1,4 +1,4 @@
1
- import { __exports as sync } from '../../../../../../../../_virtual/sync3.esnext';
1
+ import { __exports as sync } from '../../../../../../../../_virtual/sync4.esnext';
2
2
  import { __require as requireSync$1 } from '../readers/sync.esnext';
3
3
 
4
4
  var hasRequiredSync;
@@ -1,4 +1,4 @@
1
- import { __exports as settings } from '../../../../../../../_virtual/settings2.esnext';
1
+ import { __exports as settings } from '../../../../../../../_virtual/settings3.esnext';
2
2
  import path__default from 'node:path';
3
3
  import { __require as requireOut } from '../../../../../@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.esnext';
4
4
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@quilted/create",
3
3
  "type": "module",
4
- "version": "0.2.49",
4
+ "version": "0.3.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1,5 +1,3 @@
1
- import type {RenderableProps} from 'preact';
2
-
3
1
  import {NotFound} from '@quilted/quilt/server';
4
2
  import {Navigation} from '@quilted/quilt/navigation';
5
3
  import {Localization} from '@quilted/quilt/localize';
@@ -9,14 +7,11 @@ import {Frame} from './foundation/frame.ts';
9
7
 
10
8
  import {Home} from './features/home.ts';
11
9
 
12
- import {
13
- AppContextReact,
14
- type AppContext as AppContextType,
15
- } from './shared/context.ts';
10
+ import {AppContextPreact, type AppContext} from './shared/context.ts';
16
11
  import {routeWithAppContext} from './shared/navigation.ts';
17
12
 
18
13
  export interface AppProps {
19
- context: AppContextType;
14
+ context: AppContext;
20
15
  }
21
16
 
22
17
  // Define the routes for your application. If you have a lot of routes, you
@@ -40,20 +35,13 @@ const routes = [
40
35
  // app-wide context in this component.
41
36
  export function App({context}: AppProps) {
42
37
  return (
43
- <AppContext context={context}>
44
- <Head />
45
- <Navigation router={context.router} routes={routes} context={context} />
46
- </AppContext>
38
+ <AppContextPreact.Provider value={context}>
39
+ <Localization>
40
+ <Head />
41
+ <Navigation router={context.router} routes={routes} context={context} />
42
+ </Localization>
43
+ </AppContextPreact.Provider>
47
44
  );
48
45
  }
49
46
 
50
47
  export default App;
51
-
52
- // This component renders any app-wide context.
53
- function AppContext({children, context}: RenderableProps<AppProps>) {
54
- return (
55
- <AppContextReact.Provider value={context}>
56
- <Localization>{children}</Localization>
57
- </AppContextReact.Provider>
58
- );
59
- }
@@ -15,7 +15,8 @@
15
15
  },
16
16
  "dependencies": {},
17
17
  "devDependencies": {
18
- "@quilted/quilt": "^0.8.0",
18
+ "@quilted/quilt": "^0.9.0",
19
+ "hono": "^4.8.0",
19
20
  "jsdom": "^26.0.0",
20
21
  "preact": "^10.26.0",
21
22
  "react": "npm:@quilted/react@^19.0.0",
@@ -1,5 +1,4 @@
1
- import {RequestRouter} from '@quilted/quilt/request-router';
2
- import {Router} from '@quilted/quilt/navigation';
1
+ import {Hono} from 'hono';
3
2
  import {
4
3
  renderAppToHTMLResponse,
5
4
  CacheControlHeader,
@@ -7,6 +6,7 @@ import {
7
6
  PermissionsPolicyHeader,
8
7
  StrictTransportSecurityHeader,
9
8
  } from '@quilted/quilt/server';
9
+ import {Router} from '@quilted/quilt/navigation';
10
10
 
11
11
  import Env from 'quilt:module/env';
12
12
  import {BrowserAssets} from 'quilt:module/assets';
@@ -15,7 +15,7 @@ import type {AppContext} from '~/shared/context.ts';
15
15
 
16
16
  import {App} from './App.tsx';
17
17
 
18
- const router = new RequestRouter();
18
+ const app = new Hono();
19
19
  const assets = new BrowserAssets();
20
20
 
21
21
  class ServerAppContext implements AppContext {
@@ -27,7 +27,9 @@ class ServerAppContext implements AppContext {
27
27
  }
28
28
 
29
29
  // For all GET requests, render our Preact application.
30
- router.get(async (request) => {
30
+ app.get('*', async (c) => {
31
+ const request = c.req.raw;
32
+
31
33
  const context = new ServerAppContext(request);
32
34
 
33
35
  const isHttps = request.url.startsWith('https://');
@@ -115,4 +117,4 @@ router.get(async (request) => {
115
117
  return response;
116
118
  });
117
119
 
118
- export default router;
120
+ export default app;
@@ -2,5 +2,5 @@ import {createOptionalContext} from '@quilted/quilt/context';
2
2
 
3
3
  export interface AppContext {}
4
4
 
5
- export const AppContextReact = createOptionalContext<AppContext>();
6
- export const useAppContext = AppContextReact.use;
5
+ export const AppContextPreact = createOptionalContext<AppContext>();
6
+ export const useAppContext = AppContextPreact.use;
@@ -15,7 +15,8 @@
15
15
  },
16
16
  "dependencies": {},
17
17
  "devDependencies": {
18
- "@quilted/quilt": "^0.8.0",
18
+ "@quilted/quilt": "^0.9.0",
19
+ "hono": "^4.8.0",
19
20
  "preact": "^10.26.0",
20
21
  "react": "npm:@quilted/react@^19.0.0",
21
22
  "react-dom": "npm:@quilted/react-dom@^19.0.0"
@@ -1,14 +1,15 @@
1
+ import {Hono} from 'hono';
1
2
  import {renderAppToHTMLResponse} from '@quilted/quilt/server';
2
- import {RequestRouter} from '@quilted/quilt/request-router';
3
3
  import {BrowserAssets} from 'quilt:module/assets';
4
4
 
5
5
  import {App} from './App.tsx';
6
6
 
7
- const router = new RequestRouter();
7
+ const app = new Hono();
8
8
  const assets = new BrowserAssets();
9
9
 
10
- // For all GET requests, render our Preact application.
11
- router.get(async (request) => {
10
+ app.get('*', async (c) => {
11
+ const request = c.req.raw;
12
+
12
13
  const response = await renderAppToHTMLResponse(<App />, {
13
14
  request,
14
15
  assets,
@@ -17,4 +18,4 @@ router.get(async (request) => {
17
18
  return response;
18
19
  });
19
20
 
20
- export default router;
21
+ export default app;
@@ -1,5 +1,3 @@
1
- import type {RenderableProps} from 'preact';
2
-
3
1
  import {NotFound} from '@quilted/quilt/server';
4
2
  import {GraphQLContext} from '@quilted/quilt/graphql';
5
3
  import {Navigation} from '@quilted/quilt/navigation';
@@ -10,14 +8,11 @@ import {Frame} from './foundation/frame.ts';
10
8
 
11
9
  import {Home, homeQuery} from './features/home.ts';
12
10
 
13
- import {
14
- AppContextReact,
15
- type AppContext as AppContextType,
16
- } from './shared/context.ts';
11
+ import {AppContextPreact, type AppContext} from './shared/context.ts';
17
12
  import {routeWithAppContext} from './shared/navigation.ts';
18
13
 
19
14
  export interface AppProps {
20
- context: AppContextType;
15
+ context: AppContext;
21
16
  }
22
17
 
23
18
  // Define the routes for your application. If you have a lot of routes, you
@@ -41,25 +36,22 @@ const routes = [
41
36
  // app-wide context in this component.
42
37
  export function App({context}: AppProps) {
43
38
  return (
44
- <AppContext context={context}>
45
- <Head />
46
- <Navigation router={context.router} routes={routes} context={context} />
47
- </AppContext>
48
- );
49
- }
50
-
51
- export default App;
52
-
53
- // This component renders any app-wide context.
54
- function AppContext({children, context}: RenderableProps<AppProps>) {
55
- return (
56
- <AppContextReact.Provider value={context}>
39
+ <AppContextPreact.Provider value={context}>
57
40
  <GraphQLContext
58
41
  fetch={context.graphql.fetch}
59
42
  cache={context.graphql.cache}
60
43
  >
61
- <Localization>{children}</Localization>
44
+ <Localization>
45
+ <Head />
46
+ <Navigation
47
+ router={context.router}
48
+ routes={routes}
49
+ context={context}
50
+ />
51
+ </Localization>
62
52
  </GraphQLContext>
63
- </AppContextReact.Provider>
53
+ </AppContextPreact.Provider>
64
54
  );
65
55
  }
56
+
57
+ export default App;
@@ -16,8 +16,9 @@
16
16
  "dependencies": {},
17
17
  "devDependencies": {
18
18
  "@quilted/graphql-tools": "^0.2.0",
19
- "@quilted/quilt": "^0.8.0",
19
+ "@quilted/quilt": "^0.9.0",
20
20
  "graphql": "^16.8.0",
21
+ "hono": "^4.8.0",
21
22
  "jsdom": "^26.0.0",
22
23
  "preact": "^10.26.0",
23
24
  "react": "npm:@quilted/react@^19.0.0",
@@ -1,4 +1,4 @@
1
- import {RequestRouter, JSONResponse} from '@quilted/quilt/request-router';
1
+ import {Hono} from 'hono';
2
2
  import {Router} from '@quilted/quilt/navigation';
3
3
  import {
4
4
  renderAppToHTMLResponse,
@@ -14,7 +14,7 @@ import {BrowserAssets} from 'quilt:module/assets';
14
14
 
15
15
  import type {AppContext} from '~/shared/context.ts';
16
16
 
17
- const router = new RequestRouter();
17
+ const app = new Hono();
18
18
  const assets = new BrowserAssets();
19
19
 
20
20
  class ServerAppContext implements AppContext {
@@ -37,7 +37,9 @@ class ServerAppContext implements AppContext {
37
37
  }
38
38
 
39
39
  // GraphQL API, called from the client
40
- router.post('/api/graphql', async (request) => {
40
+ app.post('/api/graphql', async (c) => {
41
+ const request = c.req.raw;
42
+
41
43
  const [{query, operationName, variables}, {performGraphQLOperation}] =
42
44
  await Promise.all([request.json(), import('./server/graphql.ts')]);
43
45
 
@@ -46,11 +48,13 @@ router.post('/api/graphql', async (request) => {
46
48
  operationName,
47
49
  });
48
50
 
49
- return new JSONResponse(result);
51
+ return Response.json(result);
50
52
  });
51
53
 
52
- // For all GET requests, render our Preact application.
53
- router.get(async (request) => {
54
+ // Preact app
55
+ app.get('*', async (c) => {
56
+ const request = c.req.raw;
57
+
54
58
  const [{App}] = await Promise.all([import('./App.tsx')]);
55
59
 
56
60
  const context = new ServerAppContext(request);
@@ -140,4 +144,4 @@ router.get(async (request) => {
140
144
  return response;
141
145
  });
142
146
 
143
- export default router;
147
+ export default app;
@@ -1,14 +1,6 @@
1
1
  import {createOptionalContext} from '@quilted/quilt/context';
2
- import type {Router} from '@quilted/quilt/navigation';
3
- import type {GraphQLFetch, GraphQLCache} from '@quilted/quilt/graphql';
4
2
 
5
- export interface AppContext {
6
- readonly router: Router;
7
- readonly graphql: {
8
- readonly fetch: GraphQLFetch<any>;
9
- readonly cache: GraphQLCache;
10
- };
11
- }
3
+ export interface AppContext {}
12
4
 
13
- export const AppContextReact = createOptionalContext<AppContext>();
14
- export const useAppContext = AppContextReact.use;
5
+ export const AppContextPreact = createOptionalContext<AppContext>();
6
+ export const useAppContext = AppContextPreact.use;
@@ -2,8 +2,18 @@ import type {GraphQLFetch, GraphQLCache} from '@quilted/quilt/graphql';
2
2
 
3
3
  declare module '~/shared/context.ts' {
4
4
  interface AppContext {
5
+ /**
6
+ * The app’s GraphQL client.
7
+ */
5
8
  readonly graphql: {
9
+ /**
10
+ * A function to perform GraphQL operations.
11
+ */
6
12
  readonly fetch: GraphQLFetch;
13
+
14
+ /**
15
+ * The app’s GraphQL cache.
16
+ */
7
17
  readonly cache: GraphQLCache;
8
18
  };
9
19
  }
@@ -1,5 +1,3 @@
1
- import type {RenderableProps} from 'preact';
2
-
3
1
  import {NotFound} from '@quilted/quilt/server';
4
2
  import {Navigation} from '@quilted/quilt/navigation';
5
3
  import {Localization} from '@quilted/quilt/localize';
@@ -13,7 +11,7 @@ import {Home} from './features/home.ts';
13
11
 
14
12
  import {trpc} from './shared/trpc.ts';
15
13
  import {
16
- AppContextReact,
14
+ AppContextPreact,
17
15
  type AppContext as AppContextType,
18
16
  } from './shared/context.ts';
19
17
  import {routeWithAppContext} from './shared/navigation.ts';
@@ -43,26 +41,21 @@ const routes = [
43
41
  // app-wide context in this component.
44
42
  export function App({context}: AppProps) {
45
43
  return (
46
- <AppContext context={context}>
47
- <Head />
48
- <Navigation router={context.router} routes={routes} context={context} />
49
- </AppContext>
44
+ <AppContextPreact.Provider value={context}>
45
+ <trpc.Provider client={context.trpc} queryClient={context.queryClient}>
46
+ <ReactQueryContext client={context.queryClient}>
47
+ <Localization>
48
+ <Head />
49
+ <Navigation
50
+ router={context.router}
51
+ routes={routes}
52
+ context={context}
53
+ />
54
+ </Localization>
55
+ </ReactQueryContext>
56
+ </trpc.Provider>
57
+ </AppContextPreact.Provider>
50
58
  );
51
59
  }
52
60
 
53
61
  export default App;
54
-
55
- // This component renders any app-wide context.
56
- function AppContext({children, context}: RenderableProps<AppProps>) {
57
- return (
58
- <AppContextReact.Provider value={context}>
59
- <Localization>
60
- <trpc.Provider client={context.trpc} queryClient={context.queryClient}>
61
- <ReactQueryContext client={context.queryClient}>
62
- {children}
63
- </ReactQueryContext>
64
- </trpc.Provider>
65
- </Localization>
66
- </AppContextReact.Provider>
67
- );
68
- }
@@ -15,13 +15,14 @@
15
15
  },
16
16
  "dependencies": {},
17
17
  "devDependencies": {
18
- "@quilted/quilt": "^0.8.0",
18
+ "@quilted/quilt": "^0.9.0",
19
19
  "@quilted/react-query": "^0.4.0",
20
20
  "@quilted/trpc": "^0.2.0",
21
21
  "@tanstack/react-query": "^5.0.0",
22
22
  "@trpc/client": "next",
23
23
  "@trpc/react-query": "next",
24
24
  "@trpc/server": "next",
25
+ "hono": "^4.8.0",
25
26
  "jsdom": "^26.0.0",
26
27
  "preact": "^10.26.0",
27
28
  "react": "npm:@quilted/react@^19.0.0",
@@ -1,3 +1,4 @@
1
+ import {Hono} from 'hono';
1
2
  import {
2
3
  renderAppToHTMLResponse,
3
4
  CacheControlHeader,
@@ -5,7 +6,6 @@ import {
5
6
  PermissionsPolicyHeader,
6
7
  StrictTransportSecurityHeader,
7
8
  } from '@quilted/quilt/server';
8
- import {RequestRouter} from '@quilted/quilt/request-router';
9
9
  import {Router} from '@quilted/quilt/navigation';
10
10
 
11
11
  import Env from 'quilt:module/env';
@@ -19,7 +19,7 @@ import type {AppContext} from '~/shared/context.ts';
19
19
 
20
20
  import {appRouter} from './trpc.ts';
21
21
 
22
- const router = new RequestRouter();
22
+ const app = new Hono();
23
23
  const assets = new BrowserAssets();
24
24
 
25
25
  class ServerAppContext implements AppContext {
@@ -34,21 +34,21 @@ class ServerAppContext implements AppContext {
34
34
  }
35
35
  }
36
36
 
37
- router.any(
38
- 'api',
39
- (request) => {
40
- return fetchRequestHandler({
41
- endpoint: '/api',
42
- req: request,
43
- router: appRouter,
44
- createContext: () => ({}),
45
- });
46
- },
47
- {exact: false},
48
- );
49
-
50
- // For all GET requests, render our React application.
51
- router.get(async (request) => {
37
+ // TRPC API
38
+ app.all('/api/*', async (c) => {
39
+ const request = c.req.raw;
40
+ return fetchRequestHandler({
41
+ endpoint: '/api',
42
+ req: request,
43
+ router: appRouter,
44
+ createContext: () => ({}),
45
+ });
46
+ });
47
+
48
+ // Preact app
49
+ app.get('*', async (c) => {
50
+ const request = c.req.raw;
51
+
52
52
  const [{App}] = await Promise.all([import('./App.tsx')]);
53
53
 
54
54
  const context = new ServerAppContext(request);
@@ -138,4 +138,4 @@ router.get(async (request) => {
138
138
  return response;
139
139
  });
140
140
 
141
- export default router;
141
+ export default app;
@@ -2,5 +2,5 @@ import {createOptionalContext} from '@quilted/quilt/context';
2
2
 
3
3
  export interface AppContext {}
4
4
 
5
- export const AppContextReact = createOptionalContext<AppContext>();
6
- export const useAppContext = AppContextReact.use;
5
+ export const AppContextPreact = createOptionalContext<AppContext>();
6
+ export const useAppContext = AppContextPreact.use;
@@ -7,7 +7,7 @@
7
7
  "build": "rollup --config ./rollup.config.js"
8
8
  },
9
9
  "devDependencies": {
10
- "@quilted/quilt": "^0.6.0"
10
+ "@quilted/quilt": "^0.9.0"
11
11
  },
12
12
  "browserslist": [
13
13
  "current node version"
@@ -1,6 +1,6 @@
1
- import {RequestRouter} from '@quilted/quilt/request-router';
1
+ import {Hono} from 'hono';
2
2
 
3
- const app = new RequestRouter();
3
+ const app = new Hono();
4
4
 
5
5
  app.get('/', () => new Response('Hello, world!'));
6
6