@inertiajs/core 2.1.2 → 2.1.4

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,8 +1,8 @@
1
1
  // src/server.ts
2
2
  import { createServer } from "http";
3
- import * as process from "process";
4
3
  import cluster from "node:cluster";
5
4
  import { availableParallelism } from "node:os";
5
+ import * as process from "process";
6
6
  var readableToString = (readable) => new Promise((resolve, reject) => {
7
7
  let data = "";
8
8
  readable.on("data", (chunk) => data += chunk);
@@ -13,7 +13,9 @@ var server_default = (render, options) => {
13
13
  const _port = typeof options === "number" ? options : options?.port ?? 13714;
14
14
  const _useCluster = typeof options === "object" && options?.cluster !== void 0 ? options.cluster : false;
15
15
  const log = (message) => {
16
- console.log(_useCluster && !cluster.isPrimary ? `[${cluster.worker?.id ?? "N/A"} / ${cluster.worker?.process?.pid ?? "N/A"}] ${message}` : message);
16
+ console.log(
17
+ _useCluster && !cluster.isPrimary ? `[${cluster.worker?.id ?? "N/A"} / ${cluster.worker?.process?.pid ?? "N/A"}] ${message}` : message
18
+ );
17
19
  };
18
20
  if (_useCluster && cluster.isPrimary) {
19
21
  log("Primary Inertia SSR server process started...");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/server.ts"],
4
- "sourcesContent": ["import { createServer, IncomingMessage } from 'http'\nimport * as process from 'process'\nimport { InertiaAppResponse, Page } from './types'\nimport cluster from 'node:cluster';\nimport { availableParallelism } from 'node:os';\n\ntype AppCallback = (page: Page) => InertiaAppResponse\ntype RouteHandler = (request: IncomingMessage) => Promise<unknown>\ntype ServerOptions = {\n port?: number\n cluster?: boolean\n}\ntype Port = number\n\nconst readableToString: (readable: IncomingMessage) => Promise<string> = (readable) =>\n new Promise((resolve, reject) => {\n let data = ''\n readable.on('data', (chunk) => (data += chunk))\n readable.on('end', () => resolve(data))\n readable.on('error', (err) => reject(err))\n })\n\nexport default (render: AppCallback, options?: Port | ServerOptions): void => {\n const _port = typeof options === 'number' ? options : options?.port ?? 13714;\n const _useCluster = typeof options === 'object' && options?.cluster !== undefined ? options.cluster : false;\n\n const log = (message: string) => {\n console.log(_useCluster && !cluster.isPrimary ? `[${cluster.worker?.id ?? 'N/A'} / ${cluster.worker?.process?.pid ?? 'N/A'}] ${message}` : message)\n }\n\n if (_useCluster && cluster.isPrimary) {\n log('Primary Inertia SSR server process started...')\n\n for (let i = 0; i < availableParallelism(); i++) {\n cluster.fork()\n }\n\n return\n }\n\n const routes: Record<string, RouteHandler> = {\n '/health': async () => ({ status: 'OK', timestamp: Date.now() }),\n '/shutdown': () => process.exit(),\n '/render': async (request) => render(JSON.parse(await readableToString(request))),\n '/404': async () => ({ status: 'NOT_FOUND', timestamp: Date.now() }),\n }\n\n createServer(async (request, response) => {\n const dispatchRoute = routes[<string>request.url] || routes['/404']\n\n try {\n response.writeHead(200, { 'Content-Type': 'application/json', Server: 'Inertia.js SSR' })\n response.write(JSON.stringify(await dispatchRoute(request)))\n } catch (e) {\n console.error(e)\n }\n\n response.end()\n }).listen(_port, () => log('Inertia SSR server started.'))\n\n log(`Starting SSR server on port ${_port}...`)\n}\n"],
5
- "mappings": ";AAAA,SAAS,oBAAqC;AAC9C,YAAY,aAAa;AAEzB,OAAO,aAAa;AACpB,SAAS,4BAA4B;AAUrC,IAAM,mBAAmE,CAAC,aACxE,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI,OAAO;AACX,WAAS,GAAG,QAAQ,CAAC,UAAW,QAAQ,KAAM;AAC9C,WAAS,GAAG,OAAO,MAAM,QAAQ,IAAI,CAAC;AACtC,WAAS,GAAG,SAAS,CAAC,QAAQ,OAAO,GAAG,CAAC;AAC3C,CAAC;AAEH,IAAO,iBAAQ,CAAC,QAAqB,YAAyC;AAC5E,QAAM,QAAQ,OAAO,YAAY,WAAW,UAAU,SAAS,QAAQ;AACvE,QAAM,cAAc,OAAO,YAAY,YAAY,SAAS,YAAY,SAAY,QAAQ,UAAU;AAEtG,QAAM,MAAM,CAAC,YAAoB;AAC/B,YAAQ,IAAI,eAAe,CAAC,QAAQ,YAAY,IAAI,QAAQ,QAAQ,MAAM,KAAK,MAAM,QAAQ,QAAQ,SAAS,OAAO,KAAK,KAAK,OAAO,KAAK,OAAO;AAAA,EACpJ;AAEA,MAAI,eAAe,QAAQ,WAAW;AACpC,QAAI,+CAA+C;AAEnD,aAAS,IAAI,GAAG,IAAI,qBAAqB,GAAG,KAAK;AAC/C,cAAQ,KAAK;AAAA,IACf;AAEA;AAAA,EACF;AAEA,QAAM,SAAuC;AAAA,IAC3C,WAAW,aAAa,EAAE,QAAQ,MAAM,WAAW,KAAK,IAAI,EAAE;AAAA,IAC9D,aAAa,MAAc,aAAK;AAAA,IAChC,WAAW,OAAO,YAAY,OAAO,KAAK,MAAM,MAAM,iBAAiB,OAAO,CAAC,CAAC;AAAA,IAChF,QAAQ,aAAa,EAAE,QAAQ,aAAa,WAAW,KAAK,IAAI,EAAE;AAAA,EACpE;AAEA,eAAa,OAAO,SAAS,aAAa;AACxC,UAAM,gBAAgB,OAAe,QAAQ,GAAG,KAAK,OAAO,MAAM;AAElE,QAAI;AACF,eAAS,UAAU,KAAK,EAAE,gBAAgB,oBAAoB,QAAQ,iBAAiB,CAAC;AACxF,eAAS,MAAM,KAAK,UAAU,MAAM,cAAc,OAAO,CAAC,CAAC;AAAA,IAC7D,SAAS,GAAG;AACV,cAAQ,MAAM,CAAC;AAAA,IACjB;AAEA,aAAS,IAAI;AAAA,EACf,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI,6BAA6B,CAAC;AAEzD,MAAI,+BAA+B,KAAK,KAAK;AAC/C;",
4
+ "sourcesContent": ["import { createServer, IncomingMessage } from 'http'\nimport cluster from 'node:cluster'\nimport { availableParallelism } from 'node:os'\nimport * as process from 'process'\nimport { InertiaAppResponse, Page } from './types'\n\ntype AppCallback = (page: Page) => InertiaAppResponse\ntype RouteHandler = (request: IncomingMessage) => Promise<unknown>\ntype ServerOptions = {\n port?: number\n cluster?: boolean\n}\ntype Port = number\n\nconst readableToString: (readable: IncomingMessage) => Promise<string> = (readable) =>\n new Promise((resolve, reject) => {\n let data = ''\n readable.on('data', (chunk) => (data += chunk))\n readable.on('end', () => resolve(data))\n readable.on('error', (err) => reject(err))\n })\n\nexport default (render: AppCallback, options?: Port | ServerOptions): void => {\n const _port = typeof options === 'number' ? options : (options?.port ?? 13714)\n const _useCluster = typeof options === 'object' && options?.cluster !== undefined ? options.cluster : false\n\n const log = (message: string) => {\n console.log(\n _useCluster && !cluster.isPrimary\n ? `[${cluster.worker?.id ?? 'N/A'} / ${cluster.worker?.process?.pid ?? 'N/A'}] ${message}`\n : message,\n )\n }\n\n if (_useCluster && cluster.isPrimary) {\n log('Primary Inertia SSR server process started...')\n\n for (let i = 0; i < availableParallelism(); i++) {\n cluster.fork()\n }\n\n return\n }\n\n const routes: Record<string, RouteHandler> = {\n '/health': async () => ({ status: 'OK', timestamp: Date.now() }),\n '/shutdown': () => process.exit(),\n '/render': async (request) => render(JSON.parse(await readableToString(request))),\n '/404': async () => ({ status: 'NOT_FOUND', timestamp: Date.now() }),\n }\n\n createServer(async (request, response) => {\n const dispatchRoute = routes[<string>request.url] || routes['/404']\n\n try {\n response.writeHead(200, { 'Content-Type': 'application/json', Server: 'Inertia.js SSR' })\n response.write(JSON.stringify(await dispatchRoute(request)))\n } catch (e) {\n console.error(e)\n }\n\n response.end()\n }).listen(_port, () => log('Inertia SSR server started.'))\n\n log(`Starting SSR server on port ${_port}...`)\n}\n"],
5
+ "mappings": ";AAAA,SAAS,oBAAqC;AAC9C,OAAO,aAAa;AACpB,SAAS,4BAA4B;AACrC,YAAY,aAAa;AAWzB,IAAM,mBAAmE,CAAC,aACxE,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI,OAAO;AACX,WAAS,GAAG,QAAQ,CAAC,UAAW,QAAQ,KAAM;AAC9C,WAAS,GAAG,OAAO,MAAM,QAAQ,IAAI,CAAC;AACtC,WAAS,GAAG,SAAS,CAAC,QAAQ,OAAO,GAAG,CAAC;AAC3C,CAAC;AAEH,IAAO,iBAAQ,CAAC,QAAqB,YAAyC;AAC5E,QAAM,QAAQ,OAAO,YAAY,WAAW,UAAW,SAAS,QAAQ;AACxE,QAAM,cAAc,OAAO,YAAY,YAAY,SAAS,YAAY,SAAY,QAAQ,UAAU;AAEtG,QAAM,MAAM,CAAC,YAAoB;AAC/B,YAAQ;AAAA,MACN,eAAe,CAAC,QAAQ,YACpB,IAAI,QAAQ,QAAQ,MAAM,KAAK,MAAM,QAAQ,QAAQ,SAAS,OAAO,KAAK,KAAK,OAAO,KACtF;AAAA,IACN;AAAA,EACF;AAEA,MAAI,eAAe,QAAQ,WAAW;AACpC,QAAI,+CAA+C;AAEnD,aAAS,IAAI,GAAG,IAAI,qBAAqB,GAAG,KAAK;AAC/C,cAAQ,KAAK;AAAA,IACf;AAEA;AAAA,EACF;AAEA,QAAM,SAAuC;AAAA,IAC3C,WAAW,aAAa,EAAE,QAAQ,MAAM,WAAW,KAAK,IAAI,EAAE;AAAA,IAC9D,aAAa,MAAc,aAAK;AAAA,IAChC,WAAW,OAAO,YAAY,OAAO,KAAK,MAAM,MAAM,iBAAiB,OAAO,CAAC,CAAC;AAAA,IAChF,QAAQ,aAAa,EAAE,QAAQ,aAAa,WAAW,KAAK,IAAI,EAAE;AAAA,EACpE;AAEA,eAAa,OAAO,SAAS,aAAa;AACxC,UAAM,gBAAgB,OAAe,QAAQ,GAAG,KAAK,OAAO,MAAM;AAElE,QAAI;AACF,eAAS,UAAU,KAAK,EAAE,gBAAgB,oBAAoB,QAAQ,iBAAiB,CAAC;AACxF,eAAS,MAAM,KAAK,UAAU,MAAM,cAAc,OAAO,CAAC,CAAC;AAAA,IAC7D,SAAS,GAAG;AACV,cAAQ,MAAM,CAAC;AAAA,IACjB;AAEA,aAAS,IAAI;AAAA,EACf,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI,6BAA6B,CAAC;AAEzD,MAAI,+BAA+B,KAAK,KAAK;AAC/C;",
6
6
  "names": []
7
7
  }
package/dist/server.js CHANGED
@@ -34,9 +34,9 @@ __export(server_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(server_exports);
36
36
  var import_http = require("http");
37
- var process = __toESM(require("process"), 1);
38
37
  var import_node_cluster = __toESM(require("node:cluster"), 1);
39
38
  var import_node_os = require("node:os");
39
+ var process = __toESM(require("process"), 1);
40
40
  var readableToString = (readable) => new Promise((resolve, reject) => {
41
41
  let data = "";
42
42
  readable.on("data", (chunk) => data += chunk);
@@ -47,7 +47,9 @@ var server_default = (render, options) => {
47
47
  const _port = typeof options === "number" ? options : options?.port ?? 13714;
48
48
  const _useCluster = typeof options === "object" && options?.cluster !== void 0 ? options.cluster : false;
49
49
  const log = (message) => {
50
- console.log(_useCluster && !import_node_cluster.default.isPrimary ? `[${import_node_cluster.default.worker?.id ?? "N/A"} / ${import_node_cluster.default.worker?.process?.pid ?? "N/A"}] ${message}` : message);
50
+ console.log(
51
+ _useCluster && !import_node_cluster.default.isPrimary ? `[${import_node_cluster.default.worker?.id ?? "N/A"} / ${import_node_cluster.default.worker?.process?.pid ?? "N/A"}] ${message}` : message
52
+ );
51
53
  };
52
54
  if (_useCluster && import_node_cluster.default.isPrimary) {
53
55
  log("Primary Inertia SSR server process started...");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/server.ts"],
4
- "sourcesContent": ["import { createServer, IncomingMessage } from 'http'\nimport * as process from 'process'\nimport { InertiaAppResponse, Page } from './types'\nimport cluster from 'node:cluster';\nimport { availableParallelism } from 'node:os';\n\ntype AppCallback = (page: Page) => InertiaAppResponse\ntype RouteHandler = (request: IncomingMessage) => Promise<unknown>\ntype ServerOptions = {\n port?: number\n cluster?: boolean\n}\ntype Port = number\n\nconst readableToString: (readable: IncomingMessage) => Promise<string> = (readable) =>\n new Promise((resolve, reject) => {\n let data = ''\n readable.on('data', (chunk) => (data += chunk))\n readable.on('end', () => resolve(data))\n readable.on('error', (err) => reject(err))\n })\n\nexport default (render: AppCallback, options?: Port | ServerOptions): void => {\n const _port = typeof options === 'number' ? options : options?.port ?? 13714;\n const _useCluster = typeof options === 'object' && options?.cluster !== undefined ? options.cluster : false;\n\n const log = (message: string) => {\n console.log(_useCluster && !cluster.isPrimary ? `[${cluster.worker?.id ?? 'N/A'} / ${cluster.worker?.process?.pid ?? 'N/A'}] ${message}` : message)\n }\n\n if (_useCluster && cluster.isPrimary) {\n log('Primary Inertia SSR server process started...')\n\n for (let i = 0; i < availableParallelism(); i++) {\n cluster.fork()\n }\n\n return\n }\n\n const routes: Record<string, RouteHandler> = {\n '/health': async () => ({ status: 'OK', timestamp: Date.now() }),\n '/shutdown': () => process.exit(),\n '/render': async (request) => render(JSON.parse(await readableToString(request))),\n '/404': async () => ({ status: 'NOT_FOUND', timestamp: Date.now() }),\n }\n\n createServer(async (request, response) => {\n const dispatchRoute = routes[<string>request.url] || routes['/404']\n\n try {\n response.writeHead(200, { 'Content-Type': 'application/json', Server: 'Inertia.js SSR' })\n response.write(JSON.stringify(await dispatchRoute(request)))\n } catch (e) {\n console.error(e)\n }\n\n response.end()\n }).listen(_port, () => log('Inertia SSR server started.'))\n\n log(`Starting SSR server on port ${_port}...`)\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA8C;AAC9C,cAAyB;AAEzB,0BAAoB;AACpB,qBAAqC;AAUrC,IAAM,mBAAmE,CAAC,aACxE,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI,OAAO;AACX,WAAS,GAAG,QAAQ,CAAC,UAAW,QAAQ,KAAM;AAC9C,WAAS,GAAG,OAAO,MAAM,QAAQ,IAAI,CAAC;AACtC,WAAS,GAAG,SAAS,CAAC,QAAQ,OAAO,GAAG,CAAC;AAC3C,CAAC;AAEH,IAAO,iBAAQ,CAAC,QAAqB,YAAyC;AAC5E,QAAM,QAAQ,OAAO,YAAY,WAAW,UAAU,SAAS,QAAQ;AACvE,QAAM,cAAc,OAAO,YAAY,YAAY,SAAS,YAAY,SAAY,QAAQ,UAAU;AAEtG,QAAM,MAAM,CAAC,YAAoB;AAC/B,YAAQ,IAAI,eAAe,CAAC,oBAAAA,QAAQ,YAAY,IAAI,oBAAAA,QAAQ,QAAQ,MAAM,KAAK,MAAM,oBAAAA,QAAQ,QAAQ,SAAS,OAAO,KAAK,KAAK,OAAO,KAAK,OAAO;AAAA,EACpJ;AAEA,MAAI,eAAe,oBAAAA,QAAQ,WAAW;AACpC,QAAI,+CAA+C;AAEnD,aAAS,IAAI,GAAG,QAAI,qCAAqB,GAAG,KAAK;AAC/C,0BAAAA,QAAQ,KAAK;AAAA,IACf;AAEA;AAAA,EACF;AAEA,QAAM,SAAuC;AAAA,IAC3C,WAAW,aAAa,EAAE,QAAQ,MAAM,WAAW,KAAK,IAAI,EAAE;AAAA,IAC9D,aAAa,MAAc,aAAK;AAAA,IAChC,WAAW,OAAO,YAAY,OAAO,KAAK,MAAM,MAAM,iBAAiB,OAAO,CAAC,CAAC;AAAA,IAChF,QAAQ,aAAa,EAAE,QAAQ,aAAa,WAAW,KAAK,IAAI,EAAE;AAAA,EACpE;AAEA,gCAAa,OAAO,SAAS,aAAa;AACxC,UAAM,gBAAgB,OAAe,QAAQ,GAAG,KAAK,OAAO,MAAM;AAElE,QAAI;AACF,eAAS,UAAU,KAAK,EAAE,gBAAgB,oBAAoB,QAAQ,iBAAiB,CAAC;AACxF,eAAS,MAAM,KAAK,UAAU,MAAM,cAAc,OAAO,CAAC,CAAC;AAAA,IAC7D,SAAS,GAAG;AACV,cAAQ,MAAM,CAAC;AAAA,IACjB;AAEA,aAAS,IAAI;AAAA,EACf,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI,6BAA6B,CAAC;AAEzD,MAAI,+BAA+B,KAAK,KAAK;AAC/C;",
4
+ "sourcesContent": ["import { createServer, IncomingMessage } from 'http'\nimport cluster from 'node:cluster'\nimport { availableParallelism } from 'node:os'\nimport * as process from 'process'\nimport { InertiaAppResponse, Page } from './types'\n\ntype AppCallback = (page: Page) => InertiaAppResponse\ntype RouteHandler = (request: IncomingMessage) => Promise<unknown>\ntype ServerOptions = {\n port?: number\n cluster?: boolean\n}\ntype Port = number\n\nconst readableToString: (readable: IncomingMessage) => Promise<string> = (readable) =>\n new Promise((resolve, reject) => {\n let data = ''\n readable.on('data', (chunk) => (data += chunk))\n readable.on('end', () => resolve(data))\n readable.on('error', (err) => reject(err))\n })\n\nexport default (render: AppCallback, options?: Port | ServerOptions): void => {\n const _port = typeof options === 'number' ? options : (options?.port ?? 13714)\n const _useCluster = typeof options === 'object' && options?.cluster !== undefined ? options.cluster : false\n\n const log = (message: string) => {\n console.log(\n _useCluster && !cluster.isPrimary\n ? `[${cluster.worker?.id ?? 'N/A'} / ${cluster.worker?.process?.pid ?? 'N/A'}] ${message}`\n : message,\n )\n }\n\n if (_useCluster && cluster.isPrimary) {\n log('Primary Inertia SSR server process started...')\n\n for (let i = 0; i < availableParallelism(); i++) {\n cluster.fork()\n }\n\n return\n }\n\n const routes: Record<string, RouteHandler> = {\n '/health': async () => ({ status: 'OK', timestamp: Date.now() }),\n '/shutdown': () => process.exit(),\n '/render': async (request) => render(JSON.parse(await readableToString(request))),\n '/404': async () => ({ status: 'NOT_FOUND', timestamp: Date.now() }),\n }\n\n createServer(async (request, response) => {\n const dispatchRoute = routes[<string>request.url] || routes['/404']\n\n try {\n response.writeHead(200, { 'Content-Type': 'application/json', Server: 'Inertia.js SSR' })\n response.write(JSON.stringify(await dispatchRoute(request)))\n } catch (e) {\n console.error(e)\n }\n\n response.end()\n }).listen(_port, () => log('Inertia SSR server started.'))\n\n log(`Starting SSR server on port ${_port}...`)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA8C;AAC9C,0BAAoB;AACpB,qBAAqC;AACrC,cAAyB;AAWzB,IAAM,mBAAmE,CAAC,aACxE,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI,OAAO;AACX,WAAS,GAAG,QAAQ,CAAC,UAAW,QAAQ,KAAM;AAC9C,WAAS,GAAG,OAAO,MAAM,QAAQ,IAAI,CAAC;AACtC,WAAS,GAAG,SAAS,CAAC,QAAQ,OAAO,GAAG,CAAC;AAC3C,CAAC;AAEH,IAAO,iBAAQ,CAAC,QAAqB,YAAyC;AAC5E,QAAM,QAAQ,OAAO,YAAY,WAAW,UAAW,SAAS,QAAQ;AACxE,QAAM,cAAc,OAAO,YAAY,YAAY,SAAS,YAAY,SAAY,QAAQ,UAAU;AAEtG,QAAM,MAAM,CAAC,YAAoB;AAC/B,YAAQ;AAAA,MACN,eAAe,CAAC,oBAAAA,QAAQ,YACpB,IAAI,oBAAAA,QAAQ,QAAQ,MAAM,KAAK,MAAM,oBAAAA,QAAQ,QAAQ,SAAS,OAAO,KAAK,KAAK,OAAO,KACtF;AAAA,IACN;AAAA,EACF;AAEA,MAAI,eAAe,oBAAAA,QAAQ,WAAW;AACpC,QAAI,+CAA+C;AAEnD,aAAS,IAAI,GAAG,QAAI,qCAAqB,GAAG,KAAK;AAC/C,0BAAAA,QAAQ,KAAK;AAAA,IACf;AAEA;AAAA,EACF;AAEA,QAAM,SAAuC;AAAA,IAC3C,WAAW,aAAa,EAAE,QAAQ,MAAM,WAAW,KAAK,IAAI,EAAE;AAAA,IAC9D,aAAa,MAAc,aAAK;AAAA,IAChC,WAAW,OAAO,YAAY,OAAO,KAAK,MAAM,MAAM,iBAAiB,OAAO,CAAC,CAAC;AAAA,IAChF,QAAQ,aAAa,EAAE,QAAQ,aAAa,WAAW,KAAK,IAAI,EAAE;AAAA,EACpE;AAEA,gCAAa,OAAO,SAAS,aAAa;AACxC,UAAM,gBAAgB,OAAe,QAAQ,GAAG,KAAK,OAAO,MAAM;AAElE,QAAI;AACF,eAAS,UAAU,KAAK,EAAE,gBAAgB,oBAAoB,QAAQ,iBAAiB,CAAC;AACxF,eAAS,MAAM,KAAK,UAAU,MAAM,cAAc,OAAO,CAAC,CAAC;AAAA,IAC7D,SAAS,GAAG;AACV,cAAQ,MAAM,CAAC;AAAA,IACjB;AAEA,aAAS,IAAI;AAAA,EACf,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI,6BAA6B,CAAC;AAEzD,MAAI,+BAA+B,KAAK,KAAK;AAC/C;",
6
6
  "names": ["cluster"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inertiajs/core",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "license": "MIT",
5
5
  "description": "A framework for creating server-driven single page apps.",
6
6
  "contributors": [
@@ -44,8 +44,9 @@
44
44
  }
45
45
  },
46
46
  "dependencies": {
47
- "axios": "^1.8.2",
48
- "es-toolkit": "^1.34.1",
47
+ "@types/lodash-es": "^4.17.12",
48
+ "axios": "^1.11.0",
49
+ "lodash-es": "^4.17.21",
49
50
  "qs": "^6.9.0"
50
51
  },
51
52
  "devDependencies": {
@@ -53,13 +54,16 @@
53
54
  "@types/node": "^18.4",
54
55
  "@types/nprogress": "^0.2.0",
55
56
  "@types/qs": "^6.9.0",
57
+ "es-check": "^9.3.1",
56
58
  "esbuild": "^0.25.0",
57
59
  "esbuild-node-externals": "^1.6.0",
58
60
  "typescript": "^4.9.4"
59
61
  },
60
62
  "scripts": {
63
+ "build": "pnpm clean && ./build.js && tsc",
64
+ "build:with-deps": "./build.js --with-deps",
65
+ "clean": "rm -rf types && rm -rf dist",
61
66
  "dev": "./build.js --watch",
62
- "build": "pnpm clean && ./build.js && tsc --emitDeclarationOnly",
63
- "clean": "rm -rf types && rm -rf dist"
67
+ "es2020-check": "pnpm build:with-deps && es-check es2020 \"dist/index.esm.js\" --checkFeatures --module --noCache --verbose"
64
68
  }
65
69
  }
package/types/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { Router } from './router';
2
2
  export { objectToFormData } from './formData';
3
3
  export { formDataToObject } from './formObject';
4
- export { resetFormFields } from './resetFormFields';
5
4
  export { default as createHeadManager } from './head';
5
+ export { shouldIntercept, shouldNavigate } from './navigationEvents';
6
6
  export { hide as hideProgress, reveal as revealProgress, default as setupProgress } from './progress';
7
- export { default as shouldIntercept } from './shouldIntercept';
7
+ export { resetFormFields } from './resetFormFields';
8
8
  export * from './types';
9
- export { hrefToUrl, mergeDataIntoQueryString, urlWithoutHash, isUrlMethodPair } from './url';
9
+ export { hrefToUrl, isUrlMethodPair, mergeDataIntoQueryString, urlWithoutHash } from './url';
10
10
  export { type Router };
11
11
  export declare const router: Router;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Determine if this mouse event should be intercepted for navigation purposes.
3
+ * Links with modifier keys or non-left clicks should not be intercepted.
4
+ * Content editable elements and prevented events are ignored.
5
+ */
6
+ export declare function shouldIntercept(event: Pick<MouseEvent, 'altKey' | 'ctrlKey' | 'defaultPrevented' | 'target' | 'currentTarget' | 'metaKey' | 'shiftKey' | 'button'>): boolean;
7
+ /**
8
+ * Determine if this keyboard event should trigger a navigation request.
9
+ * Enter triggers navigation for both links and buttons currently.
10
+ * Space only triggers navigation for buttons specifically.
11
+ */
12
+ export declare function shouldNavigate(event: Pick<KeyboardEvent, 'key' | 'currentTarget'>): boolean;
package/types/types.d.ts CHANGED
@@ -33,7 +33,7 @@ export type FormDataConvertible = Array<FormDataConvertible> | {
33
33
  [key: string]: FormDataConvertible;
34
34
  } | FormDataConvertibleValue;
35
35
  export type FormDataType<T extends object> = {
36
- [K in keyof T]: T[K] extends FormDataConvertibleValue ? T[K] : T[K] extends (...args: unknown[]) => unknown ? never : T[K] extends object | Array<unknown> ? FormDataType<T[K]> : never;
36
+ [K in keyof T]: T[K] extends infer U ? U extends FormDataConvertibleValue ? U : U extends (...args: unknown[]) => unknown ? never : U extends object | Array<unknown> ? FormDataType<U> : never : never;
37
37
  };
38
38
  export type FormDataKeys<T> = T extends Function | FormDataConvertibleValue ? never : T extends Array<unknown> ? number extends T['length'] ? `${number}` | `${number}.${FormDataKeys<T[number]>}` : Extract<keyof T, `${number}`> | {
39
39
  [Key in Extract<keyof T, `${number}`>]: `${Key & string}.${FormDataKeys<T[Key & string]> & string}`;
@@ -1 +0,0 @@
1
- export default function shouldIntercept(event: Pick<MouseEvent, 'altKey' | 'ctrlKey' | 'defaultPrevented' | 'target' | 'currentTarget' | 'metaKey' | 'shiftKey' | 'button'>): boolean;