ertk 0.1.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.
- package/LICENSE +21 -0
- package/README.md +717 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +93 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +122 -0
- package/dist/config.js.map +1 -0
- package/dist/endpoint.d.ts +9 -0
- package/dist/endpoint.d.ts.map +1 -0
- package/dist/endpoint.js +15 -0
- package/dist/endpoint.js.map +1 -0
- package/dist/generate.d.ts +20 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generate.js +653 -0
- package/dist/generate.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/next/index.d.ts +2 -0
- package/dist/next/index.d.ts.map +1 -0
- package/dist/next/index.js +2 -0
- package/dist/next/index.js.map +1 -0
- package/dist/next/route-handler.d.ts +82 -0
- package/dist/next/route-handler.d.ts.map +1 -0
- package/dist/next/route-handler.js +190 -0
- package/dist/next/route-handler.js.map +1 -0
- package/dist/types.d.ts +149 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { endpoint } from "./endpoint.js";
|
|
2
|
+
export { defineConfig } from "./config.js";
|
|
3
|
+
export type { EndpointDefinition, HandlerContext, DefaultUser, ValidationSchema, TagType, TagDescription, SingleOptimistic, MultiOptimistic, ErtkConfig, ErtkRoutesConfig, } from "./types.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,YAAY,EACX,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,gBAAgB,GAChB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,GAC5B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,kBAAkB,GAIlB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ERTK Next.js Route Handler
|
|
3
|
+
*
|
|
4
|
+
* Generic createRouteHandler that bridges EndpointDefinition to
|
|
5
|
+
* Next.js App Router route handlers. Decoupled from any specific
|
|
6
|
+
* auth or database implementation.
|
|
7
|
+
*/
|
|
8
|
+
import type { EndpointDefinition } from "../types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Auth adapter interface. Consumers implement this to provide
|
|
11
|
+
* user resolution for protected endpoints.
|
|
12
|
+
*/
|
|
13
|
+
export interface ErtkAuthAdapter<TUser extends {
|
|
14
|
+
id: string;
|
|
15
|
+
} = {
|
|
16
|
+
id: string;
|
|
17
|
+
[key: string]: unknown;
|
|
18
|
+
}> {
|
|
19
|
+
/**
|
|
20
|
+
* Resolve the authenticated user from a request.
|
|
21
|
+
* Return null if the user is not authenticated.
|
|
22
|
+
*/
|
|
23
|
+
getUser: (req: Request) => Promise<TUser | null>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Error handler interface. Consumers can provide custom error
|
|
27
|
+
* handling logic (e.g., for ORM-specific errors).
|
|
28
|
+
*/
|
|
29
|
+
export interface ErtkErrorHandler {
|
|
30
|
+
(error: unknown): Response | null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Options for configuring the route handler factory.
|
|
34
|
+
*/
|
|
35
|
+
export interface ConfigureHandlerOptions {
|
|
36
|
+
/** Auth adapter for resolving users on protected endpoints */
|
|
37
|
+
auth?: ErtkAuthAdapter;
|
|
38
|
+
/** Custom error handlers, processed in order. First non-null response wins. */
|
|
39
|
+
errorHandlers?: ErtkErrorHandler[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a configured route handler factory. Call this once with your
|
|
43
|
+
* auth adapter and error handlers, then use the returned function
|
|
44
|
+
* to create individual route handlers.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* // src/lib/ertk-handler.ts
|
|
49
|
+
* import { configureHandler } from "ertk/next";
|
|
50
|
+
*
|
|
51
|
+
* export const createRouteHandler = configureHandler({
|
|
52
|
+
* auth: {
|
|
53
|
+
* getUser: async (req) => {
|
|
54
|
+
* const session = await getServerSession(authOptions);
|
|
55
|
+
* if (!session?.user?.email) return null;
|
|
56
|
+
* return await db.user.findUnique({ where: { email: session.user.email } });
|
|
57
|
+
* },
|
|
58
|
+
* },
|
|
59
|
+
* errorHandlers: [
|
|
60
|
+
* (error) => {
|
|
61
|
+
* if (error instanceof Prisma.PrismaClientKnownRequestError) {
|
|
62
|
+
* if (error.code === "P2025") return errorResponse("Not found", 404);
|
|
63
|
+
* }
|
|
64
|
+
* return null;
|
|
65
|
+
* },
|
|
66
|
+
* ],
|
|
67
|
+
* });
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function configureHandler(options?: ConfigureHandlerOptions): (def: EndpointDefinition<any, any>) => (req: Request, ctx?: {
|
|
71
|
+
params: Promise<Record<string, string>>;
|
|
72
|
+
}) => Promise<Response>;
|
|
73
|
+
/**
|
|
74
|
+
* Default createRouteHandler with no auth or custom error handling.
|
|
75
|
+
* Suitable for unprotected endpoints or quick prototyping.
|
|
76
|
+
*
|
|
77
|
+
* For protected endpoints, use `configureHandler()` with an auth adapter.
|
|
78
|
+
*/
|
|
79
|
+
export declare const createRouteHandler: (def: EndpointDefinition<any, any>) => (req: Request, ctx?: {
|
|
80
|
+
params: Promise<Record<string, string>>;
|
|
81
|
+
}) => Promise<Response>;
|
|
82
|
+
//# sourceMappingURL=route-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-handler.d.ts","sourceRoot":"","sources":["../../src/next/route-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;GAGG;AACH,MAAM,WAAW,eAAe,CAC/B,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;IAErE;;;OAGG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAmGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,IAEpE,KAAK,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,MAGhC,KAAK,OAAO,EACZ,MAAM;IAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,KAC/C,OAAO,CAAC,QAAQ,CAAC,CAwFrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QArGxB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,MAGhC,KAAK,OAAO,EACZ,MAAM;IAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,KAC/C,OAAO,CAAC,QAAQ,CAgG+B,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ERTK Next.js Route Handler
|
|
3
|
+
*
|
|
4
|
+
* Generic createRouteHandler that bridges EndpointDefinition to
|
|
5
|
+
* Next.js App Router route handlers. Decoupled from any specific
|
|
6
|
+
* auth or database implementation.
|
|
7
|
+
*/
|
|
8
|
+
// ─── Validation Error ─────────────────────────────────────────
|
|
9
|
+
class ValidationError extends Error {
|
|
10
|
+
issues;
|
|
11
|
+
constructor(message, issues) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "ValidationError";
|
|
14
|
+
this.issues = issues;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// ─── Request Parsing ──────────────────────────────────────────
|
|
18
|
+
const QUERY_METHODS = new Set(["GET", "DELETE", "HEAD", "OPTIONS"]);
|
|
19
|
+
async function parseAndValidateRequest(req, schema) {
|
|
20
|
+
const method = req.method.toUpperCase();
|
|
21
|
+
const isQueryMethod = QUERY_METHODS.has(method);
|
|
22
|
+
if (isQueryMethod) {
|
|
23
|
+
if (!schema)
|
|
24
|
+
return { query: undefined };
|
|
25
|
+
const url = new URL(req.url);
|
|
26
|
+
const params = {};
|
|
27
|
+
url.searchParams.forEach((value, key) => {
|
|
28
|
+
const numValue = Number(value);
|
|
29
|
+
params[key] = Number.isNaN(numValue) ? value : numValue;
|
|
30
|
+
});
|
|
31
|
+
try {
|
|
32
|
+
const data = schema.parse(params);
|
|
33
|
+
return { query: data };
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
throw toValidationError(err);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
if (!schema)
|
|
41
|
+
return { body: undefined };
|
|
42
|
+
let body;
|
|
43
|
+
try {
|
|
44
|
+
body = await req.json();
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
throw new ValidationError("Invalid JSON in request body");
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const data = schema.parse(body);
|
|
51
|
+
return { body: data };
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
throw toValidationError(err);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function toValidationError(err) {
|
|
59
|
+
// Handle Zod errors (v3 and v4)
|
|
60
|
+
if (err &&
|
|
61
|
+
typeof err === "object" &&
|
|
62
|
+
"issues" in err &&
|
|
63
|
+
Array.isArray(err.issues)) {
|
|
64
|
+
const issues = err.issues.map((issue) => ({
|
|
65
|
+
path: issue.path.map(String).join("."),
|
|
66
|
+
message: issue.message,
|
|
67
|
+
}));
|
|
68
|
+
return new ValidationError("Validation failed", issues);
|
|
69
|
+
}
|
|
70
|
+
if (err instanceof Error) {
|
|
71
|
+
return new ValidationError(err.message);
|
|
72
|
+
}
|
|
73
|
+
return new ValidationError("Validation failed");
|
|
74
|
+
}
|
|
75
|
+
// ─── JSON Helpers ─────────────────────────────────────────────
|
|
76
|
+
function jsonResponse(data, status = 200) {
|
|
77
|
+
return new Response(JSON.stringify(data), {
|
|
78
|
+
status,
|
|
79
|
+
headers: { "Content-Type": "application/json" },
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function errorResponse(message, status) {
|
|
83
|
+
return jsonResponse({ error: message }, status);
|
|
84
|
+
}
|
|
85
|
+
// ─── Route Handler Factory ───────────────────────────────────
|
|
86
|
+
/**
|
|
87
|
+
* Create a configured route handler factory. Call this once with your
|
|
88
|
+
* auth adapter and error handlers, then use the returned function
|
|
89
|
+
* to create individual route handlers.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* // src/lib/ertk-handler.ts
|
|
94
|
+
* import { configureHandler } from "ertk/next";
|
|
95
|
+
*
|
|
96
|
+
* export const createRouteHandler = configureHandler({
|
|
97
|
+
* auth: {
|
|
98
|
+
* getUser: async (req) => {
|
|
99
|
+
* const session = await getServerSession(authOptions);
|
|
100
|
+
* if (!session?.user?.email) return null;
|
|
101
|
+
* return await db.user.findUnique({ where: { email: session.user.email } });
|
|
102
|
+
* },
|
|
103
|
+
* },
|
|
104
|
+
* errorHandlers: [
|
|
105
|
+
* (error) => {
|
|
106
|
+
* if (error instanceof Prisma.PrismaClientKnownRequestError) {
|
|
107
|
+
* if (error.code === "P2025") return errorResponse("Not found", 404);
|
|
108
|
+
* }
|
|
109
|
+
* return null;
|
|
110
|
+
* },
|
|
111
|
+
* ],
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export function configureHandler(options = {}) {
|
|
116
|
+
return function createRouteHandler(def) {
|
|
117
|
+
return async (req, ctx) => {
|
|
118
|
+
try {
|
|
119
|
+
const params = ctx?.params ? await ctx.params : {};
|
|
120
|
+
// Parse and validate request
|
|
121
|
+
const { body, query } = await parseAndValidateRequest(req, def.request);
|
|
122
|
+
// Resolve user for protected endpoints
|
|
123
|
+
let user = undefined;
|
|
124
|
+
if (def.protected) {
|
|
125
|
+
if (!options.auth) {
|
|
126
|
+
return errorResponse("No auth adapter configured for protected endpoint", 500);
|
|
127
|
+
}
|
|
128
|
+
user = await options.auth.getUser(req);
|
|
129
|
+
if (!user) {
|
|
130
|
+
return errorResponse("Unauthorized", 401);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Call the endpoint handler
|
|
134
|
+
if (!def.handler) {
|
|
135
|
+
return errorResponse("No handler defined for this endpoint", 501);
|
|
136
|
+
}
|
|
137
|
+
const result = await def.handler({
|
|
138
|
+
user: (user ?? { id: "" }),
|
|
139
|
+
body,
|
|
140
|
+
query,
|
|
141
|
+
params,
|
|
142
|
+
req,
|
|
143
|
+
});
|
|
144
|
+
return jsonResponse(result);
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
// Run custom error handlers
|
|
148
|
+
if (options.errorHandlers) {
|
|
149
|
+
for (const handler of options.errorHandlers) {
|
|
150
|
+
const response = handler(error);
|
|
151
|
+
if (response)
|
|
152
|
+
return response;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Handle validation errors
|
|
156
|
+
if (error instanceof ValidationError) {
|
|
157
|
+
if (error.issues) {
|
|
158
|
+
return jsonResponse({ error: "Validation failed", details: error.issues }, 400);
|
|
159
|
+
}
|
|
160
|
+
return errorResponse(error.message, 400);
|
|
161
|
+
}
|
|
162
|
+
// Handle errors with a status property
|
|
163
|
+
if (error instanceof Error &&
|
|
164
|
+
"status" in error &&
|
|
165
|
+
typeof error.status === "number") {
|
|
166
|
+
return errorResponse(error.message || "An error occurred", error.status);
|
|
167
|
+
}
|
|
168
|
+
// Generic error
|
|
169
|
+
if (error instanceof Error) {
|
|
170
|
+
console.error("ERTK Route Error:", {
|
|
171
|
+
message: error.message,
|
|
172
|
+
stack: error.stack,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
console.error("ERTK Route Error:", error);
|
|
177
|
+
}
|
|
178
|
+
return errorResponse("An unexpected error occurred", 500);
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Default createRouteHandler with no auth or custom error handling.
|
|
185
|
+
* Suitable for unprotected endpoints or quick prototyping.
|
|
186
|
+
*
|
|
187
|
+
* For protected endpoints, use `configureHandler()` with an auth adapter.
|
|
188
|
+
*/
|
|
189
|
+
export const createRouteHandler = configureHandler();
|
|
190
|
+
//# sourceMappingURL=route-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-handler.js","sourceRoot":"","sources":["../../src/next/route-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core ERTK type definitions.
|
|
3
|
+
*
|
|
4
|
+
* Generalized from the original Pointwise implementation to be
|
|
5
|
+
* framework-agnostic at the type level.
|
|
6
|
+
*/
|
|
7
|
+
export type TagType = string;
|
|
8
|
+
export type TagDescription = TagType | {
|
|
9
|
+
type: TagType;
|
|
10
|
+
id: string | number;
|
|
11
|
+
};
|
|
12
|
+
export interface SingleOptimistic<TArgs> {
|
|
13
|
+
target: string;
|
|
14
|
+
args: (params: TArgs) => unknown;
|
|
15
|
+
update: (draft: unknown, params: TArgs) => void;
|
|
16
|
+
}
|
|
17
|
+
export interface MultiOptimistic<TArgs> {
|
|
18
|
+
updates: Array<{
|
|
19
|
+
target: string;
|
|
20
|
+
args: (params: TArgs) => unknown;
|
|
21
|
+
update: (draft: unknown, params: TArgs) => void;
|
|
22
|
+
condition?: (params: TArgs) => boolean;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Minimal user shape required by ERTK. Consumers extend this
|
|
27
|
+
* via their auth adapter to add project-specific fields.
|
|
28
|
+
*/
|
|
29
|
+
export interface DefaultUser {
|
|
30
|
+
id: string;
|
|
31
|
+
[key: string]: unknown;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Context passed to endpoint handlers on the server side.
|
|
35
|
+
*/
|
|
36
|
+
export interface HandlerContext<TBody = unknown, TQuery = unknown, TUser = DefaultUser> {
|
|
37
|
+
user: TUser;
|
|
38
|
+
body: TBody;
|
|
39
|
+
query: TQuery;
|
|
40
|
+
params: Record<string, string>;
|
|
41
|
+
req: Request;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Minimal validation interface. Compatible with Zod, Valibot, ArkType,
|
|
45
|
+
* or any library that exposes a `parse(data) => T` method.
|
|
46
|
+
*/
|
|
47
|
+
export interface ValidationSchema<T = unknown> {
|
|
48
|
+
parse: (data: unknown) => T;
|
|
49
|
+
}
|
|
50
|
+
export interface EndpointDefinition<TResponse = unknown, TArgs = void> {
|
|
51
|
+
/** Name used for the generated RTK Query hook (e.g., "getTasks" → useGetTasksQuery) */
|
|
52
|
+
name: string;
|
|
53
|
+
/** HTTP method */
|
|
54
|
+
method: "get" | "post" | "put" | "patch" | "delete";
|
|
55
|
+
/** Optional request validation schema (Zod, Valibot, etc.) */
|
|
56
|
+
request?: ValidationSchema;
|
|
57
|
+
/** RTK Query cache tag configuration */
|
|
58
|
+
tags?: {
|
|
59
|
+
provides?: TagDescription[] | ((result: TResponse | undefined, error: unknown, args: TArgs) => TagDescription[]);
|
|
60
|
+
invalidates?: TagDescription[] | ((result: TResponse | undefined, error: unknown, args: TArgs) => TagDescription[]);
|
|
61
|
+
};
|
|
62
|
+
/** Whether this endpoint requires authentication (default: true) */
|
|
63
|
+
protected: boolean;
|
|
64
|
+
/** Client-side query function for RTK Query */
|
|
65
|
+
query?: (args: TArgs) => string | {
|
|
66
|
+
url: string;
|
|
67
|
+
method?: string;
|
|
68
|
+
body?: unknown;
|
|
69
|
+
};
|
|
70
|
+
/** Optimistic update configuration */
|
|
71
|
+
optimistic?: SingleOptimistic<TArgs> | MultiOptimistic<TArgs>;
|
|
72
|
+
/**
|
|
73
|
+
* Server-side handler. Optional — omit for client-only endpoints
|
|
74
|
+
* that consume an external API.
|
|
75
|
+
*/
|
|
76
|
+
handler?: (ctx: HandlerContext<any, any>) => Promise<unknown>;
|
|
77
|
+
}
|
|
78
|
+
export interface ErtkRoutesConfig {
|
|
79
|
+
/** Directory where Next.js route files are generated (e.g., "src/app/api") */
|
|
80
|
+
dir: string;
|
|
81
|
+
/**
|
|
82
|
+
* Module that exports `createRouteHandler`.
|
|
83
|
+
* Generated route files will import from this module.
|
|
84
|
+
* Default: "ertk/next"
|
|
85
|
+
*/
|
|
86
|
+
handlerModule?: string;
|
|
87
|
+
/** Top-level route directories to skip during generation (e.g., ["auth"]) */
|
|
88
|
+
ignoredRoutes?: string[];
|
|
89
|
+
}
|
|
90
|
+
export interface ErtkConfig {
|
|
91
|
+
/** Directory containing endpoint definition files. Default: "src/endpoints" */
|
|
92
|
+
endpoints?: string;
|
|
93
|
+
/** Directory for generated output files. Default: "src/generated" */
|
|
94
|
+
generated?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Path alias prefix (e.g., "@app", "@src", "@myproject").
|
|
97
|
+
* If omitted, auto-detected from tsconfig.json paths.
|
|
98
|
+
*/
|
|
99
|
+
pathAlias?: string;
|
|
100
|
+
/** Base URL for fetchBaseQuery. Default: "/api" */
|
|
101
|
+
baseUrl?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Custom baseQuery source code string. Overrides baseUrl if provided.
|
|
104
|
+
* Allows full control over fetch configuration (auth headers, etc.).
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```
|
|
108
|
+
* baseQuery: `fetchBaseQuery({
|
|
109
|
+
* baseUrl: "https://api.example.com",
|
|
110
|
+
* prepareHeaders: (headers) => {
|
|
111
|
+
* headers.set("Authorization", \`Bearer \${getToken()}\`);
|
|
112
|
+
* return headers;
|
|
113
|
+
* },
|
|
114
|
+
* })`
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
baseQuery?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Filenames that map to CRUD operations and don't become URL segments.
|
|
120
|
+
* Default: ["get", "list", "create", "update", "delete", "send", "remove", "cancel"]
|
|
121
|
+
*/
|
|
122
|
+
crudFilenames?: string[];
|
|
123
|
+
/**
|
|
124
|
+
* Route generation config. Omit entirely to skip route generation
|
|
125
|
+
* (client-only mode).
|
|
126
|
+
*/
|
|
127
|
+
routes?: ErtkRoutesConfig;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Resolved config with all defaults applied and paths made absolute.
|
|
131
|
+
* Used internally by the codegen.
|
|
132
|
+
*/
|
|
133
|
+
export interface ResolvedConfig {
|
|
134
|
+
root: string;
|
|
135
|
+
endpointsDir: string;
|
|
136
|
+
generatedDir: string;
|
|
137
|
+
manifestPath: string;
|
|
138
|
+
pathAlias: string;
|
|
139
|
+
aliasRoot: string;
|
|
140
|
+
baseUrl: string;
|
|
141
|
+
baseQuery: string | null;
|
|
142
|
+
crudFilenames: Set<string>;
|
|
143
|
+
routes: {
|
|
144
|
+
dir: string;
|
|
145
|
+
handlerModule: string;
|
|
146
|
+
ignoredRoutes: Set<string>;
|
|
147
|
+
} | null;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ertk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Easy RTK — Define endpoints once, generate RTK Query hooks and route handlers automatically",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"./next": {
|
|
12
|
+
"types": "./dist/next/index.d.ts",
|
|
13
|
+
"import": "./dist/next/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"bin": {
|
|
17
|
+
"ertk": "dist/cli.js"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc",
|
|
24
|
+
"dev": "tsc --watch",
|
|
25
|
+
"prepublishOnly": "tsc"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"rtk",
|
|
29
|
+
"redux",
|
|
30
|
+
"rtk-query",
|
|
31
|
+
"codegen",
|
|
32
|
+
"next.js",
|
|
33
|
+
"api",
|
|
34
|
+
"endpoints"
|
|
35
|
+
],
|
|
36
|
+
"author": "Amber Cowled",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "git+https://github.com/AmberCowled/ertk.git"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/AmberCowled/ertk#readme",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/AmberCowled/ertk/issues"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"jiti": "^2.4.2",
|
|
48
|
+
"ts-morph": "^27.0.2"
|
|
49
|
+
},
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"@reduxjs/toolkit": "^2.0.0",
|
|
52
|
+
"next": ">=14.0.0",
|
|
53
|
+
"react": ">=18.0.0",
|
|
54
|
+
"react-redux": "^9.0.0",
|
|
55
|
+
"typescript": "^5.0.0",
|
|
56
|
+
"zod": "^3.0.0 || ^4.0.0"
|
|
57
|
+
},
|
|
58
|
+
"peerDependenciesMeta": {
|
|
59
|
+
"next": {
|
|
60
|
+
"optional": true
|
|
61
|
+
},
|
|
62
|
+
"zod": {
|
|
63
|
+
"optional": true
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@reduxjs/toolkit": "^2.5.0",
|
|
68
|
+
"@types/node": "^22.0.0",
|
|
69
|
+
"next": "^16.0.0",
|
|
70
|
+
"react": "^19.0.0",
|
|
71
|
+
"react-redux": "^9.2.0",
|
|
72
|
+
"typescript": "^5.0.0",
|
|
73
|
+
"zod": "^4.0.0"
|
|
74
|
+
}
|
|
75
|
+
}
|