strapi-typed-client 1.6.1 → 2.0.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.
Files changed (68) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/commands/check.d.ts +2 -3
  3. package/dist/cli/commands/check.d.ts.map +1 -1
  4. package/dist/cli/commands/check.js +3 -3
  5. package/dist/cli/commands/check.js.map +1 -1
  6. package/dist/cli/commands/generate.d.ts +3 -3
  7. package/dist/cli/commands/generate.d.ts.map +1 -1
  8. package/dist/cli/commands/generate.js +6 -4
  9. package/dist/cli/commands/generate.js.map +1 -1
  10. package/dist/cli/commands/watch.d.ts +3 -3
  11. package/dist/cli/commands/watch.d.ts.map +1 -1
  12. package/dist/cli/commands/watch.js +19 -9
  13. package/dist/cli/commands/watch.js.map +1 -1
  14. package/dist/cli/utils/file-writer.d.ts +8 -7
  15. package/dist/cli/utils/file-writer.d.ts.map +1 -1
  16. package/dist/cli/utils/file-writer.js +17 -61
  17. package/dist/cli/utils/file-writer.js.map +1 -1
  18. package/dist/core/endpoint-converter.d.ts +5 -1
  19. package/dist/core/endpoint-converter.d.ts.map +1 -1
  20. package/dist/core/endpoint-converter.js +114 -8
  21. package/dist/core/endpoint-converter.js.map +1 -1
  22. package/dist/generator/auth-api-generator.d.ts +11 -3
  23. package/dist/generator/auth-api-generator.d.ts.map +1 -1
  24. package/dist/generator/auth-api-generator.js +213 -220
  25. package/dist/generator/auth-api-generator.js.map +1 -1
  26. package/dist/generator/client-generator.d.ts +9 -0
  27. package/dist/generator/client-generator.d.ts.map +1 -1
  28. package/dist/generator/client-generator.js +201 -78
  29. package/dist/generator/client-generator.js.map +1 -1
  30. package/dist/generator/custom-api-generator.d.ts +1 -1
  31. package/dist/generator/custom-api-generator.d.ts.map +1 -1
  32. package/dist/generator/custom-api-generator.js +29 -5
  33. package/dist/generator/custom-api-generator.js.map +1 -1
  34. package/dist/generator/index-generator.d.ts.map +1 -1
  35. package/dist/generator/index-generator.js +0 -1
  36. package/dist/generator/index-generator.js.map +1 -1
  37. package/dist/generator/index.d.ts +18 -1
  38. package/dist/generator/index.d.ts.map +1 -1
  39. package/dist/generator/index.js +85 -9
  40. package/dist/generator/index.js.map +1 -1
  41. package/dist/generator/plugin-api-generator.d.ts +2 -0
  42. package/dist/generator/plugin-api-generator.d.ts.map +1 -1
  43. package/dist/generator/plugin-api-generator.js +23 -1
  44. package/dist/generator/plugin-api-generator.js.map +1 -1
  45. package/dist/generator/plugin-registry.d.ts +5 -0
  46. package/dist/generator/plugin-registry.d.ts.map +1 -1
  47. package/dist/generator/plugin-registry.js +2 -1
  48. package/dist/generator/plugin-registry.js.map +1 -1
  49. package/dist/generator/types-generator.d.ts +13 -3
  50. package/dist/generator/types-generator.d.ts.map +1 -1
  51. package/dist/generator/types-generator.js +91 -101
  52. package/dist/generator/types-generator.js.map +1 -1
  53. package/dist/next/index.d.ts +9 -1
  54. package/dist/next/index.d.ts.map +1 -1
  55. package/dist/next/index.js +46 -45
  56. package/dist/next/index.js.map +1 -1
  57. package/dist/schema-types.d.ts +1 -1
  58. package/dist/schema-types.d.ts.map +1 -1
  59. package/dist/shared/client-header.d.ts +19 -0
  60. package/dist/shared/client-header.d.ts.map +1 -0
  61. package/dist/shared/client-header.js +58 -0
  62. package/dist/shared/client-header.js.map +1 -0
  63. package/package.json +9 -15
  64. package/dist/index.d.ts +0 -102
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/index.js +0 -79
  67. package/dist/index.js.map +0 -1
  68. package/src/generator/templates/stringify-query.ts +0 -36
