@adonisjs/inertia 4.0.0-next.10 → 4.0.0-next.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,31 +1,18 @@
1
- import "../../chunk-MLKGABMK.js";
2
-
3
- // src/client/vite.ts
4
1
  function inertia(options) {
5
- return {
6
- name: "vite-plugin-inertia",
7
- config: (_, { command }) => {
8
- if (command === "build") {
9
- process.env.NODE_ENV = "production";
10
- }
11
- return {
12
- builder: {},
13
- build: { outDir: "build/public/assets" },
14
- environments: {
15
- ...options?.ssr?.enabled && {
16
- ssr: {
17
- build: {
18
- ssr: true,
19
- outDir: options.ssr.output || "build/ssr",
20
- rollupOptions: { input: options.ssr.entrypoint }
21
- }
22
- }
23
- }
24
- }
25
- };
26
- }
27
- };
2
+ return {
3
+ name: "vite-plugin-inertia",
4
+ config: (_, { command }) => {
5
+ if (command === "build") process.env.NODE_ENV = "production";
6
+ return {
7
+ builder: {},
8
+ build: { outDir: "build/public/assets" },
9
+ environments: { ...options?.ssr?.enabled && { ssr: { build: {
10
+ ssr: true,
11
+ outDir: options.ssr.output || "build/ssr",
12
+ rollupOptions: { input: options.ssr.entrypoint }
13
+ } } } }
14
+ };
15
+ }
16
+ };
28
17
  }
