@quilted/rollup 0.3.3 → 0.4.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.
@@ -1,5 +1,5 @@
1
1
  import type { RollupOptions, InputPluginOption, GetManualChunk } from 'rollup';
2
- import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_REQUEST_ROUTER } from './constants.ts';
2
+ import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_HONO } from './constants.ts';
3
3
  import { type MagicModuleEnvOptions } from './features/env.ts';
4
4
  import { type RollupNodePluginOptions } from './shared/rollup.ts';
5
5
  import { type BrowserGroupTargetSelection } from './shared/browserslist.ts';
@@ -198,17 +198,15 @@ export interface AppServerOptions extends AppBaseOptions {
198
198
  */
199
199
  entry?: string;
200
200
  /**
201
- * Whether this server code uses the `request-router` library to
202
- * define itself in a generic way, which can be adapted to a variety
203
- * of environments. By default, this is `'request-router'`, and when `'request-router'`,
204
- * the `entry` you specified must export an `RequestRouter` object as
205
- * its default export. When set to `false`, the app server will be built
206
- * as a basic server-side JavaScript project, without the special
207
- * `request-router` adaptor.
201
+ * Whether this server code uses `hono` to define itself in a generic way, which can
202
+ * be adapted to a variety of environments. By default, this is `'hono'`, and when `'hono'`,
203
+ * the `entry` you specified must export an `Hono` object as its default export. When set to `'custom'`,
204
+ * the app server will be built as a basic server-side JavaScript project, without the special
205
+ * `hono` adaptor.
208
206
  *
209
- * @default 'request-router'
207
+ * @default 'hono'
210
208
  */
211
- format?: 'request-router' | 'custom';
209
+ format?: 'hono' | 'custom';
212
210
  /**
213
211
  * Customizes the assets created for your application.
214
212
  */
@@ -303,12 +301,10 @@ export interface AppRuntime {
303
301
  */
304
302
  server?: AppServerRuntime;
305
303
  }
306
- export interface AppServerRuntime extends Omit<ServerRuntime, 'requestRouter'> {
307
- requestRouter?(options: {
308
- assets: Required<Pick<AppBrowserAssetsOptions, 'baseURL'>>;
309
- }): string;
304
+ export interface AppServerRuntime extends Omit<ServerRuntime, 'hono'> {
305
+ hono?(): string;
310
306
  }
311
- export { MAGIC_MODULE_ENTRY, MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_REQUEST_ROUTER, };
307
+ export { MAGIC_MODULE_ENTRY, MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_HONO, };
312
308
  export declare function quiltApp({ root, app, env, graphql, assets, browser: browserOptions, server: serverOptions, serviceWorker: serviceWorkerOptions, runtime, }?: AppOptions): Promise<RollupOptions[]>;
313
309
  export declare function quiltAppBrowser(options?: AppBrowserOptions): Promise<{
314
310
  plugins: InputPluginOption[];
@@ -500,23 +496,15 @@ export declare function quiltAppServiceWorkerInput({ root, entry, }?: Pick<AppSe
500
496
  }>;
501
497
  };
502
498
  export interface NodeAppServerRuntimeOptions extends NodeServerRuntimeOptions {
503
- /**
504
- * Whether the server should serve assets from the asset output directory.
505
- *
506
- * @default true
507
- */
508
- assets?: boolean;
509
499
  }
510
- export declare function nodeAppServerRuntime({ host, port, format, assets: serveAssets, }?: NodeAppServerRuntimeOptions): {
500
+ export declare function nodeAppServerRuntime({ host, port, format, }?: NodeAppServerRuntimeOptions): {
511
501
  env: string;
512
502
  output: {
513
503
  options: {
514
- format: "cjs" | "esm";
504
+ format: "esm" | "cjs";
515
505
  };
516
506
  };
517
- requestRouter({ assets }: {
518
- assets: Required<Pick<AppBrowserAssetsOptions, "baseURL">>;
519
- }): string;
507
+ hono(): string;
520
508
  };
521
509
  export declare function magicModuleAppComponent({ entry, root, }: {
522
510
  entry?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../source/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../source/app.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ export declare const MAGIC_MODULE_ENV = "quilt:module/env";
2
2
  export declare const MAGIC_MODULE_ENTRY = "quilt:module/entry";
3
3
  export declare const MAGIC_MODULE_APP_COMPONENT = "quilt:module/app";
4
4
  export declare const MAGIC_MODULE_BROWSER_ASSETS = "quilt:module/assets";
5
- export declare const MAGIC_MODULE_REQUEST_ROUTER = "quilt:module/request-router";
5
+ export declare const MAGIC_MODULE_HONO = "quilt:module/hono";
6
6
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../source/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AACjE,eAAO,MAAM,2BAA2B,gCAAgC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../source/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AACjE,eAAO,MAAM,iBAAiB,sBAAsB,CAAC"}
@@ -84,7 +84,7 @@ export interface ModuleAssetsOptions extends Pick<RollupNodePluginOptions, 'bund
84
84
  }
85
85
  export declare function quiltModule({ root, entry, env, assets, graphql, runtime, }?: ModuleOptions): Promise<{
86
86
  input: {
87
- [k: string]: string;
87
+ [x: string]: string;
88
88
  };
89
89
  plugins: InputPluginOption[];
90
90
  output: {
@@ -122,7 +122,7 @@ export declare function quiltPackage({ root, commonjs, esnext: explicitESNext, e
122
122
  generatedCode: "es2015";
123
123
  };
124
124
  } | {
125
- plugins: (false | void | Plugin<any> | import("rollup").InputPluginOption[] | Promise<false | import("rollup").NullValue | Plugin<any> | import("rollup").InputPluginOption[]> | null)[];
125
+ plugins: (false | void | Plugin<any> | import("rollup").InputPluginOption[] | Promise<false | Plugin<any> | import("rollup").NullValue | import("rollup").InputPluginOption[]> | null)[];
126
126
  output: OutputOptions | OutputOptions[] | {
127
127
  preserveModules: true;
128
128
  preserveModulesRoot: string;
@@ -192,7 +192,7 @@ export declare function quiltPackageESNext({ root, react: useReact, graphql, ent
192
192
  generatedCode: "es2015";
193
193
  };
194
194
  } | {
195
- plugins: (false | void | Plugin<any> | import("rollup").InputPluginOption[] | Promise<false | import("rollup").NullValue | Plugin<any> | import("rollup").InputPluginOption[]> | null)[];
195
+ plugins: (false | void | Plugin<any> | import("rollup").InputPluginOption[] | Promise<false | Plugin<any> | import("rollup").NullValue | import("rollup").InputPluginOption[]> | null)[];
196
196
  output: OutputOptions | OutputOptions[] | {
197
197
  preserveModules: true;
198
198
  preserveModulesRoot: string;
@@ -1,7 +1,7 @@
1
1
  import { type InputPluginOption } from 'rollup';
2
2
  import { RollupNodePluginOptions } from './shared/rollup.ts';
3
3
  import { type MagicModuleEnvOptions } from './features/env.ts';
4
- import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER } from './constants.ts';
4
+ import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_HONO } from './constants.ts';
5
5
  import type { ModuleRuntime } from './module.ts';
6
6
  export interface ServerOptions {
7
7
  /**
@@ -19,17 +19,16 @@ export interface ServerOptions {
19
19
  */
20
20
  entry?: string;
21
21
  /**
22
- * Whether this server code uses the `request-router` library to
23
- * define itself in a generic way, which can be adapted to a variety
24
- * of environments. By default, this is `'request-router'`, and when `'request-router'`,
25
- * the `entry` you specified must export an `RequestRouter` object as
26
- * its default export. When set to `false`, the app server will be built
27
- * as a basic server-side JavaScript project, without the special
28
- * `request-router` adaptor.
22
+ * Whether this server code uses `hono` to define itself in a generic way,
23
+ * which can be adapted to a variety of environments. By default, this is
24
+ * `'hono'`, and when `'hono'`, the `entry` you specified must export an
25
+ * `Hono` object as its default export. When set to `'custom'`, the app
26
+ * server will be built as a basic server-side JavaScript project, without
27
+ * the special `hono` adaptor.
29
28
  *
30
- * @default 'request-router'
29
+ * @default 'hono'
31
30
  */
32
- format?: 'request-router' | 'custom';
31
+ format?: 'hono' | 'custom';
33
32
  /**
34
33
  * Whether to include GraphQL-related code transformations.
35
34
  *
@@ -56,12 +55,12 @@ export interface ServerRuntime extends ModuleRuntime {
56
55
  */
57
56
  env?: string;
58
57
  /**
59
- * The content to use as the entry point when the server uses the `request-router`
60
- * format for their server. This file should import the request router instance for
61
- * this app from 'quilt:module/request-router', and create a server that is appropriate
58
+ * The content to use as the entry point when the server uses the `hono`
59
+ * format for their server. This file should import the hono instance for
60
+ * this app from 'quilt:module/hono', and create a server that is appropriate
62
61
  * for this runtime.
63
62
  */
64
- requestRouter?(): string;
63
+ hono?(): string;
65
64
  }
66
65
  export interface ServerOutputOptions extends Pick<RollupNodePluginOptions, 'bundle'> {
67
66
  /**
@@ -87,7 +86,7 @@ export interface ServerOutputOptions extends Pick<RollupNodePluginOptions, 'bund
87
86
  */
88
87
  hash?: boolean | 'async-only';
89
88
  }
90
- export { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER };
89
+ export { MAGIC_MODULE_ENTRY, MAGIC_MODULE_HONO };
91
90
  export declare function quiltServer({ root: rootPath, entry, format, env, graphql, output, runtime, }?: ServerOptions): Promise<{
92
91
  input: {
93
92
  [x: string]: string;
@@ -170,12 +169,12 @@ export declare function nodeServerRuntime({ host, port, format, }?: NodeServerRu
170
169
  env: string;
171
170
  output: {
172
171
  options: {
173
- format: "cjs" | "esm";
172
+ format: "esm" | "cjs";
174
173
  };
175
174
  };
176
175
  resolve: {
177
176
  exportConditions: string[];
178
177
  };
179
- requestRouter(): string;
178
+ hono(): string;
180
179
  };
181
180
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../source/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,iBAAiB,EAAqB,MAAM,QAAQ,CAAC;AAGlE,OAAO,EACL,uBAAuB,EAGxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAmB,KAAK,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAC,kBAAkB,EAAE,2BAA2B,EAAC,MAAM,gBAAgB,CAAC;AAE/E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAEpB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,gBAAgB,GAAG,QAAQ,CAAC;IAErC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE5D;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,aAAa,CAAC,IAAI,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;CAC/B;AAED,OAAO,EAAC,kBAAkB,EAAE,2BAA2B,EAAC,CAAC;AAEzD,wBAAsB,WAAW,CAAC,EAChC,IAAI,EAAE,QAAwB,EAC9B,KAAK,EACL,MAAyB,EACzB,GAAG,EACH,OAAc,EACd,MAAM,EACN,OAA6B,GAC9B,GAAE,aAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHpB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EACH,QAAQ,GACR,SAAS,GACT,WAAW,GACX,KAAK,GACL,IAAI,GACJ,UAAU,GACV,KAAK,CAAC;CACX;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,IAAI,EACJ,MAAiB,GAClB,GAAE,wBAA6B;;;;;;;;;;;EA0B/B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../source/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,iBAAiB,EAAqB,MAAM,QAAQ,CAAC;AAGlE,OAAO,EACL,uBAAuB,EAGxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAmB,KAAK,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAEpB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE5D;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,IAAI,CAAC,IAAI,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;CAC/B;AAED,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,CAAC;AAE/C,wBAAsB,WAAW,CAAC,EAChC,IAAI,EAAE,QAAwB,EAC9B,KAAK,EACL,MAAe,EACf,GAAG,EACH,OAAc,EACd,MAAM,EACN,OAA6B,GAC9B,GAAE,aAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHpB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EACH,QAAQ,GACR,SAAS,GACT,WAAW,GACX,KAAK,GACL,IAAI,GACJ,UAAU,GACV,KAAK,CAAC;CACX;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,IAAI,EACJ,MAAiB,GAClB,GAAE,wBAA6B;;;;;;;;;;;EAuC/B"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "access": "public",
7
7
  "@quilted/registry": "https://registry.npmjs.org"
8
8
  },
9
- "version": "0.3.3",
9
+ "version": "0.4.0",
10
10
  "engines": {
11
11
  "node": ">=20.10.0"
12
12
  },
package/source/app.ts CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  MAGIC_MODULE_ENTRY,
15
15
  MAGIC_MODULE_APP_COMPONENT,
16
16
  MAGIC_MODULE_BROWSER_ASSETS,
17
- MAGIC_MODULE_REQUEST_ROUTER,
17
+ MAGIC_MODULE_HONO,
18
18
  } from './constants.ts';
19
19
  import {resolveEnvOption, type MagicModuleEnvOptions} from './features/env.ts';
20
20
 
@@ -265,17 +265,15 @@ export interface AppServerOptions extends AppBaseOptions {
265
265
  entry?: string;
266
266
 
267
267
  /**
268
- * Whether this server code uses the `request-router` library to
269
- * define itself in a generic way, which can be adapted to a variety
270
- * of environments. By default, this is `'request-router'`, and when `'request-router'`,
271
- * the `entry` you specified must export an `RequestRouter` object as
272
- * its default export. When set to `false`, the app server will be built
273
- * as a basic server-side JavaScript project, without the special
274
- * `request-router` adaptor.
268
+ * Whether this server code uses `hono` to define itself in a generic way, which can
269
+ * be adapted to a variety of environments. By default, this is `'hono'`, and when `'hono'`,
270
+ * the `entry` you specified must export an `Hono` object as its default export. When set to `'custom'`,
271
+ * the app server will be built as a basic server-side JavaScript project, without the special
272
+ * `hono` adaptor.
275
273
  *
276
- * @default 'request-router'
274
+ * @default 'hono'
277
275
  */
278
- format?: 'request-router' | 'custom';
276
+ format?: 'hono' | 'custom';
279
277
 
280
278
  /**
281
279
  * Customizes the assets created for your application.
@@ -387,17 +385,15 @@ export interface AppRuntime {
387
385
  server?: AppServerRuntime;
388
386
  }
389
387
 
390
- export interface AppServerRuntime extends Omit<ServerRuntime, 'requestRouter'> {
391
- requestRouter?(options: {
392
- assets: Required<Pick<AppBrowserAssetsOptions, 'baseURL'>>;
393
- }): string;
388
+ export interface AppServerRuntime extends Omit<ServerRuntime, 'hono'> {
389
+ hono?(): string;
394
390
  }
395
391
 
396
392
  export {
397
393
  MAGIC_MODULE_ENTRY,
398
394
  MAGIC_MODULE_APP_COMPONENT,
399
395
  MAGIC_MODULE_BROWSER_ASSETS,
400
- MAGIC_MODULE_REQUEST_ROUTER,
396
+ MAGIC_MODULE_HONO,
401
397
  };
402
398
 
403
399
  const require = createRequire(import.meta.url);
@@ -826,7 +822,7 @@ export async function quiltAppServerPlugins({
826
822
  app,
827
823
  env,
828
824
  entry,
829
- format = 'request-router',
825
+ format = 'hono',
830
826
  graphql = true,
831
827
  assets,
832
828
  output,
@@ -888,16 +884,11 @@ export async function quiltAppServerPlugins({
888
884
  }),
889
885
  magicModuleAppComponent({entry: app, root: project.root}),
890
886
  createMagicModulePlugin({
891
- name: '@quilted/request-router',
887
+ name: '@quilted/hono',
892
888
  sideEffects: true,
893
889
  module: MAGIC_MODULE_ENTRY,
894
890
  source() {
895
- const options = {assets: {baseURL}};
896
-
897
- return (
898
- runtime.requestRouter?.(options) ??
899
- nodeAppServerRuntime().requestRouter(options)
900
- );
891
+ return runtime.hono?.() ?? nodeAppServerRuntime().hono();
901
892
  },
902
893
  }),
903
894
  magicModuleAppRequestRouter({entry, root: project.root}),
@@ -972,7 +963,7 @@ export async function quiltAppServerPlugins({
972
963
  export function quiltAppServerInput({
973
964
  root = process.cwd(),
974
965
  entry,
975
- format = 'request-router',
966
+ format = 'hono',
976
967
  }: Pick<AppServerOptions, 'root' | 'entry' | 'format'> = {}) {
977
968
  return {
978
969
  name: '@quilted/app-server/input',
@@ -981,7 +972,7 @@ export function quiltAppServerInput({
981
972
  normalizeRollupInput(options.input) ??
982
973
  (await sourceEntryForAppServer({entry, root}));
983
974
  const finalEntry =
984
- format === 'request-router'
975
+ format === 'hono'
985
976
  ? MAGIC_MODULE_ENTRY
986
977
  : (serverEntry ?? MAGIC_MODULE_ENTRY);
987
978
  const finalEntryName =
@@ -1191,20 +1182,12 @@ export function quiltAppServiceWorkerInput({
1191
1182
  } satisfies Plugin;
1192
1183
  }
1193
1184
 
1194
- export interface NodeAppServerRuntimeOptions extends NodeServerRuntimeOptions {
1195
- /**
1196
- * Whether the server should serve assets from the asset output directory.
1197
- *
1198
- * @default true
1199
- */
1200
- assets?: boolean;
1201
- }
1185
+ export interface NodeAppServerRuntimeOptions extends NodeServerRuntimeOptions {}
1202
1186
 
1203
1187
  export function nodeAppServerRuntime({
1204
1188
  host,
1205
1189
  port,
1206
1190
  format = 'module',
1207
- assets: serveAssets = true,
1208
1191
  }: NodeAppServerRuntimeOptions = {}) {
1209
1192
  const rollupFormat =
1210
1193
  format === 'commonjs' || format === 'cjs' ? 'cjs' : 'esm';
@@ -1216,52 +1199,15 @@ export function nodeAppServerRuntime({
1216
1199
  format: rollupFormat,
1217
1200
  },
1218
1201
  },
1219
- requestRouter({assets}) {
1220
- const {baseURL} = assets;
1221
-
1202
+ hono() {
1222
1203
  return multiline`
1223
- ${serveAssets ? `import * as path from 'path';` : ''}
1224
- ${rollupFormat === 'cjs' ? '' : `import {fileURLToPath} from 'url';`}
1225
- import {createServer} from 'http';
1226
-
1227
- import requestRouter from ${JSON.stringify(
1228
- MAGIC_MODULE_REQUEST_ROUTER,
1229
- )};
1230
-
1231
- import {createHttpRequestListener${
1232
- serveAssets ? ', serveStatic' : ''
1233
- }} from '@quilted/quilt/request-router/node';
1204
+ import app from ${JSON.stringify(MAGIC_MODULE_HONO)};
1205
+ import {serve} from '@quilted/hono/node';
1234
1206
 
1235
1207
  const port = ${port ?? 'Number.parseInt(process.env.PORT, 10)'};
1236
1208
  const host = ${host ? JSON.stringify(host) : 'process.env.HOST'};
1237
1209
 
1238
- ${
1239
- serveAssets
1240
- ? multiline`
1241
- const dirname = ${
1242
- rollupFormat === 'cjs'
1243
- ? `__dirname`
1244
- : `path.dirname(fileURLToPath(import.meta.url))`
1245
- };
1246
- const serve = serveStatic(path.resolve(dirname, '../assets'), {
1247
- baseUrl: ${JSON.stringify(baseURL)},
1248
- });
1249
- `
1250
- : ''
1251
- }
1252
- const listener = createHttpRequestListener(requestRouter);
1253
-
1254
- createServer(async (request, response) => {
1255
- ${
1256
- serveAssets
1257
- ? `if (request.url.startsWith(${JSON.stringify(
1258
- baseURL,
1259
- )})) return serve(request, response);`
1260
- : ''
1261
- }
1262
-
1263
- await listener(request, response);
1264
- }).listen(port, host);
1210
+ serve({fetch: app.fetch, port, hostname: host});
1265
1211
  `;
1266
1212
  },
1267
1213
  } satisfies AppServerRuntime;
@@ -1300,13 +1246,13 @@ export function magicModuleAppRequestRouter({
1300
1246
  root = process.cwd(),
1301
1247
  }: Pick<AppServerOptions, 'entry' | 'root'> = {}) {
1302
1248
  return createMagicModulePlugin({
1303
- name: '@quilted/magic-module/app-request-router',
1304
- module: MAGIC_MODULE_REQUEST_ROUTER,
1249
+ name: '@quilted/magic-module/app-hono',
1250
+ module: MAGIC_MODULE_HONO,
1305
1251
  alias: () => sourceEntryForAppServer({entry, root}) as Promise<string>,
1306
1252
  async source() {
1307
1253
  return multiline`
1254
+ import {Hono} from 'hono';
1308
1255
  import {jsx} from 'preact/jsx-runtime';
1309
- import {RequestRouter} from '@quilted/quilt/request-router';
1310
1256
  import {renderAppToHTMLResponse} from '@quilted/quilt/server';
1311
1257
 
1312
1258
  import App from ${JSON.stringify(MAGIC_MODULE_APP_COMPONENT)};
@@ -1314,11 +1260,11 @@ export function magicModuleAppRequestRouter({
1314
1260
  MAGIC_MODULE_BROWSER_ASSETS,
1315
1261
  )};
1316
1262
 
1317
- const router = new RequestRouter();
1263
+ const app = new Hono();
1318
1264
  const assets = new BrowserAssets();
1319
1265
 
1320
- // For all GET requests, render our React application.
1321
- router.get(async (request) => {
1266
+ app.get(async (c) => {
1267
+ const request = c.req.raw;
1322
1268
  const response = await renderAppToHTMLResponse(jsx(App), {
1323
1269
  request,
1324
1270
  assets,
@@ -1327,7 +1273,7 @@ export function magicModuleAppRequestRouter({
1327
1273
  return response;
1328
1274
  });
1329
1275
 
1330
- export default router;
1276
+ export default app;
1331
1277
  `;
1332
1278
  },
1333
1279
  });
@@ -2,4 +2,4 @@ export const MAGIC_MODULE_ENV = 'quilt:module/env';
2
2
  export const MAGIC_MODULE_ENTRY = 'quilt:module/entry';
3
3
  export const MAGIC_MODULE_APP_COMPONENT = 'quilt:module/app';
4
4
  export const MAGIC_MODULE_BROWSER_ASSETS = 'quilt:module/assets';
5
- export const MAGIC_MODULE_REQUEST_ROUTER = 'quilt:module/request-router';
5
+ export const MAGIC_MODULE_HONO = 'quilt:module/hono';
package/source/server.ts CHANGED
@@ -11,7 +11,7 @@ import {
11
11
 
12
12
  import {multiline} from './shared/strings.ts';
13
13
  import {resolveEnvOption, type MagicModuleEnvOptions} from './features/env.ts';
14
- import {MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER} from './constants.ts';
14
+ import {MAGIC_MODULE_ENTRY, MAGIC_MODULE_HONO} from './constants.ts';
15
15
  import {createMagicModulePlugin} from './shared/magic-module.ts';
16
16
  import type {ModuleRuntime} from './module.ts';
17
17
 
@@ -33,17 +33,16 @@ export interface ServerOptions {
33
33
  entry?: string;
34
34
 
35
35
  /**
36
- * Whether this server code uses the `request-router` library to
37
- * define itself in a generic way, which can be adapted to a variety
38
- * of environments. By default, this is `'request-router'`, and when `'request-router'`,
39
- * the `entry` you specified must export an `RequestRouter` object as
40
- * its default export. When set to `false`, the app server will be built
41
- * as a basic server-side JavaScript project, without the special
42
- * `request-router` adaptor.
36
+ * Whether this server code uses `hono` to define itself in a generic way,
37
+ * which can be adapted to a variety of environments. By default, this is
38
+ * `'hono'`, and when `'hono'`, the `entry` you specified must export an
39
+ * `Hono` object as its default export. When set to `'custom'`, the app
40
+ * server will be built as a basic server-side JavaScript project, without
41
+ * the special `hono` adaptor.
43
42
  *
44
- * @default 'request-router'
43
+ * @default 'hono'
45
44
  */
46
- format?: 'request-router' | 'custom';
45
+ format?: 'hono' | 'custom';
47
46
 
48
47
  /**
49
48
  * Whether to include GraphQL-related code transformations.
@@ -76,12 +75,12 @@ export interface ServerRuntime extends ModuleRuntime {
76
75
  env?: string;
77
76
 
78
77
  /**
79
- * The content to use as the entry point when the server uses the `request-router`
80
- * format for their server. This file should import the request router instance for
81
- * this app from 'quilt:module/request-router', and create a server that is appropriate
78
+ * The content to use as the entry point when the server uses the `hono`
79
+ * format for their server. This file should import the hono instance for
80
+ * this app from 'quilt:module/hono', and create a server that is appropriate
82
81
  * for this runtime.
83
82
  */
84
- requestRouter?(): string;
83
+ hono?(): string;
85
84
  }
86
85
 
87
86
  export interface ServerOutputOptions
@@ -112,12 +111,12 @@ export interface ServerOutputOptions
112
111
  hash?: boolean | 'async-only';
113
112
  }
114
113
 
115
- export {MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER};
114
+ export {MAGIC_MODULE_ENTRY, MAGIC_MODULE_HONO};
116
115
 
117
116
  export async function quiltServer({
118
117
  root: rootPath = process.cwd(),
119
118
  entry,
120
- format = 'request-router',
119
+ format = 'hono',
121
120
  env,
122
121
  graphql = true,
123
122
  output,
@@ -163,7 +162,7 @@ export async function quiltServer({
163
162
  : await sourceForServer(project);
164
163
 
165
164
  const finalEntry =
166
- format === 'request-router'
165
+ format === 'hono'
167
166
  ? MAGIC_MODULE_ENTRY
168
167
  : (serverEntry ?? MAGIC_MODULE_ENTRY);
169
168
 
@@ -188,21 +187,19 @@ export async function quiltServer({
188
187
  removeBuildFiles([outputDirectory, reportDirectory], {root: project.root}),
189
188
  ];
190
189
 
191
- if (format === 'request-router') {
190
+ if (format === 'hono') {
192
191
  plugins.push(
193
192
  createMagicModulePlugin({
194
- name: '@quilted/magic-module/server-request-router',
195
- module: MAGIC_MODULE_REQUEST_ROUTER,
193
+ name: '@quilted/magic-module/server-hono',
194
+ module: MAGIC_MODULE_HONO,
196
195
  alias: serverEntry,
197
196
  }),
198
197
  createMagicModulePlugin({
199
- name: '@quilted/request-router',
198
+ name: '@quilted/hono',
200
199
  sideEffects: true,
201
200
  module: MAGIC_MODULE_ENTRY,
202
201
  source() {
203
- return (
204
- runtime.requestRouter?.() ?? nodeServerRuntime().requestRouter()
205
- );
202
+ return runtime.hono?.() ?? nodeServerRuntime().hono();
206
203
  },
207
204
  }),
208
205
  );
@@ -288,18 +285,31 @@ export function nodeServerRuntime({
288
285
  resolve: {
289
286
  exportConditions: ['node'],
290
287
  },
291
- requestRouter() {
288
+ hono() {
292
289
  return multiline`
293
- import requestRouter from ${JSON.stringify(
294
- MAGIC_MODULE_REQUEST_ROUTER,
295
- )};
290
+ import app from ${JSON.stringify(MAGIC_MODULE_HONO)};
296
291
 
297
- import {createHttpServer} from '@quilted/quilt/request-router/node';
292
+ import {serve} from '@quilted/quilt/hono/node';
298
293
 
299
294
  const port = ${port ?? 'Number.parseInt(process.env.PORT, 10)'};
300
295
  const host = ${host ? JSON.stringify(host) : 'process.env.HOST'};
301
-
302
- createHttpServer(requestRouter).listen(port, host);
296
+
297
+ const server = serve(app);
298
+
299
+ process.on('SIGINT', () => {
300
+ server.close();
301
+ process.exit(0);
302
+ });
303
+
304
+ process.on('SIGTERM', () => {
305
+ server.close((err) => {
306
+ if (err) {
307
+ console.error(err);
308
+ process.exit(1);
309
+ }
310
+ process.exit(0);
311
+ });
312
+ });
303
313
  `;
304
314
  },
305
315
  } satisfies ServerRuntime;