@@ -1,4 +1,19 @@
1
- import { toCamelCase } from '../shared/string-utils.js';
1
+ import { toCamelCase, toPascalCase } from '../shared/string-utils.js';
2
+ /**
3
+ * CollectionAPI / SingleTypeAPI CRUD surface. A custom route whose action
4
+ * matches one of these would override the inherited method with an
5
+ * incompatible signature (TS2416) and shadow the typed CRUD, so on a
6
+ * content-type class its generated method is name-mangled — e.g. a `create`
7
+ * action on the article controller becomes `createArticle`.
8
+ */
9
+ const RESERVED_BASE_METHODS = new Set([
10
+ 'find',
11
+ 'findOne',
12
+ 'findWithMeta',
13
+ 'create',
14
+ 'update',
15
+ 'delete',
16
+ ]);
2
17
  export class CustomApiGenerator {
3
18
  customTypes;
4
19
  /**
@@ -18,10 +33,10 @@ export class CustomApiGenerator {
18
33
  * resource prefix from route paths. When omitted, falls back to naive
19
34
  * `controller + "s"` pluralization (kept for standalone routes only).
20
35
  */
21
- generateCustomMethods(controller, routes, isStandalone = false, endpoint) {
36
+ generateCustomMethods(controller, routes, isStandalone = false, endpoint, contentTypeName) {
22
37
  return routes
23
38
  .map(route => '\n' +
24
- this.generateCustomMethod(route, isStandalone, endpoint))
39
+ this.generateCustomMethod(route, isStandalone, endpoint, contentTypeName))
25
40
  .join('\n');
26
41
  }
27
42
  /**
@@ -35,11 +50,20 @@ export class CustomApiGenerator {
35
50
  return ('// Custom API namespace types\n\n' +
36
51
  this.customTypes.typeDefinitions.map(td => td + '\n').join('\n'));
37
52
  }
38
- generateCustomMethod(route, isStandalone = false, endpoint) {
53
+ generateCustomMethod(route, isStandalone = false, endpoint, contentTypeName) {
39
54
  const customType = this.customTypes?.types.get(route.handler);
40
55
  const inputType = customType?.inputType || 'any';
41
56
  const outputType = customType?.outputType || 'any';
42
- const methodName = toCamelCase(route.action);
57
+ let methodName = toCamelCase(route.action);
58
+ // On a content-type class, a custom action sharing a base CRUD name
59
+ // would emit an incompatible override (TS2416) and hide the typed base
60
+ // method, so mangle it (create -> createArticle). Standalone classes
61
+ // extend BaseAPI, which has no CRUD surface, so they are left as-is.
62
+ if (!isStandalone &&
63
+ contentTypeName &&
64
+ RESERVED_BASE_METHODS.has(methodName)) {
65
+ methodName = methodName + toPascalCase(contentTypeName);
66
+ }
43
67
  const params = this.generateMethodParams(route, inputType);
44
68
  const hasBody = route.method === 'POST' ||
45
69
  route.method === 'PUT' ||
@@ -1 +1 @@
1
- {"version":3,"file":"custom-api-generator.js","sourceRoot":"","sources":["../../src/generator/custom-api-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-api-generator.js","sourceRoot":"","sources":["../../src/generator/custom-api-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index-generator.d.ts","sourceRoot":"","sources":["../../src/generator/index-generator.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACvB,QAAQ,IAAI,MAAM;CAUrB"}
1
+ {"version":3,"file":"index-generator.d.ts","sourceRoot":"","sources":["../../src/generator/index-generator.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACvB,QAAQ,IAAI,MAAM;CASrB"}
@@ -1,7 +1,6 @@
1
1
  export class IndexGenerator {
2
2
  generate() {
3
3
  return `/* eslint-disable */
4
- // @ts-nocheck
5
4
  // Auto-generated index file
6
5
  // Do not edit manually
7
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"index-generator.js","sourceRoot":"","sources":["../../src/generator/index-generator.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACvB,QAAQ;QACJ,OAAO;;;;;;;CAOd,CAAA;IACG,CAAC;CACJ"}
1
+ {"version":3,"file":"index-generator.js","sourceRoot":"","sources":["../../src/generator/index-generator.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACvB,QAAQ;QACJ,OAAO;;;;;;CAMd,CAAA;IACG,CAAC;CACJ"}
@@ -6,8 +6,25 @@ export declare class Generator {
6
6
  private clientGenerator;
7
7
  private indexGenerator;
8
8
  constructor(outputDir: string);
9
- generate(schema: ParsedSchema, endpoints?: ParsedEndpoint[], extraTypes?: ExtraControllerType[], schemaHash?: string, generatorVersion?: string, format?: 'js' | 'ts'): Promise<void>;
9
+ generate(schema: ParsedSchema, endpoints?: ParsedEndpoint[], extraTypes?: ExtraControllerType[], schemaHash?: string, generatorVersion?: string, format?: 'js' | 'ts', typecheck?: boolean): Promise<void>;
10
+ private ensureOutputDir;
10
11
  private formatContent;
11
12
  private compileFiles;
13
+ /**
14
+ * Block on the generated client's type errors. Default throws — broken
15
+ * types must never reach the consumer's tree; `--no-typecheck` downgrades
16
+ * to a warning and writes anyway, so a strict-only false positive can't
17
+ * wedge an upgrade with no recourse.
18
+ */
19
+ private verifyGeneratedTypes;
20
+ /**
21
+ * Type-check the generated client the way a consumer's tsc would and return
22
+ * a formatted error message, or null if clean. Run from a temp dir on disk
23
+ * so bundler resolution maps the `.js` import specifiers to the sibling
24
+ * `.ts` files — the in-memory emit program can't resolve those, so it can't
25
+ * double as the check. Strict + skipLibCheck mirrors a typical consumer
26
+ * tsconfig.
27
+ */
28
+ private collectTypeErrors;
12
29
  }
13
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAIjD,OAAO,KAAK,EACR,cAAc,EACd,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AASpC,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,SAAS,EAAE,MAAM;IAOvB,QAAQ,CACV,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,cAAc,EAAE,EAC5B,UAAU,CAAC,EAAE,mBAAmB,EAAE,EAClC,UAAU,GAAE,MAAW,EACvB,gBAAgB,GAAE,MAAW,EAC7B,MAAM,GAAE,IAAI,GAAG,IAAW,GAC3B,OAAO,CAAC,IAAI,CAAC;YA4CF,aAAa;YAgBb,YAAY;CA2D7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAIjD,OAAO,KAAK,EACR,cAAc,EACd,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AASpC,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,SAAS,EAAE,MAAM;IAOvB,QAAQ,CACV,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,cAAc,EAAE,EAC5B,UAAU,CAAC,EAAE,mBAAmB,EAAE,EAClC,UAAU,GAAE,MAAW,EACvB,gBAAgB,GAAE,MAAW,EAC7B,MAAM,GAAE,IAAI,GAAG,IAAW,EAC1B,SAAS,GAAE,OAAc,GAC1B,OAAO,CAAC,IAAI,CAAC;IAiDhB,OAAO,CAAC,eAAe;YAMT,aAAa;YAgBb,YAAY;IAsE1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAiD5B"}
@@ -1,4 +1,5 @@
1
1
  import * as fs from 'fs';
2
+ import * as os from 'os';
2
3
  import * as path from 'path';
3
4
  import * as ts from 'typescript';
4
5
  import { TypesGenerator } from './types-generator.js';
@@ -18,11 +19,7 @@ export class Generator {
18
19
  this.clientGenerator = new ClientGenerator();
19
20
  this.indexGenerator = new IndexGenerator();
20
21
  }
21
- async generate(schema, endpoints, extraTypes, schemaHash = '', generatorVersion = '', format = 'js') {
22
- // Ensure output directory exists
23
- if (!fs.existsSync(this.outputDir)) {
24
- fs.mkdirSync(this.outputDir, { recursive: true });
25
- }
22
+ async generate(schema, endpoints, extraTypes, schemaHash = '', generatorVersion = '', format = 'js', typecheck = true) {
26
23
  // Generate all source contents
27
24
  const typesContent = this.typesGenerator.generate(schema);
28
25
  const clientContent = this.clientGenerator.generate(schema, endpoints, extraTypes, schemaHash, generatorVersion);
@@ -39,13 +36,26 @@ export class Generator {
39
36
  // relative imports first: tsc under moduleResolution "bundler"
40
37
  // accepts them (resolves .js → .ts), but Turbopack (Next 16)
41
38
  // doesn't, breaking `next build`.
42
- for (const [fileName, data] of Object.entries(files)) {
43
- fs.writeFileSync(path.join(this.outputDir, fileName), stripLocalJsExtensions(data), 'utf-8');
39
+ const strippedFiles = Object.fromEntries(Object.entries(files).map(([name, data]) => [
40
+ name,
41
+ stripLocalJsExtensions(data),
42
+ ]));
43
+ // Type-check the exact bytes we're about to write, BEFORE touching
44
+ // the consumer's tree — a guard throw must leave it untouched.
45
+ this.verifyGeneratedTypes(strippedFiles, typecheck);
46
+ this.ensureOutputDir();
47
+ for (const [fileName, data] of Object.entries(strippedFiles)) {
48
+ fs.writeFileSync(path.join(this.outputDir, fileName), data, 'utf-8');
44
49
  }
45
50
  return;
46
51
  }
47
52
  // Compile all files together so cross-file imports resolve correctly
48
- await this.compileFiles(files);
53
+ await this.compileFiles(files, typecheck);
54
+ }
55
+ ensureOutputDir() {
56
+ if (!fs.existsSync(this.outputDir)) {
57
+ fs.mkdirSync(this.outputDir, { recursive: true });
58
+ }
49
59
  }
50
60
  async formatContent(content) {
51
61
  try {
@@ -63,7 +73,7 @@ export class Generator {
63
73
  return content;
64
74
  }
65
75
  }
66
- async compileFiles(files) {
76
+ async compileFiles(files, typecheck) {
67
77
  const compilerOptions = {
68
78
  target: ts.ScriptTarget.ES2022,
69
79
  module: ts.ModuleKind.ES2022,
@@ -93,14 +103,80 @@ export class Generator {
93
103
  host.writeFile = (fileName, data) => {
94
104
  outputs[fileName] = data;
95
105
  };
106
+ // The `@ts-nocheck` header is gone, so the generated client must
107
+ // type-check. Verify it the way a consumer's tsc would (on disk, where
108
+ // bundler resolution maps the `.js` import specifiers to the sibling
109
+ // `.ts`) and fail loudly rather than emit broken types into their tree.
110
+ this.verifyGeneratedTypes(files, typecheck);
96
111
  // Compile all files together
97
112
  const program = ts.createProgram(fileNames, compilerOptions, host);
98
113
  program.emit();
99
114
  // Write output files
115
+ this.ensureOutputDir();
100
116
  for (const [fileName, data] of Object.entries(outputs)) {
101
117
  const outputPath = path.join(this.outputDir, fileName);
102
118
  fs.writeFileSync(outputPath, data, 'utf-8');
103
119
  }
104
120
  }
121
+ /**
122
+ * Block on the generated client's type errors. Default throws — broken
123
+ * types must never reach the consumer's tree; `--no-typecheck` downgrades
124
+ * to a warning and writes anyway, so a strict-only false positive can't
125
+ * wedge an upgrade with no recourse.
126
+ */
127
+ verifyGeneratedTypes(files, typecheck) {
128
+ const message = this.collectTypeErrors(files);
129
+ if (!message)
130
+ return;
131
+ if (typecheck)
132
+ throw new Error(message);
133
+ console.warn(`${message}\n(--no-typecheck set: writing anyway.)`);
134
+ }
135
+ /**
136
+ * Type-check the generated client the way a consumer's tsc would and return
137
+ * a formatted error message, or null if clean. Run from a temp dir on disk
138
+ * so bundler resolution maps the `.js` import specifiers to the sibling
139
+ * `.ts` files — the in-memory emit program can't resolve those, so it can't
140
+ * double as the check. Strict + skipLibCheck mirrors a typical consumer
141
+ * tsconfig.
142
+ */
143
+ collectTypeErrors(files) {
144
+ const checkDir = fs.mkdtempSync(path.join(os.tmpdir(), 'strapi-types-check-'));
145
+ try {
146
+ for (const [name, content] of Object.entries(files)) {
147
+ fs.writeFileSync(path.join(checkDir, name), content, 'utf-8');
148
+ }
149
+ const rootNames = Object.keys(files).map(n => path.join(checkDir, n));
150
+ const program = ts.createProgram(rootNames, {
151
+ target: ts.ScriptTarget.ES2022,
152
+ module: ts.ModuleKind.ES2022,
153
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
154
+ strict: true,
155
+ skipLibCheck: true,
156
+ noEmit: true,
157
+ });
158
+ const diagnostics = ts
159
+ .getPreEmitDiagnostics(program)
160
+ .filter(d => d.file && d.file.fileName.startsWith(checkDir));
161
+ if (diagnostics.length === 0)
162
+ return null;
163
+ const details = diagnostics
164
+ .map(d => {
165
+ const msg = ts.flattenDiagnosticMessageText(d.messageText, '\n');
166
+ const loc = d.file && d.start !== undefined
167
+ ? `${path.basename(d.file.fileName)}:${d.file.getLineAndCharacterOfPosition(d.start)
168
+ .line + 1} `
169
+ : '';
170
+ return ` ${loc}TS${d.code}: ${msg}`;
171
+ })
172
+ .join('\n');
173
+ return (`Generated client failed type-checking (${diagnostics.length} error(s)). ` +
174
+ `This is a strapi-typed-client bug — please report it. ` +
175
+ `If it's a false positive under your setup, bypass with --no-typecheck.\n${details}`);
176
+ }
177
+ finally {
178
+ fs.rmSync(checkDir, { recursive: true, force: true });
179
+ }
180
+ }
105
181
  }
106
182
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export declare class PluginApiGenerator {
18
18
  generateAllPluginClasses(contracts?: PluginContract[]): string;
19
19
  private generatePluginClass;
20
20
  private generateMethod;
21
+ /** Argument names (no types) for delegating to the renamed method. */
22
+ private buildArgNames;
21
23
  private buildParameters;
22
24
  private buildUrlLines;
23
25
  private buildRequestOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api-generator.d.ts","sourceRoot":"","sources":["../../src/generator/plugin-api-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,cAAc,EAEjB,MAAM,sBAAsB,CAAA;AAE7B;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC3B;;;;;OAKG;IACH,wBAAwB,CACpB,SAAS,GAAE,cAAc,EAAoB,GAC9C,MAAM;IAMT,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,eAAe;CAO1B"}
1
+ {"version":3,"file":"plugin-api-generator.d.ts","sourceRoot":"","sources":["../../src/generator/plugin-api-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,cAAc,EAEjB,MAAM,sBAAsB,CAAA;AAE7B;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC3B;;;;;OAKG;IACH,wBAAwB,CACpB,SAAS,GAAE,cAAc,EAAoB,GAC9C,MAAM;IAMT,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,cAAc;IA0BtB,sEAAsE;IACtE,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,eAAe;CAO1B"}
@@ -39,11 +39,33 @@ ${methods}
39
39
  const reqOptions = this.buildRequestOptions(ep);
40
40
  const docComment = this.buildDocComment(ep);
41
41
  const indentedUrl = urlLines.map(line => ` ${line}`).join('\n');
42
- return `${docComment}
42
+ const method = `${docComment}
43
43
  async ${ep.methodName}(${params}): Promise<${ep.responseType}> {
44
44
  ${indentedUrl}
45
45
  return this.request<${ep.responseType}>(url, ${reqOptions}, nextOptions, '${errorPrefix}')
46
46
  }`;
47
+ if (!ep.deprecatedAlias)
48
+ return method;
49
+ return `${method}
50
+
51
+ /**
52
+ * @deprecated Use \`${ep.methodName}()\` instead. Will be removed in a future major.
53
+ */
54
+ async ${ep.deprecatedAlias}(${params}): Promise<${ep.responseType}> {
55
+ return this.${ep.methodName}(${this.buildArgNames(ep)})
56
+ }`;
57
+ }
58
+ /** Argument names (no types) for delegating to the renamed method. */
59
+ buildArgNames(ep) {
60
+ const names = [];
61
+ if (ep.paramTypes)
62
+ names.push(...Object.keys(ep.paramTypes));
63
+ if (ep.bodyType)
64
+ names.push('body');
65
+ if (ep.queryType)
66
+ names.push('params');
67
+ names.push('nextOptions');
68
+ return names.join(', ');
47
69
  }
48
70
  buildParameters(ep) {
49
71
  const parts = [];
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api-generator.js","sourceRoot":"","sources":["../../src/generator/plugin-api-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-api-generator.js","sourceRoot":"","sources":["../../src/generator/plugin-api-generator.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,11 @@ export interface PluginEndpoint {
34
34
  responseType: string;
35
35
  /** Optional one-line description used as a JSDoc comment on the method. */
36
36
  description?: string;
37
+ /**
38
+ * Optional former name kept as a `@deprecated` alias that delegates to
39
+ * `methodName`. Used to rename a method without breaking consumers.
40
+ */
41
+ deprecatedAlias?: string;
37
42
  }
38
43
  export interface PluginContract {
39
44
  /** Strapi plugin name (informational, not used for routing). */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/generator/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAc;IAC3B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB;IACnB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IACnD;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAA;IACtB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAA;IACnB,qCAAqC;IACrC,SAAS,EAAE,cAAc,EAAE,CAAA;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,EA4C3C,CAAA"}
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/generator/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAc;IAC3B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB;IACnB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IACnD;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAA;IACpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAA;IACtB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAA;IACnB,qCAAqC;IACrC,SAAS,EAAE,cAAc,EAAE,CAAA;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,EA6C3C,CAAA"}
@@ -46,7 +46,8 @@ export const PLUGIN_REGISTRY = [
46
46
  description: 'Get a single uploaded file by numeric id.',
47
47
  },
48
48
  {
49
- methodName: 'destroy',
49
+ methodName: 'delete',
50
+ deprecatedAlias: 'destroy',
50
51
  method: 'DELETE',
51
52
  path: '/upload/files/:id',
52
53
  paramTypes: { id: 'number' },
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/generator/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqCH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC7C;QACI,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE;YACP;gBACI,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,aAAa;gBAC3B,WAAW,EACP,6DAA6D;aACpE;YACD;gBACI,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,mBAAmB;gBAC9B,YAAY,EAAE,aAAa;gBAC3B,WAAW,EACP,6EAA6E;aACpF;YACD;gBACI,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;gBAC5B,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,2CAA2C;aAC3D;YACD;gBACI,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;gBAC5B,YAAY,EAAE,WAAW;gBACzB,WAAW,EACP,kEAAkE;aACzE;SACJ;KACJ;CACJ,CAAA"}
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/generator/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA0CH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC7C;QACI,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE;YACP;gBACI,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,aAAa;gBAC3B,WAAW,EACP,6DAA6D;aACpE;YACD;gBACI,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,mBAAmB;gBAC9B,YAAY,EAAE,aAAa;gBAC3B,WAAW,EACP,6EAA6E;aACpF;YACD;gBACI,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;gBAC5B,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,2CAA2C;aAC3D;YACD;gBACI,UAAU,EAAE,QAAQ;gBACpB,eAAe,EAAE,SAAS;gBAC1B,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;gBAC5B,YAAY,EAAE,WAAW;gBACzB,WAAW,EACP,kEAAkE;aACzE;SACJ;KACJ;CACJ,CAAA"}
@@ -10,11 +10,21 @@ export declare class TypesGenerator {
10
10
  private addDefaultsConst;
11
11
  private addComponentInterface;
12
12
  private addComponentDzAlias;
13
- private addComponentDzInputAlias;
13
+ private addComponentDzInputAliases;
14
14
  private collectDzComponentUids;
15
- private addComponentInputInterface;
15
+ private addComponentInputInterfaces;
16
+ /**
17
+ * Shared property list for `*CreateInput` / `*UpdateInput`. In create mode a
18
+ * required *scalar* drops its `?` (and `| null`); update mode is fully
19
+ * partial (every key optional). Required-ness is enforced for scalars only —
20
+ * Strapi does not validate `required` on relations/media/components at the
21
+ * REST layer, so forcing those keys would reject payloads it accepts.
22
+ * Components / dynamic zones still split so their nested required scalars
23
+ * are enforced in the Create variant.
24
+ */
25
+ private buildInputProperties;
16
26
  private addContentTypeInterface;
17
- private addInputTypeInterface;
27
+ private addInputTypeInterfaces;
18
28
  private addPopulateParams;
19
29
  private buildPopulateParamTypeBody;
20
30
  private addPayloadUtilityTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../src/generator/types-generator.ts"],"names":[],"mappings":"AACA,OAAO,EACH,YAAY,EAIf,MAAM,oBAAoB,CAAA;AAc3B,qBAAa,cAAc;IACvB,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAC,CAAc;;IAM7B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IA8GtC,OAAO,CAAC,iBAAiB;IA0MzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,0BAA0B;IA+ClC,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,0BAA0B;IA+DlC,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuC/B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2CjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyE7B,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAqB/B"}
1
+ {"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../src/generator/types-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,YAAY,EAIf,MAAM,oBAAoB,CAAA;AAc3B,qBAAa,cAAc;IACvB,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAC,CAAc;;IAM7B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IA6GtC,OAAO,CAAC,iBAAiB;IA0MzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,2BAA2B;IAcnC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,0BAA0B;IA+DlC,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuC/B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2CjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyE7B,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAqB/B"}