strapi-typed-client 1.4.1 → 1.5.1
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/README.md +2 -0
- package/dist/generator/client-generator.d.ts +12 -0
- package/dist/generator/client-generator.d.ts.map +1 -1
- package/dist/generator/client-generator.js +241 -11
- package/dist/generator/client-generator.js.map +1 -1
- package/dist/generator/custom-api-generator.d.ts +5 -1
- package/dist/generator/custom-api-generator.d.ts.map +1 -1
- package/dist/generator/custom-api-generator.js +34 -13
- package/dist/generator/custom-api-generator.js.map +1 -1
- package/dist/generator/plugin-api-generator.d.ts +26 -0
- package/dist/generator/plugin-api-generator.d.ts.map +1 -0
- package/dist/generator/plugin-api-generator.js +106 -0
- package/dist/generator/plugin-api-generator.js.map +1 -0
- package/dist/generator/plugin-registry.d.ts +51 -0
- package/dist/generator/plugin-registry.d.ts.map +1 -0
- package/dist/generator/plugin-registry.js +59 -0
- package/dist/generator/plugin-registry.js.map +1 -0
- package/dist/generator/strapi-error-registry.d.ts +34 -0
- package/dist/generator/strapi-error-registry.d.ts.map +1 -0
- package/dist/generator/strapi-error-registry.js +79 -0
- package/dist/generator/strapi-error-registry.js.map +1 -0
- package/dist/generator/types-generator.d.ts +3 -0
- package/dist/generator/types-generator.d.ts.map +1 -1
- package/dist/generator/types-generator.js +61 -9
- package/dist/generator/types-generator.js.map +1 -1
- package/dist/index.d.ts +85 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,6 +50,8 @@ articles[0].category.name // fully typed
|
|
|
50
50
|
|
|
51
51
|
- Clean, flat TypeScript interfaces from your Strapi schema
|
|
52
52
|
- Typed API client — `find`, `findOne`, `create`, `update`, `delete`
|
|
53
|
+
- Built-in upload plugin support — `client.upload.upload/find/findOne/destroy`
|
|
54
|
+
- Typed errors with `isStrapiErrorOf` for discriminated narrowing
|
|
53
55
|
- Automatic type inference for `populate` — no manual casting
|
|
54
56
|
- Nested populate with unlimited depth
|
|
55
57
|
- Separate Input types for create/update (relations as IDs)
|
|
@@ -3,11 +3,15 @@ import type { ParsedEndpoint, ExtraControllerType } from '../shared/endpoint-typ
|
|
|
3
3
|
export declare class ClientGenerator {
|
|
4
4
|
private authApiGenerator;
|
|
5
5
|
private customApiGenerator;
|
|
6
|
+
private pluginApiGenerator;
|
|
6
7
|
constructor();
|
|
7
8
|
generate(schema: ParsedSchema, endpoints?: ParsedEndpoint[], extraTypes?: ExtraControllerType[], schemaHash?: string): string;
|
|
8
9
|
private generateImports;
|
|
9
10
|
private addUtilityTypes;
|
|
11
|
+
private addStrapiValidationIssueInterface;
|
|
12
|
+
private addStrapiErrorTypes;
|
|
10
13
|
private addStrapiErrorClass;
|
|
14
|
+
private addStrapiErrorTypeGuards;
|
|
11
15
|
private addStrapiConnectionErrorClass;
|
|
12
16
|
private generateBaseAPIClass;
|
|
13
17
|
private addGetPopulatedType;
|
|
@@ -15,6 +19,14 @@ export declare class ClientGenerator {
|
|
|
15
19
|
private generateSingleTypeAPI;
|
|
16
20
|
private generateCustomAPIClasses;
|
|
17
21
|
private buildTypeParams;
|
|
22
|
+
/**
|
|
23
|
+
* Compute which entries of `PLUGIN_REGISTRY` should be active for the
|
|
24
|
+
* current generation. An entry is skipped if the user has a custom
|
|
25
|
+
* standalone controller that resolves to the same property name —
|
|
26
|
+
* avoiding both class-name and StrapiClient property collisions. A
|
|
27
|
+
* single warning per skipped entry is logged.
|
|
28
|
+
*/
|
|
29
|
+
private computeActivePlugins;
|
|
18
30
|
private generateStrapiClient;
|
|
19
31
|
/**
|
|
20
32
|
* Resolve the class + property name for a standalone controller (one that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-generator.d.ts","sourceRoot":"","sources":["../../src/generator/client-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"client-generator.d.ts","sourceRoot":"","sources":["../../src/generator/client-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAA;AAQ9D,OAAO,KAAK,EACR,cAAc,EACd,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AA4BpC,qBAAa,eAAe;IACxB,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,kBAAkB,CAAoB;;IAQ9C,QAAQ,CACJ,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,cAAc,EAAE,EAC5B,UAAU,CAAC,EAAE,mBAAmB,EAAE,EAClC,UAAU,GAAE,MAAW,GACxB,MAAM;IA8ET,OAAO,CAAC,eAAe;IAuEvB,OAAO,CAAC,eAAe;IAyOvB,OAAO,CAAC,iCAAiC;IA0BzC,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,mBAAmB;IAwF3B,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,6BAA6B;IA6CrC,OAAO,CAAC,oBAAoB;IAwK5B,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,qBAAqB;IAwJ7B,OAAO,CAAC,qBAAqB;IA+D7B,OAAO,CAAC,wBAAwB;IAuEhC,OAAO,CAAC,eAAe;IAavB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,oBAAoB;IA2K5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,oBAAoB;CA4B/B"}
|
|
@@ -4,6 +4,9 @@ import { createRequire } from 'module';
|
|
|
4
4
|
import { Project } from 'ts-morph';
|
|
5
5
|
import { AuthApiGenerator } from './auth-api-generator.js';
|
|
6
6
|
import { CustomApiGenerator } from './custom-api-generator.js';
|
|
7
|
+
import { PluginApiGenerator } from './plugin-api-generator.js';
|
|
8
|
+
import { PLUGIN_REGISTRY } from './plugin-registry.js';
|
|
9
|
+
import { STRAPI_ERROR_REGISTRY } from './strapi-error-registry.js';
|
|
7
10
|
import { toCamelCase, toPascalCase } from '../shared/index.js';
|
|
8
11
|
import { convertEndpointsToRoutes, convertEndpointsToCustomTypes, } from '../core/endpoint-converter.js';
|
|
9
12
|
/**
|
|
@@ -27,9 +30,11 @@ const STRINGIFY_QUERY_SOURCE = loadStringifyQuerySource();
|
|
|
27
30
|
export class ClientGenerator {
|
|
28
31
|
authApiGenerator;
|
|
29
32
|
customApiGenerator;
|
|
33
|
+
pluginApiGenerator;
|
|
30
34
|
constructor() {
|
|
31
35
|
this.authApiGenerator = new AuthApiGenerator();
|
|
32
36
|
this.customApiGenerator = new CustomApiGenerator();
|
|
37
|
+
this.pluginApiGenerator = new PluginApiGenerator();
|
|
33
38
|
}
|
|
34
39
|
generate(schema, endpoints, extraTypes, schemaHash = '') {
|
|
35
40
|
const project = new Project({ useInMemoryFileSystem: true });
|
|
@@ -74,8 +79,13 @@ export class ClientGenerator {
|
|
|
74
79
|
const authRoutes = parsedRoutes?.byController.get('auth') || [];
|
|
75
80
|
const userRoutes = parsedRoutes?.byController.get('user') || [];
|
|
76
81
|
sf.addStatements(this.authApiGenerator.generateAuthApiClass(authRoutes, userRoutes));
|
|
82
|
+
// Plugin API classes (registry-driven: upload, etc.) — filter out
|
|
83
|
+
// entries colliding with a user-defined standalone controller so
|
|
84
|
+
// that the user's custom code wins and we don't emit duplicates.
|
|
85
|
+
const activePlugins = this.computeActivePlugins(schema, parsedRoutes);
|
|
86
|
+
sf.addStatements(this.pluginApiGenerator.generateAllPluginClasses(activePlugins));
|
|
77
87
|
// Main StrapiClient class
|
|
78
|
-
sf.addStatements(this.generateStrapiClient(schema, parsedRoutes));
|
|
88
|
+
sf.addStatements(this.generateStrapiClient(schema, parsedRoutes, activePlugins));
|
|
79
89
|
return sf.getFullText();
|
|
80
90
|
}
|
|
81
91
|
generateImports(schema) {
|
|
@@ -141,10 +151,16 @@ import type { ${filterImports.join(', ')} } from './types.js'`;
|
|
|
141
151
|
},
|
|
142
152
|
],
|
|
143
153
|
});
|
|
154
|
+
// StrapiValidationIssue + error name/details types (registry-driven)
|
|
155
|
+
this.addStrapiValidationIssueInterface(sf);
|
|
156
|
+
this.addStrapiErrorTypes(sf);
|
|
144
157
|
// StrapiError class
|
|
145
158
|
this.addStrapiErrorClass(sf);
|
|
146
159
|
// StrapiConnectionError class
|
|
147
160
|
this.addStrapiConnectionErrorClass(sf);
|
|
161
|
+
// Type guards for StrapiError narrowing (must come AFTER the class
|
|
162
|
+
// declaration so the guards can reference StrapiError).
|
|
163
|
+
this.addStrapiErrorTypeGuards(sf);
|
|
148
164
|
// BaseAPI class (complex — static block)
|
|
149
165
|
sf.addStatements(this.generateBaseAPIClass());
|
|
150
166
|
// StrapiSortOption type alias
|
|
@@ -201,6 +217,54 @@ import type { ${filterImports.join(', ')} } from './types.js'`;
|
|
|
201
217
|
},
|
|
202
218
|
],
|
|
203
219
|
});
|
|
220
|
+
// UploadQueryParams interface — the upload plugin predates Strapi v5's
|
|
221
|
+
// document model and uses flat `start`/`limit` for pagination instead
|
|
222
|
+
// of `pagination[page]`/`pagination[pageSize]`. `filters` and `sort`
|
|
223
|
+
// do follow the v5 conventions.
|
|
224
|
+
sf.addInterface({
|
|
225
|
+
name: 'UploadQueryParams',
|
|
226
|
+
isExported: true,
|
|
227
|
+
docs: [
|
|
228
|
+
"Query params for the upload plugin's content-API.\n\n" +
|
|
229
|
+
'NOTE: Strapi v5 upload plugin uses flat `start`/`limit` for\n' +
|
|
230
|
+
'pagination — `pagination[page]`/`pagination[pageSize]` are\n' +
|
|
231
|
+
'silently ignored. `filters` and `sort` follow the standard\n' +
|
|
232
|
+
'Strapi v5 syntax.',
|
|
233
|
+
],
|
|
234
|
+
properties: [
|
|
235
|
+
{
|
|
236
|
+
name: 'filters',
|
|
237
|
+
type: 'Record<string, any>',
|
|
238
|
+
hasQuestionToken: true,
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
name: 'sort',
|
|
242
|
+
type: 'StrapiSortOption<MediaFile> | StrapiSortOption<MediaFile>[]',
|
|
243
|
+
hasQuestionToken: true,
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: 'fields',
|
|
247
|
+
type: "(Exclude<keyof MediaFile & string, '__typename'>)[]",
|
|
248
|
+
hasQuestionToken: true,
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'start',
|
|
252
|
+
type: 'number',
|
|
253
|
+
hasQuestionToken: true,
|
|
254
|
+
docs: [
|
|
255
|
+
'Offset (0-based). Upload plugin uses flat `start`, not `pagination[start]`.',
|
|
256
|
+
],
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
name: 'limit',
|
|
260
|
+
type: 'number',
|
|
261
|
+
hasQuestionToken: true,
|
|
262
|
+
docs: [
|
|
263
|
+
'Page size. Upload plugin uses flat `limit`, not `pagination[pageSize]`.',
|
|
264
|
+
],
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
});
|
|
204
268
|
// NextOptions interface
|
|
205
269
|
sf.addInterface({
|
|
206
270
|
name: 'NextOptions',
|
|
@@ -291,11 +355,93 @@ import type { ${filterImports.join(', ')} } from './types.js'`;
|
|
|
291
355
|
type: `[TFields] extends [never] ? TFull : Pick<TBase, Extract<TFields | 'id' | 'documentId', keyof TBase>> & Omit<TFull, keyof TBase>`,
|
|
292
356
|
});
|
|
293
357
|
}
|
|
358
|
+
addStrapiValidationIssueInterface(sf) {
|
|
359
|
+
sf.addInterface({
|
|
360
|
+
name: 'StrapiValidationIssue',
|
|
361
|
+
isExported: true,
|
|
362
|
+
docs: [
|
|
363
|
+
'A single validation issue inside a `ValidationError`.\n' +
|
|
364
|
+
'Mirrors the Yup-style errors Strapi propagates from schema validation.',
|
|
365
|
+
],
|
|
366
|
+
properties: [
|
|
367
|
+
{
|
|
368
|
+
name: 'path',
|
|
369
|
+
type: 'string[]',
|
|
370
|
+
docs: [
|
|
371
|
+
'Field path to the offending value (e.g. ["author", "email"]).',
|
|
372
|
+
],
|
|
373
|
+
},
|
|
374
|
+
{ name: 'message', type: 'string' },
|
|
375
|
+
{
|
|
376
|
+
name: 'name',
|
|
377
|
+
type: 'string',
|
|
378
|
+
docs: ['The Yup validator name (e.g. "required").'],
|
|
379
|
+
},
|
|
380
|
+
],
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
addStrapiErrorTypes(sf) {
|
|
384
|
+
const names = STRAPI_ERROR_REGISTRY.map(c => `'${c.errorName}'`);
|
|
385
|
+
const namedUnion = names.join(' | ');
|
|
386
|
+
sf.addTypeAlias({
|
|
387
|
+
name: 'StrapiErrorName',
|
|
388
|
+
isExported: true,
|
|
389
|
+
docs: [
|
|
390
|
+
'Known Strapi v5 error names. Other strings are still accepted at\n' +
|
|
391
|
+
'runtime via the `(string & {})` fallback so plugin or future-version\n' +
|
|
392
|
+
'errors are not lost.',
|
|
393
|
+
],
|
|
394
|
+
type: `${namedUnion} | (string & {})`,
|
|
395
|
+
});
|
|
396
|
+
const mapEntries = STRAPI_ERROR_REGISTRY.map(c => ` ${c.errorName}: ${c.detailsType}`).join('\n');
|
|
397
|
+
sf.addTypeAlias({
|
|
398
|
+
name: 'StrapiErrorDetailsMap',
|
|
399
|
+
isExported: true,
|
|
400
|
+
docs: [
|
|
401
|
+
'Maps each known `StrapiErrorName` to the shape of its `details`\n' +
|
|
402
|
+
'payload. Used by `isStrapiErrorOf` to narrow `details` after the\n' +
|
|
403
|
+
'discriminator check. Wrapped in `Partial` because Strapi may\n' +
|
|
404
|
+
'omit `details` even when the error name is known.',
|
|
405
|
+
],
|
|
406
|
+
type: `Partial<{\n${mapEntries}\n}>`,
|
|
407
|
+
});
|
|
408
|
+
sf.addInterface({
|
|
409
|
+
name: 'UnknownStrapiErrorDetails',
|
|
410
|
+
isExported: true,
|
|
411
|
+
docs: [
|
|
412
|
+
'Fallback shape when `errorName` is not in `StrapiErrorDetailsMap`\n' +
|
|
413
|
+
'(e.g. 3rd-party plugin errors or Strapi versions newer than this client).',
|
|
414
|
+
],
|
|
415
|
+
properties: [
|
|
416
|
+
{ name: 'errorName', type: 'string' },
|
|
417
|
+
{
|
|
418
|
+
name: 'details',
|
|
419
|
+
type: 'Record<string, unknown>',
|
|
420
|
+
hasQuestionToken: true,
|
|
421
|
+
},
|
|
422
|
+
],
|
|
423
|
+
});
|
|
424
|
+
}
|
|
294
425
|
addStrapiErrorClass(sf) {
|
|
295
426
|
sf.addClass({
|
|
296
427
|
name: 'StrapiError',
|
|
297
428
|
isExported: true,
|
|
298
|
-
docs: [
|
|
429
|
+
docs: [
|
|
430
|
+
'Error thrown for non-2xx responses from Strapi.\n\n' +
|
|
431
|
+
'Use `isStrapiErrorOf(err, "ValidationError")` (or any other\n' +
|
|
432
|
+
'name) to narrow `details` to its typed shape.\n\n' +
|
|
433
|
+
'@example\n' +
|
|
434
|
+
'```ts\n' +
|
|
435
|
+
"try { await strapi.articles.create({ title: '' }) }\n" +
|
|
436
|
+
'catch (e) {\n' +
|
|
437
|
+
" if (isStrapiErrorOf(e, 'ValidationError')) {\n" +
|
|
438
|
+
' for (const issue of e.details?.errors ?? []) {\n' +
|
|
439
|
+
" console.log(issue.path.join('.'), issue.message)\n" +
|
|
440
|
+
' }\n' +
|
|
441
|
+
' }\n' +
|
|
442
|
+
'}\n' +
|
|
443
|
+
'```',
|
|
444
|
+
],
|
|
299
445
|
extends: 'Error',
|
|
300
446
|
properties: [
|
|
301
447
|
{
|
|
@@ -313,11 +459,23 @@ import type { ${filterImports.join(', ')} } from './types.js'`;
|
|
|
313
459
|
type: 'string',
|
|
314
460
|
docs: ['HTTP status text'],
|
|
315
461
|
},
|
|
462
|
+
{
|
|
463
|
+
name: 'errorName',
|
|
464
|
+
type: 'StrapiErrorName',
|
|
465
|
+
docs: [
|
|
466
|
+
'Strapi-side error name (e.g. "ValidationError", "PolicyError").\n' +
|
|
467
|
+
'Use as discriminator with `isStrapiErrorOf`. `Error.name` itself\n' +
|
|
468
|
+
'remains "StrapiError" so Sentry/sourcemap contracts are unchanged.',
|
|
469
|
+
],
|
|
470
|
+
},
|
|
316
471
|
{
|
|
317
472
|
name: 'details',
|
|
318
|
-
type: '
|
|
473
|
+
type: 'unknown',
|
|
319
474
|
hasQuestionToken: true,
|
|
320
|
-
docs: [
|
|
475
|
+
docs: [
|
|
476
|
+
'Additional error details from Strapi. Typed as `unknown` —\n' +
|
|
477
|
+
'narrow via `isStrapiErrorOf` for typed access.',
|
|
478
|
+
],
|
|
321
479
|
},
|
|
322
480
|
],
|
|
323
481
|
ctors: [
|
|
@@ -329,9 +487,14 @@ import type { ${filterImports.join(', ')} } from './types.js'`;
|
|
|
329
487
|
{ name: 'statusText', type: 'string' },
|
|
330
488
|
{
|
|
331
489
|
name: 'details',
|
|
332
|
-
type: '
|
|
490
|
+
type: 'unknown',
|
|
333
491
|
hasQuestionToken: true,
|
|
334
492
|
},
|
|
493
|
+
{
|
|
494
|
+
name: 'errorName',
|
|
495
|
+
type: 'StrapiErrorName',
|
|
496
|
+
initializer: "'UnknownError'",
|
|
497
|
+
},
|
|
335
498
|
],
|
|
336
499
|
statements: [
|
|
337
500
|
'super(message)',
|
|
@@ -339,12 +502,39 @@ import type { ${filterImports.join(', ')} } from './types.js'`;
|
|
|
339
502
|
'this.userMessage = userMessage',
|
|
340
503
|
'this.status = status',
|
|
341
504
|
'this.statusText = statusText',
|
|
505
|
+
'this.errorName = errorName',
|
|
342
506
|
'this.details = details',
|
|
343
507
|
],
|
|
344
508
|
},
|
|
345
509
|
],
|
|
346
510
|
});
|
|
347
511
|
}
|
|
512
|
+
addStrapiErrorTypeGuards(sf) {
|
|
513
|
+
sf.addStatements(`
|
|
514
|
+
/**
|
|
515
|
+
* Type guard: is the value a StrapiError instance?
|
|
516
|
+
*/
|
|
517
|
+
export function isStrapiError(err: unknown): err is StrapiError {
|
|
518
|
+
return err instanceof StrapiError
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Type guard that narrows both \`errorName\` and \`details\` for a specific
|
|
523
|
+
* Strapi error type.
|
|
524
|
+
*
|
|
525
|
+
* @example
|
|
526
|
+
* if (isStrapiErrorOf(err, 'ValidationError')) {
|
|
527
|
+
* err.details?.errors?.[0]?.path // string[] | undefined
|
|
528
|
+
* }
|
|
529
|
+
*/
|
|
530
|
+
export function isStrapiErrorOf<N extends keyof StrapiErrorDetailsMap>(
|
|
531
|
+
err: unknown,
|
|
532
|
+
name: N,
|
|
533
|
+
): err is StrapiError & { errorName: N; details: StrapiErrorDetailsMap[N] } {
|
|
534
|
+
return isStrapiError(err) && err.errorName === name
|
|
535
|
+
}
|
|
536
|
+
`);
|
|
537
|
+
}
|
|
348
538
|
addStrapiConnectionErrorClass(sf) {
|
|
349
539
|
sf.addClass({
|
|
350
540
|
name: 'StrapiConnectionError',
|
|
@@ -519,7 +709,9 @@ class BaseAPI {
|
|
|
519
709
|
\`Strapi returned HTML instead of JSON. Your baseURL may point to the wrong server. URL: \${url}\`,
|
|
520
710
|
'Unexpected HTML response from server',
|
|
521
711
|
response.status,
|
|
522
|
-
response.statusText
|
|
712
|
+
response.statusText,
|
|
713
|
+
undefined,
|
|
714
|
+
'UnknownError'
|
|
523
715
|
)
|
|
524
716
|
}
|
|
525
717
|
|
|
@@ -532,7 +724,8 @@ class BaseAPI {
|
|
|
532
724
|
userMessage,
|
|
533
725
|
response.status,
|
|
534
726
|
response.statusText,
|
|
535
|
-
errorData.error?.details
|
|
727
|
+
errorData.error?.details,
|
|
728
|
+
errorData.error?.name ?? 'UnknownError'
|
|
536
729
|
)
|
|
537
730
|
}
|
|
538
731
|
|
|
@@ -800,7 +993,10 @@ class SingleTypeAPI<
|
|
|
800
993
|
? 'SingleTypeAPI'
|
|
801
994
|
: 'CollectionAPI';
|
|
802
995
|
const typeParams = this.buildTypeParams(contentType);
|
|
803
|
-
const
|
|
996
|
+
const endpoint = contentType.kind === 'single'
|
|
997
|
+
? contentType.singularName
|
|
998
|
+
: contentType.pluralName;
|
|
999
|
+
const customMethods = this.customApiGenerator.generateCustomMethods(controller, routes, false, endpoint);
|
|
804
1000
|
classes.push(`// Custom API class for ${contentType.cleanName} (${contentType.kind} type) with custom routes
|
|
805
1001
|
class ${className} extends ${baseClass}${typeParams} {
|
|
806
1002
|
${customMethods}
|
|
@@ -831,7 +1027,26 @@ ${customMethods}
|
|
|
831
1027
|
}
|
|
832
1028
|
return `<${contentType.cleanName}, ${contentType.cleanName}Input, ${contentType.cleanName}Filters>`;
|
|
833
1029
|
}
|
|
834
|
-
|
|
1030
|
+
/**
|
|
1031
|
+
* Compute which entries of `PLUGIN_REGISTRY` should be active for the
|
|
1032
|
+
* current generation. An entry is skipped if the user has a custom
|
|
1033
|
+
* standalone controller that resolves to the same property name —
|
|
1034
|
+
* avoiding both class-name and StrapiClient property collisions. A
|
|
1035
|
+
* single warning per skipped entry is logged.
|
|
1036
|
+
*/
|
|
1037
|
+
computeActivePlugins(schema, parsedRoutes) {
|
|
1038
|
+
return PLUGIN_REGISTRY.filter(contract => {
|
|
1039
|
+
const collidesWithUserController = parsedRoutes?.byController.has(contract.clientProperty) &&
|
|
1040
|
+
!schema.contentTypes.some(ct => ct.singularName === contract.clientProperty);
|
|
1041
|
+
if (collidesWithUserController) {
|
|
1042
|
+
console.warn(`[strapi-types] Custom '${contract.clientProperty}' controller detected — ` +
|
|
1043
|
+
`skipping built-in ${contract.className} to avoid name collision.`);
|
|
1044
|
+
return false;
|
|
1045
|
+
}
|
|
1046
|
+
return true;
|
|
1047
|
+
});
|
|
1048
|
+
}
|
|
1049
|
+
generateStrapiClient(schema, parsedRoutes, activePlugins = PLUGIN_REGISTRY) {
|
|
835
1050
|
// Build property declarations
|
|
836
1051
|
const propertyDeclarations = schema.contentTypes
|
|
837
1052
|
.map(contentType => {
|
|
@@ -887,13 +1102,28 @@ ${customMethods}
|
|
|
887
1102
|
.join('\n');
|
|
888
1103
|
// Build standalone API initializations
|
|
889
1104
|
const standaloneInits = this.buildStandaloneInits(schema, parsedRoutes);
|
|
1105
|
+
// Plugin APIs from PLUGIN_REGISTRY — `activePlugins` is precomputed
|
|
1106
|
+
// by the caller (see computeActivePlugins) so the same filter is
|
|
1107
|
+
// applied to both class emission and StrapiClient wiring.
|
|
1108
|
+
const pluginDeclarations = activePlugins
|
|
1109
|
+
.map(c => ` ${c.clientProperty}: ${c.className}`)
|
|
1110
|
+
.join('\n');
|
|
1111
|
+
const pluginInits = activePlugins
|
|
1112
|
+
.map(c => ` this.${c.clientProperty} = new ${c.className}(this.config)`)
|
|
1113
|
+
.join('\n');
|
|
1114
|
+
const pluginDeclarationsBlock = pluginDeclarations
|
|
1115
|
+
? `\n // Plugin APIs (registry-driven)\n${pluginDeclarations}\n`
|
|
1116
|
+
: '';
|
|
1117
|
+
const pluginInitsBlock = pluginInits
|
|
1118
|
+
? `\n // Initialize plugin APIs\n${pluginInits}\n`
|
|
1119
|
+
: '';
|
|
890
1120
|
return `// Main Strapi client
|
|
891
1121
|
export class StrapiClient {
|
|
892
1122
|
private config: StrapiClientConfig
|
|
893
1123
|
|
|
894
1124
|
// Auth API for users-permissions plugin
|
|
895
1125
|
authentication: AuthAPI
|
|
896
|
-
|
|
1126
|
+
${pluginDeclarationsBlock}
|
|
897
1127
|
${propertyDeclarations}
|
|
898
1128
|
${standaloneDeclarations}
|
|
899
1129
|
constructor(config: StrapiClientConfig) {
|
|
@@ -901,7 +1131,7 @@ ${standaloneDeclarations}
|
|
|
901
1131
|
|
|
902
1132
|
// Initialize Auth API
|
|
903
1133
|
this.authentication = new AuthAPI(this.config)
|
|
904
|
-
|
|
1134
|
+
${pluginInitsBlock}
|
|
905
1135
|
${propertyInits}
|
|
906
1136
|
${standaloneInits}
|
|
907
1137
|
// Auto-validate schema in development mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-generator.js","sourceRoot":"","sources":["../../src/generator/client-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client-generator.js","sourceRoot":"","sources":["../../src/generator/client-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,12 @@ export declare class CustomApiGenerator {
|
|
|
12
12
|
* @param controller - Controller name
|
|
13
13
|
* @param routes - Routes for this controller
|
|
14
14
|
* @param isStandalone - Whether this is a standalone API (no collection type)
|
|
15
|
+
* @param endpoint - The collection/single endpoint segment (pluralName for
|
|
16
|
+
* collections, singularName for single types) — used to strip the leading
|
|
17
|
+
* resource prefix from route paths. When omitted, falls back to naive
|
|
18
|
+
* `controller + "s"` pluralization (kept for standalone routes only).
|
|
15
19
|
*/
|
|
16
|
-
generateCustomMethods(controller: string, routes: ParsedRoute[], isStandalone?: boolean): string;
|
|
20
|
+
generateCustomMethods(controller: string, routes: ParsedRoute[], isStandalone?: boolean, endpoint?: string): string;
|
|
17
21
|
/**
|
|
18
22
|
* Generate type definitions from API namespace files
|
|
19
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-api-generator.d.ts","sourceRoot":"","sources":["../../src/generator/custom-api-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAG7D,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAmB;IAEvC;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAIpD
|
|
1
|
+
{"version":3,"file":"custom-api-generator.d.ts","sourceRoot":"","sources":["../../src/generator/custom-api-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAG7D,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAmB;IAEvC;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAIpD;;;;;;;;;;OAUG;IACH,qBAAqB,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,EAAE,EACrB,YAAY,GAAE,OAAe,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAClB,MAAM;IAUT;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAcjC,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,sBAAsB;IA6C9B,OAAO,CAAC,gCAAgC;CAmB3C"}
|
|
@@ -13,10 +13,15 @@ export class CustomApiGenerator {
|
|
|
13
13
|
* @param controller - Controller name
|
|
14
14
|
* @param routes - Routes for this controller
|
|
15
15
|
* @param isStandalone - Whether this is a standalone API (no collection type)
|
|
16
|
+
* @param endpoint - The collection/single endpoint segment (pluralName for
|
|
17
|
+
* collections, singularName for single types) — used to strip the leading
|
|
18
|
+
* resource prefix from route paths. When omitted, falls back to naive
|
|
19
|
+
* `controller + "s"` pluralization (kept for standalone routes only).
|
|
16
20
|
*/
|
|
17
|
-
generateCustomMethods(controller, routes, isStandalone = false) {
|
|
21
|
+
generateCustomMethods(controller, routes, isStandalone = false, endpoint) {
|
|
18
22
|
return routes
|
|
19
|
-
.map(route => '\n' +
|
|
23
|
+
.map(route => '\n' +
|
|
24
|
+
this.generateCustomMethod(route, isStandalone, endpoint))
|
|
20
25
|
.join('\n');
|
|
21
26
|
}
|
|
22
27
|
/**
|
|
@@ -30,7 +35,7 @@ export class CustomApiGenerator {
|
|
|
30
35
|
return ('// Custom API namespace types\n\n' +
|
|
31
36
|
this.customTypes.typeDefinitions.map(td => td + '\n').join('\n'));
|
|
32
37
|
}
|
|
33
|
-
generateCustomMethod(route, isStandalone = false) {
|
|
38
|
+
generateCustomMethod(route, isStandalone = false, endpoint) {
|
|
34
39
|
const customType = this.customTypes?.types.get(route.handler);
|
|
35
40
|
const inputType = customType?.inputType || 'any';
|
|
36
41
|
const outputType = customType?.outputType || 'any';
|
|
@@ -41,7 +46,7 @@ export class CustomApiGenerator {
|
|
|
41
46
|
route.method === 'PATCH';
|
|
42
47
|
const urlExpression = isStandalone
|
|
43
48
|
? `\`\${this.config.baseURL}/api${this.generateStandalonePathExpression(route)}\``
|
|
44
|
-
: `\`\${this.config.baseURL}/api/\${this.endpoint}${this.generatePathExpression(route)}\``;
|
|
49
|
+
: `\`\${this.config.baseURL}/api/\${this.endpoint}${this.generatePathExpression(route, endpoint)}\``;
|
|
45
50
|
const bodyBlock = hasBody
|
|
46
51
|
? ` // If data is FormData, use it directly; otherwise JSON stringify
|
|
47
52
|
const body = data instanceof FormData
|
|
@@ -85,18 +90,34 @@ ${bodyBlock}
|
|
|
85
90
|
}
|
|
86
91
|
return params.join(', ');
|
|
87
92
|
}
|
|
88
|
-
generatePathExpression(route) {
|
|
93
|
+
generatePathExpression(route, endpoint) {
|
|
89
94
|
// Convert path like '/items/:id/increment-run' to '/${id}/increment-run'
|
|
90
|
-
//
|
|
95
|
+
// by stripping the resource prefix that the StrapiClient base URL already
|
|
96
|
+
// contains (`${this.endpoint}`).
|
|
91
97
|
let pathTemplate = route.path;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
98
|
+
if (endpoint) {
|
|
99
|
+
// Use the real Strapi endpoint (pluralName for collections,
|
|
100
|
+
// singularName for single types) — handles irregular plurals and
|
|
101
|
+
// non-English names like `pesquisador`/`pesquisadores`.
|
|
102
|
+
const endpointPath = `/${endpoint}`;
|
|
103
|
+
if (pathTemplate.startsWith(endpointPath)) {
|
|
104
|
+
pathTemplate = pathTemplate.substring(endpointPath.length);
|
|
105
|
+
}
|
|
106
|
+
else if (pathTemplate.startsWith(`/${route.controller}`)) {
|
|
107
|
+
// Fallback: route declared under the singular controller name.
|
|
108
|
+
pathTemplate = pathTemplate.substring(route.controller.length + 1);
|
|
109
|
+
}
|
|
97
110
|
}
|
|
98
|
-
else
|
|
99
|
-
|
|
111
|
+
else {
|
|
112
|
+
// Legacy path (no endpoint hint available) — naive English
|
|
113
|
+
// pluralization. Retained for callers that don't pass the endpoint.
|
|
114
|
+
const controllerPath = `/${route.controller}s`;
|
|
115
|
+
if (pathTemplate.startsWith(controllerPath)) {
|
|
116
|
+
pathTemplate = pathTemplate.substring(controllerPath.length);
|
|
117
|
+
}
|
|
118
|
+
else if (pathTemplate.startsWith(`/${route.controller}`)) {
|
|
119
|
+
pathTemplate = pathTemplate.substring(route.controller.length + 1);
|
|
120
|
+
}
|
|
100
121
|
}
|
|
101
122
|
// Convert :param to ${param}
|
|
102
123
|
pathTemplate = pathTemplate.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, '${$1}');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-api-generator.js","sourceRoot":"","sources":["../../src/generator/custom-api-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,MAAM,OAAO,kBAAkB;IACnB,WAAW,CAAoB;IAEvC;;OAEG;IACH,cAAc,CAAC,WAA8B;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"custom-api-generator.js","sourceRoot":"","sources":["../../src/generator/custom-api-generator.ts"],"names":[],"mappings":"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"}
|