honertia 0.1.25 → 0.1.27

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.
@@ -30,7 +30,7 @@ export function honertia(config) {
30
30
  const version = getVersion();
31
31
  // Version mismatch - force full reload
32
32
  if (isHonertia && clientVersion && clientVersion !== version && c.req.method === 'GET') {
33
- return new Response(null, {
33
+ return c.body(null, {
34
34
  status: 409,
35
35
  headers: { [HEADERS.LOCATION]: c.req.url },
36
36
  });
@@ -102,7 +102,7 @@ export function honertia(config) {
102
102
  ['POST', 'PUT', 'PATCH', 'DELETE'].includes(c.req.method)) {
103
103
  const location = c.res.headers.get('Location');
104
104
  if (location) {
105
- return new Response(null, {
105
+ c.res = new Response(null, {
106
106
  status: 303,
107
107
  headers: { 'Location': location, 'Vary': HEADERS.HONERTIA },
108
108
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAY1E;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO,CACnF,SAAQ,cAAc;IACtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;IAEhC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG;QAAE,SAAS,EAAE;YAAE,EAAE,EAAE,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;IAE1D;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,GAAG,GAAG,GAAG,EACnB,EAAE,GAAG,OAAO,EACZ,IAAI,GAAG,OAAO,EACd,cAAc,GAAG,KAAK;IAEtB;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAEzC;;;OAGG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAE9C;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,aAAa,CAC3B,CAAC,SAAS,GAAG,EACb,EAAE,GAAG,OAAO,EACZ,IAAI,GAAG,OAAO,EACd,cAAc,GAAG,KAAK,EACtB,MAAM,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CA4ChF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,GAAE,kBAAuB;kBAqC3D,OAAO,CAAC,CAAC,CAAC;mBA8BT,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;EAyC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,GAAG,EACjD,GAAG,EAAE;IAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;CAAE,EAC1E,MAAM,GAAE,kBAAuB,GAC9B,IAAI,CAIN"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAY1E;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO,CACnF,SAAQ,cAAc;IACtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;IAEhC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG;QAAE,SAAS,EAAE;YAAE,EAAE,EAAE,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC,KAAK,IAAI,CAAA;IAE1D;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,GAAG,GAAG,GAAG,EACnB,EAAE,GAAG,OAAO,EACZ,IAAI,GAAG,OAAO,EACd,cAAc,GAAG,KAAK;IAEtB;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAEzC;;;OAGG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAE9C;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,aAAa,CAC3B,CAAC,SAAS,GAAG,EACb,EAAE,GAAG,OAAO,EACZ,IAAI,GAAG,OAAO,EACd,cAAc,GAAG,KAAK,EACtB,MAAM,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAmDhF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,GAAE,kBAAuB;kBAqC3D,OAAO,CAAC,CAAC,CAAC;mBAmCT,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;EA8C3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,GAAG,EACjD,GAAG,EAAE;IAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;CAAE,EAC1E,MAAM,GAAE,kBAAuB,GAC9B,IAAI,CAIN"}
package/dist/setup.js CHANGED
@@ -77,7 +77,14 @@ export function setupHonertia(config) {
77
77
  await next();
78
78
  return;
79
79
  }
80
- await middlewares[i](c, () => dispatch(i + 1));
80
+ // Call middleware and capture result (following Hono's compose pattern)
81
+ const res = await middlewares[i](c, async () => {
82
+ await dispatch(i + 1);
83
+ });
84
+ // If middleware returned a Response and context isn't finalized, set c.res
85
+ if (res && !c.finalized) {
86
+ c.res = res;
87
+ }
81
88
  };
82
89
  await dispatch(0);
83
90
  });
@@ -139,8 +146,12 @@ export function createErrorHandlers(config = {}) {
139
146
  if (format === 'json') {
140
147
  return c.json(fmt.json.format(structured), 404);
141
148
  }
142
- // Render Inertia error component
143
- return c.var.honertia.render(component, fmt.inertia.format(structured));
149
+ // Render Inertia error component (if honertia middleware has run)
150
+ if (c.var.honertia?.render) {
151
+ return c.var.honertia.render(component, fmt.inertia.format(structured));
152
+ }
153
+ // Fallback: return JSON if honertia isn't available
154
+ return c.json(fmt.json.format(structured), 404);
144
155
  };
145
156
  const onError = (err, c) => {
146
157
  const isDev = showDevErrors && c.env?.[envKey] === devValue;
@@ -171,8 +182,12 @@ export function createErrorHandlers(config = {}) {
171
182
  if (format === 'json') {
172
183
  return c.json(fmt.json.format(structured), structured.httpStatus);
173
184
  }
174
- // Render Inertia error component
175
- return c.var.honertia.render(component, fmt.inertia.format(structured));
185
+ // Render Inertia error component (if honertia middleware has run)
186
+ if (c.var.honertia?.render) {
187
+ return c.var.honertia.render(component, fmt.inertia.format(structured));
188
+ }
189
+ // Fallback: return JSON if honertia isn't available
190
+ return c.json(fmt.json.format(structured), structured.httpStatus);
176
191
  };
177
192
  return { notFound, onError };
178
193
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "honertia",
3
- "version": "0.1.25",
3
+ "version": "0.1.27",
4
4
  "description": "Inertia.js-style server-driven SPA adapter for Hono",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",