29
- export {
30
- inertia as default
31
- };
18
+ export { inertia as default };
@@ -1,113 +1,47 @@
1
- import {
2
- InertiaManager
3
- } from "../chunk-YQ72YL64.js";
4
- import {
5
- debug_default
6
- } from "../chunk-4EZ2J6OA.js";
7
- import {
8
- InertiaHeaders
9
- } from "../chunk-DISC5OYC.js";
10
- import "../chunk-MLKGABMK.js";
11
-
12
- // src/inertia_middleware.ts
13
- var MUTATION_METHODS = ["PUT", "PATCH", "DELETE"];
1
+ import { t as InertiaManager } from "../inertia_manager-Di3J3hSG.js";
2
+ import { t as InertiaHeaders } from "../headers-DafWEpBh.js";
3
+ import { t as debug_default } from "../debug-CBMTuPUm.js";
4
+ const MUTATION_METHODS = [
5
+ "PUT",
6
+ "PATCH",
7
+ "DELETE"
8
+ ];
14
9
  var BaseInertiaMiddleware = class {
15
- /**
16
- * Extract validation errors from the session and format them for Inertia
17
- *
18
- * Retrieves validation errors from the session flash messages and formats
19
- * them according to Inertia's error bag conventions. Supports both simple
20
- * error objects and error bags for multi-form scenarios.
21
- *
22
- * @param ctx - The HTTP context containing session data
23
- * @returns Formatted validation errors, either as a simple object or error bags
24
- *
25
- * @example
26
- * ```js
27
- * const errors = middleware.getValidationErrors(ctx)
28
- * // Returns: { email: 'Email is required', password: 'Password too short' }
29
- * // Or with error bags: { login: { email: 'Email is required' } }
30
- * ```
31
- */
32
- getValidationErrors(ctx) {
33
- if (!ctx.session) {
34
- return {};
35
- }
36
- const inputErrors = ctx.session.flashMessages.get("inputErrorsBag", {});
37
- const errors = Object.entries(inputErrors).reduce(
38
- (result, [field, messages]) => {
39
- result[field] = Array.isArray(messages) ? messages[0] : messages;
40
- return result;
41
- },
42
- {}
43
- );
44
- const errorBag = ctx.request.header(InertiaHeaders.ErrorBag);
45
- if (errorBag) {
46
- return { [errorBag]: errors };
47
- }
48
- return errors;
49
- }
50
- /**
51
- * Initialize the Inertia instance for the current request
52
- *
53
- * This method creates an Inertia instance and attaches it to the
54
- * HTTP context, making it available throughout the request lifecycle.
55
- *
56
- * @param ctx - The HTTP context object
57
- *
58
- * @example
59
- * ```ts
60
- * await middleware.init(ctx)
61
- * ```
62
- */
63
- async init(ctx) {
64
- debug_default("initiating inertia");
65
- const inertiaContainer = await ctx.containerResolver.make(InertiaManager);
66
- ctx.inertia = inertiaContainer.createForRequest(ctx);
67
- if (this.share) {
68
- ctx.inertia.share(() => this.share(ctx));
69
- }
70
- }
71
- /**
72
- * Clean up and finalize the Inertia response
73
- *
74
- * This method handles the final processing of Inertia requests including:
75
- * - Setting appropriate response headers
76
- * - Handling redirects for mutation methods (PUT/PATCH/DELETE)
77
- * - Managing asset versioning conflicts
78
- *
79
- * @param ctx - The HTTP context object
80
- *
81
- * @example
82
- * ```ts
83
- * await middleware.dispose(ctx)
84
- * ```
85
- */
86
- dispose(ctx) {
87
- const requestInfo = ctx.inertia.requestInfo();
88
- if (!requestInfo.isInertiaRequest) {
89
- return;
90
- }
91
- debug_default("disposing as inertia request");
92
- ctx.response.header("Vary", InertiaHeaders.Inertia);
93
- const method = ctx.request.method();
94
- if (ctx.response.getStatus() === 302 && MUTATION_METHODS.includes(method)) {
95
- debug_default("upgrading response status from 302 to 303");
96
- ctx.response.status(303);
97
- }
98
- const version = ctx.inertia.getVersion();
99
- const clientVersion = requestInfo.version ?? "";
100
- if (method === "GET" && clientVersion !== version) {
101
- debug_default("version mis-match. Reloading page");
102
- if (ctx.session) {
103
- ctx.session.reflash();
104
- }
105
- ctx.response.removeHeader(InertiaHeaders.Inertia);
106
- ctx.response.header(InertiaHeaders.Location, ctx.request.url(true));
107
- ctx.response.status(409);
108
- }
109
- }
110
- };
111
- export {
112
- BaseInertiaMiddleware as default
10
+ getValidationErrors(ctx) {
11
+ if (!ctx.session) return {};
12
+ const inputErrors = ctx.session.flashMessages.get("inputErrorsBag", {});
13
+ const errors = Object.entries(inputErrors).reduce((result, [field, messages]) => {
14
+ result[field] = Array.isArray(messages) ? messages[0] : messages;
15
+ return result;
16
+ }, {});
17
+ const errorBag = ctx.request.header(InertiaHeaders.ErrorBag);
18
+ if (errorBag) return { [errorBag]: errors };
19
+ return errors;
20
+ }
21
+ async init(ctx) {
22
+ debug_default("initiating inertia");
23
+ ctx.inertia = (await ctx.containerResolver.make(InertiaManager)).createForRequest(ctx);
24
+ if (this.share) ctx.inertia.share(() => this.share(ctx));
25
+ }
26
+ dispose(ctx) {
27
+ const requestInfo = ctx.inertia.requestInfo();
28
+ if (!requestInfo.isInertiaRequest) return;
29
+ debug_default("disposing as inertia request");
30
+ ctx.response.header("Vary", InertiaHeaders.Inertia);
31
+ const method = ctx.request.method();
32
+ if (ctx.response.getStatus() === 302 && MUTATION_METHODS.includes(method)) {
33
+ debug_default("upgrading response status from 302 to 303");
34
+ ctx.response.status(303);
35
+ }
36
+ const version = ctx.inertia.getVersion();
37
+ const clientVersion = requestInfo.version ?? "";
38
+ if (method === "GET" && clientVersion !== version) {
39
+ debug_default("version mis-match. Reloading page");
40
+ if (ctx.session) ctx.session.reflash();
41
+ ctx.response.removeHeader(InertiaHeaders.Inertia);
42
+ ctx.response.header(InertiaHeaders.Location, ctx.request.url(true));
43
+ ctx.response.status(409);
44
+ }
45
+ }
113
46
  };
47
+ export { BaseInertiaMiddleware as default };
@@ -1,88 +1,56 @@
1
- import {
2
- debug_default
3
- } from "../../../chunk-4EZ2J6OA.js";
4
- import "../../../chunk-MLKGABMK.js";
5
-
6
- // src/plugins/edge/plugin.ts
1
+ import { t as debug_default } from "../../../debug-CBMTuPUm.js";
7
2
  import { encode } from "html-entities";
8
-
9
- // src/plugins/edge/tags.ts
10
3
  import { EdgeError } from "edge-error";
11
-
12
- // src/plugins/edge/utils.ts
13
4
  function isSubsetOf(expression, expressions, errorCallback) {
14
- if (!expressions.includes(expression.type)) {
15
- errorCallback();
16
- }
5
+ if (!expressions.includes(expression.type)) errorCallback();
17
6
  }
18
-
19
- // src/plugins/edge/tags.ts
20
- var inertiaTag = {
21
- block: false,
22
- tagName: "inertia",
23
- seekable: true,
24
- compile(parser, buffer, { filename, loc, properties }) {
25
- if (properties.jsArg.trim() === "") {
26
- buffer.writeExpression(`out += state.inertia(state.page)`, filename, loc.start.line);
27
- return;
28
- }
29
- properties.jsArg = `(${properties.jsArg})`;
30
- const parsed = parser.utils.transformAst(
31
- parser.utils.generateAST(properties.jsArg, loc, filename),
32
- filename,
33
- parser
34
- );
35
- isSubsetOf(parsed, ["ObjectExpression"], () => {
36
- const { line, col } = parser.utils.getExpressionLoc(parsed);
37
- throw new EdgeError(
38
- `"${properties.jsArg}" is not a valid argument for @inertia`,
39
- "E_UNALLOWED_EXPRESSION",
40
- { line, col, filename }
41
- );
42
- });
43
- const attributes = parser.utils.stringify(parsed);
44
- buffer.outputExpression(
45
- `state.inertia(state.page, ${attributes})`,
46
- filename,
47
- loc.start.line,
48
- false
49
- );
50
- }
7
+ const inertiaTag = {
8
+ block: false,
9
+ tagName: "inertia",
10
+ seekable: true,
11
+ compile(parser, buffer, { filename, loc, properties }) {
12
+ if (properties.jsArg.trim() === "") {
13
+ buffer.writeExpression(`out += state.inertia(state.page)`, filename, loc.start.line);
14
+ return;
15
+ }
16
+ properties.jsArg = `(${properties.jsArg})`;
17
+ const parsed = parser.utils.transformAst(parser.utils.generateAST(properties.jsArg, loc, filename), filename, parser);
18
+ isSubsetOf(parsed, ["ObjectExpression"], () => {
19
+ const { line, col } = parser.utils.getExpressionLoc(parsed);
20
+ throw new EdgeError(`"${properties.jsArg}" is not a valid argument for @inertia`, "E_UNALLOWED_EXPRESSION", {
21
+ line,
22
+ col,
23
+ filename
24
+ });
25
+ });
26
+ const attributes = parser.utils.stringify(parsed);
27
+ buffer.outputExpression(`state.inertia(state.page, ${attributes})`, filename, loc.start.line, false);
28
+ }
51
29
  };
52
- var inertiaHeadTag = {
53
- block: false,
54
- tagName: "inertiaHead",
55
- seekable: false,
56
- compile(_, buffer, { filename, loc }) {
57
- buffer.outputExpression("state.inertiaHead(state.page)", filename, loc.start.line, false);
58
- }
30
+ const inertiaHeadTag = {
31
+ block: false,
32
+ tagName: "inertiaHead",
33
+ seekable: false,
34
+ compile(_, buffer, { filename, loc }) {
35
+ buffer.outputExpression("state.inertiaHead(state.page)", filename, loc.start.line, false);
36
+ }
59
37
  };
60
-
61
- // src/plugins/edge/plugin.ts
62
- var edgePluginInertia = () => {
63
- return (edge) => {
64
- debug_default("sharing globals and inertia tags with edge");
65
- edge.global(
66
- "inertia",
67
- (page = {}, attributes = {}) => {
68
- if (page.ssrBody) {
69
- return page.ssrBody;
70
- }
71
- const className = attributes?.class ? ` class="${attributes.class}"` : "";
72
- const id = attributes?.id ? ` id="${attributes.id}"` : ' id="app"';
73
- const tag = attributes?.as || "div";
74
- const dataPage = encode(JSON.stringify(page));
75
- return `<${tag}${id}${className} data-page="${dataPage}"></${tag}>`;
76
- }
77
- );
78
- edge.global("inertiaHead", (page) => {
79
- const { ssrHead = [] } = page || {};
80
- return ssrHead.join("\n");
81
- });
82
- edge.registerTag(inertiaHeadTag);
83
- edge.registerTag(inertiaTag);
84
- };
85
- };
86
- export {
87
- edgePluginInertia
38
+ const edgePluginInertia = () => {
39
+ return (edge) => {
40
+ debug_default("sharing globals and inertia tags with edge");
41
+ edge.global("inertia", (page = {}, attributes = {}) => {
42
+ if (page.ssrBody) return page.ssrBody;
43
+ const className = attributes?.class ? ` class="${attributes.class}"` : "";
44
+ const id = attributes?.id ? ` id="${attributes.id}"` : " id=\"app\"";
45
+ const tag = attributes?.as || "div";
46
+ return `<${tag}${id}${className} data-page="${encode(JSON.stringify(page))}"></${tag}>`;
47
+ });
48
+ edge.global("inertiaHead", (page) => {
49
+ const { ssrHead = [] } = page || {};
50
+ return ssrHead.join("\n");
51
+ });
52
+ edge.registerTag(inertiaHeadTag);
53
+ edge.registerTag(inertiaTag);
54
+ };
88
55
  };
56
+ export { edgePluginInertia };
@@ -1,66 +1,51 @@
1
- import {
2
- InertiaHeaders
3
- } from "../../../chunk-DISC5OYC.js";
4
- import "../../../chunk-MLKGABMK.js";
5
-
6
- // src/plugins/japa/api_client.ts
1
+ import { t as InertiaHeaders } from "../../../headers-DafWEpBh.js";
7
2
  import { ApiRequest, ApiResponse } from "@japa/api-client";
8
3
  function ensureIsInertiaResponse() {
9
- if (!this.header("x-inertia")) {
10
- throw new Error(
11
- 'Not an Inertia response. Make sure to use "withInertia()" method when making the request'
12
- );
13
- }
4
+ if (!this.header("x-inertia")) throw new Error("Not an Inertia response. Make sure to use \"withInertia()\" method when making the request");
14
5
  }
15
6
  function ensureHasAssert(assertLib) {
16
- if (!assertLib) {
17
- throw new Error(
18
- "Response assertions are not available. Make sure to install the @japa/assert plugin"
19
- );
20
- }
7
+ if (!assertLib) throw new Error("Response assertions are not available. Make sure to install the @japa/assert plugin");
21
8
  }
22
9
  function inertiaApiClient(app) {
23
- return async () => {
24
- const inertiaConfig = app.config.get("inertia");
25
- ApiRequest.macro("withInertia", function() {
26
- this.header(InertiaHeaders.Inertia, "true");
27
- this.header(InertiaHeaders.Version, String(inertiaConfig.assetsVersion ?? "1"));
28
- return this;
29
- });
30
- ApiRequest.macro("withInertiaPartialReload", function(component, data) {
31
- this.withInertia();
32
- this.header(InertiaHeaders.PartialComponent, component);
33
- this.header(InertiaHeaders.PartialOnly, data.join(","));
34
- return this;
35
- });
36
- ApiResponse.getter("inertiaComponent", function() {
37
- ensureIsInertiaResponse.call(this);
38
- return this.body().component;
39
- });
40
- ApiResponse.getter("inertiaProps", function() {
41
- ensureIsInertiaResponse.call(this);
42
- return this.body().props;
43
- });
44
- ApiResponse.macro("assertInertiaComponent", function(component) {
45
- ensureIsInertiaResponse.call(this);
46
- ensureHasAssert(this.assert);
47
- this.assert.equal(this.body().component, component);
48
- return this;
49
- });
50
- ApiResponse.macro("assertInertiaProps", function(props) {
51
- ensureIsInertiaResponse.call(this);
52
- ensureHasAssert(this.assert);
53
- this.assert.deepEqual(this.body().props, props);
54
- return this;
55
- });
56
- ApiResponse.macro("assertInertiaPropsContains", function(props) {
57
- ensureIsInertiaResponse.call(this);
58
- ensureHasAssert(this.assert);
59
- this.assert.containSubset(this.body().props, props);
60
- return this;
61
- });
62
- };
10
+ return async () => {
11
+ const inertiaConfig = app.config.get("inertia");
12
+ ApiRequest.macro("withInertia", function() {
13
+ this.header(InertiaHeaders.Inertia, "true");
14
+ this.header(InertiaHeaders.Version, String(inertiaConfig.assetsVersion ?? "1"));
15
+ return this;
16
+ });
17
+ ApiRequest.macro("withInertiaPartialReload", function(component, data) {
18
+ this.withInertia();
19
+ this.header(InertiaHeaders.PartialComponent, component);
20
+ this.header(InertiaHeaders.PartialOnly, data.join(","));
21
+ return this;
22
+ });
23
+ ApiResponse.getter("inertiaComponent", function() {
24
+ ensureIsInertiaResponse.call(this);
25
+ return this.body().component;
26
+ });
27
+ ApiResponse.getter("inertiaProps", function() {
28
+ ensureIsInertiaResponse.call(this);
29
+ return this.body().props;
30
+ });
31
+ ApiResponse.macro("assertInertiaComponent", function(component) {
32
+ ensureIsInertiaResponse.call(this);
33
+ ensureHasAssert(this.assert);
34
+ this.assert.equal(this.body().component, component);
35
+ return this;
36
+ });
37
+ ApiResponse.macro("assertInertiaProps", function(props) {
38
+ ensureIsInertiaResponse.call(this);
39
+ ensureHasAssert(this.assert);
40
+ this.assert.deepEqual(this.body().props, props);
41
+ return this;
42
+ });
43
+ ApiResponse.macro("assertInertiaPropsContains", function(props) {
44
+ ensureIsInertiaResponse.call(this);
45
+ ensureHasAssert(this.assert);
46
+ this.assert.containSubset(this.body().props, props);
47
+ return this;
48
+ });
49
+ };
63
50
  }
64
- export {
65
- inertiaApiClient
66
- };
51
+ export { inertiaApiClient };
@@ -4,34 +4,27 @@ import type { JSONDataTypes } from '@adonisjs/core/types/transformers';
4
4
  import type { AsyncOrSync, DeepPartial, Prettify } from '@adonisjs/core/types/common';
5
5
  import { type DEEP_MERGE, type ALWAYS_PROP, type OPTIONAL_PROP, type TO_BE_MERGED, type DEFERRED_PROP } from './symbols.ts';
6
6
  /**
7
- * Representation of a resource item, collection and paginator that can be serialized
7
+ * Representation of a resource item, collection and paginator that can be resolved to
8
+ * get normalized objects
8
9
  *
9
- * @template T - The type that the serializable object resolves to
10
+ * @template T - The type that the resource resolves to
10
11
  */
11
- export type SerializableOf<T> = {
12
- /**
13
- * Serializes the object using the container resolver
14
- *
15
- * @param container - The container resolver instance
16
- * @param depth - Current serialization depth
17
- * @param maxDepth - Maximum allowed serialization depth
18
- * @returns Promise that resolves to the serialized object
19
- */
20
- serialize(container: ContainerResolver<any>, depth: number, maxDepth?: number): Promise<T>;
12
+ export type ResolvableOf<T> = {
13
+ resolve(container: ContainerResolver<any>, depth: number, maxDepth?: number): Promise<T>;
21
14
  };
22
15
  /**
23
16
  * Union type representing unpacked page prop values that can be either JSON data or serializable objects
24
17
  *
25
18
  * @template T - The JSON data type, defaults to JSONDataTypes
26
19
  */
27
- export type UnPackedPageProps<T extends JSONDataTypes = JSONDataTypes> = T | SerializableOf<T>;
20
+ export type UnPackedPageProps<T extends JSONDataTypes = JSONDataTypes> = T | ResolvableOf<T>;
28
21
  /**
29
22
  * Utility type that extracts the resolved type from a SerializableOf wrapper
30
23
  * If the type is already unwrapped, returns it as-is
31
24
  *
32
25
  * @template T - The type to unwrap, potentially wrapped in SerializableOf
33
26
  */
34
- export type UnpackProp<T> = T extends SerializableOf<infer A> ? A : T;
27
+ export type UnpackProp<T> = T extends ResolvableOf<infer A> ? A : T;
35
28
  /**
36
29
  * Information extracted from Inertia request headers
37
30
  * Contains metadata about the current request type and filtering preferences
@@ -117,13 +110,13 @@ type PagePropsLazyDataTypes<T extends JSONDataTypes> =
117
110
  * - Can be explicitly requested for
118
111
  * - Can be dropped during cherry-picking
119
112
  */
120
- DeferProp<T | SerializableOf<T>>
113
+ DeferProp<T | ResolvableOf<T>>
121
114
  /**
122
115
  * - Never included on standard visit
123
116
  * - Can be explicitly requested for
124
117
  * - Can be dropped during cherry-picking
125
118
  */
126
- | OptionalProp<T | SerializableOf<T>>;
119
+ | OptionalProp<T | ResolvableOf<T>>;
127
120
  /**
128
121
  * Eager props are always included during standard Inertia visits, but
129
122
  * can be removed via cherry-picking when only specific props are requested
@@ -140,17 +133,17 @@ T
140
133
  * - Always included on standard visit.
141
134
  * - Can be dropped during cherry-picking
142
135
  */
143
- | SerializableOf<T>
136
+ | ResolvableOf<T>
144
137
  /**
145
138
  * - Always included on standard visit.
146
139
  * - Can be dropped during cherry-picking
147
140
  */
148
- | (() => AsyncOrSync<T | SerializableOf<T>>)
141
+ | (() => AsyncOrSync<T | ResolvableOf<T>>)
149
142
  /**
150
143
  * - Always included on standard visit
151
144
  * - Cannot be dropped during cherry-picking
152
145
  */
153
- | AlwaysProp<T | SerializableOf<T>>;
146
+ | AlwaysProp<T | ResolvableOf<T>>;
154
147
  /**
155
148
  * Following is the list of acceptable Page props data types
156
149
  * Combines both eager and lazy prop data types for comprehensive prop handling
@@ -175,7 +168,7 @@ export type ComponentProps = Record<string, JSONDataTypes>;
175
168
  * @template Props - The page props object type to analyze
176
169
  */
177
170
  export type GetOptionalProps<Props> = {
178
- [K in keyof Props]: Props[K] extends OptionalProp<any> ? K : Props[K] extends DeferProp<any> ? K : [undefined] extends Props[K] ? K : Props[K] extends MergeableProp<infer A> ? A extends DeferProp<any> ? K : never : never;
171
+ [K in keyof Props]: Props[K] extends OptionalProp<any> ? K : Props[K] extends DeferProp<any> ? K : [undefined] extends [Props[K]] ? K : Props[K] extends MergeableProp<infer A> ? A extends DeferProp<any> ? K : never : never;
179
172
  }[keyof Props];
180
173
  /**
181
174
  * Utility type to extract required prop keys from a props object
@@ -184,7 +177,7 @@ export type GetOptionalProps<Props> = {
184
177
  * @template Props - The page props object type to analyze
185
178
  */
186
179
  export type GetRequiredProps<Props> = {
187
- [K in keyof Props]: Props[K] extends OptionalProp<any> ? never : Props[K] extends DeferProp<any> ? never : [undefined] extends Props[K] ? never : Props[K] extends MergeableProp<infer A> ? A extends DeferProp<any> ? never : K : K;
180
+ [K in keyof Props]: Props[K] extends OptionalProp<any> ? never : Props[K] extends DeferProp<any> ? never : [undefined] extends [Props[K]] ? never : Props[K] extends MergeableProp<infer A> ? A extends DeferProp<any> ? never : K : K;
188
181
  }[keyof Props];
189
182
  /**
190
183
  * Utility type to simplify value of a required prop by unwrapping branded types
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adonisjs/inertia",
3
3
  "description": "Official Inertia.js adapter for AdonisJS",
4
- "version": "4.0.0-next.10",
4
+ "version": "4.0.0-next.11",
5
5
  "engines": {
6
6
  "node": ">=24.0.0"
7
7
  },
@@ -27,7 +27,7 @@
27
27
  "test": "c8 npm run quick:test",
28
28
  "typecheck": "tsc --noEmit",
29
29
  "clean": "del-cli build",
30
- "compile": "tsup-node && tsc --emitDeclarationOnly --declaration",
30
+ "compile": "tsdown && tsc --emitDeclarationOnly --declaration",
31
31
  "copy:templates": "copyfiles --up 1 \"stubs/**/*.stub\" build",
32
32
  "prebuild": "npm run lint && npm run clean",
33
33
  "build": "npm run compile",
@@ -50,7 +50,7 @@
50
50
  "@adonisjs/session": "^8.0.0-next.0",
51
51
  "@adonisjs/tsconfig": "^2.0.0-next.3",
52
52
  "@adonisjs/vite": "^5.1.0-next.0",
53
- "@inertiajs/react": "^2.2.15",
53
+ "@inertiajs/react": "^2.2.19",
54
54
  "@japa/api-client": "^3.1.0",
55
55
  "@japa/assert": "4.1.1",
56
56
  "@japa/expect-type": "^2.0.3",
@@ -59,25 +59,25 @@
59
59
  "@japa/runner": "4.4.0",
60
60
  "@japa/snapshot": "^2.0.9",
61
61
  "@poppinss/ts-exec": "^1.4.1",
62
- "@release-it/conventional-changelog": "^10.0.1",
62
+ "@release-it/conventional-changelog": "^10.0.2",
63
63
  "@tuyau/core": "^1.0.0-beta.1",
64
- "@types/node": "^24.8.1",
65
- "@types/react": "^19.2.2",
64
+ "@types/node": "^24.10.1",
65
+ "@types/react": "^19.2.7",
66
66
  "@types/supertest": "^6.0.3",
67
67
  "c8": "^10.1.3",
68
68
  "copyfiles": "^2.4.1",
69
69
  "cross-env": "^10.1.0",
70
70
  "del-cli": "^7.0.0",
71
71
  "edge.js": "^6.3.0",
72
- "eslint": "^9.38.0",
72
+ "eslint": "^9.39.1",
73
73
  "get-port": "^7.1.0",
74
- "prettier": "^3.6.2",
74
+ "prettier": "^3.7.3",
75
75
  "react": "^19.2.0",
76
- "release-it": "^19.0.5",
76
+ "release-it": "^19.0.6",
77
77
  "supertest": "^7.1.4",
78
- "tsup": "^8.5.0",
78
+ "tsdown": "^0.17.0-beta.4",
79
79
  "typescript": "~5.9.3",
80
- "vite": "^7.1.10"
80
+ "vite": "^7.2.6"
81
81
  },
82
82
  "dependencies": {
83
83
  "@poppinss/utils": "^7.0.0-next.3",
@@ -160,7 +160,7 @@
160
160
  }
161
161
  }
162
162
  },
163
- "tsup": {
163
+ "tsdown": {
164
164
  "entry": [
165
165
  "./index.ts",
166
166
  "./src/types.ts",
@@ -176,7 +176,10 @@
176
176
  "outDir": "./build",
177
177
  "clean": true,
178
178
  "format": "esm",
179
+ "minify": "dce-only",
180
+ "fixedExtension": false,
179
181
  "dts": false,
182
+ "treeshake": false,
180
183
  "sourcemaps": false,
181
184
  "target": "esnext"
182
185
  },
@@ -1,7 +0,0 @@
1
- // src/debug.ts
2
- import { debuglog } from "util";
3
- var debug_default = debuglog("adonisjs:inertia");
4
-
5
- export {
6
- debug_default
7
- };