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
package/README.md CHANGED
@@ -31,7 +31,7 @@ Generate into your source tree and commit the result:
31
31
  npx strapi-types generate --url http://localhost:1337 --output ./src/strapi
32
32
  ```
33
33
 
34
- Committed types survive reinstalls and show up as reviewable diffs. (Omit `--output` for a quick trial that writes into `node_modules` instead — ephemeral, wiped on reinstall.)
34
+ Committed types survive reinstalls and show up as reviewable diffs.
35
35
 
36
36
  ### 4. Use
37
37
 
@@ -69,7 +69,7 @@ articles[0].category.name // fully typed
69
69
  ## Requirements
70
70
 
71
71
  - **Strapi v5**
72
- - **Node.js >= 18**
72
+ - **Node.js >= 22**
73
73
 
74
74
  ## Documentation
75
75
 
@@ -2,6 +2,7 @@
2
2
  * Check command - verifies that local types are in sync with remote schema
3
3
  * Returns exit code 0 if in sync, 1 if out of sync
4
4
  */
5
+ import type { Command } from 'commander';
5
6
  export interface CheckOptions {
6
7
  url?: string;
7
8
  token?: string;
@@ -21,7 +22,5 @@ export declare function check(options: CheckOptions): Promise<CheckResult>;
21
22
  /**
22
23
  * CLI handler for check command
23
24
  */
24
- export declare function createCheckCommand(program: {
25
- command: (...args: any[]) => any;
26
- }): void;
25
+ export declare function createCheckCommand(program: Command): void;
27
26
  //# sourceMappingURL=check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,WAAW,YAAY;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA6EvE;AASD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CACnC,GAAG,IAAI,CA2CP"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASxC,MAAM,WAAW,YAAY;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA6EvE;AASD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2CzD"}
@@ -3,14 +3,14 @@
3
3
  * Returns exit code 0 if in sync, 1 if out of sync
4
4
  */
5
5
  import { createApiClient } from '../utils/api-client.js';
6
- import { readLocalSchemaHash, readLocalGeneratorVersion, getDefaultOutputDir, } from '../utils/file-writer.js';
6
+ import { readLocalSchemaHash, readLocalGeneratorVersion, requireOutputDir, } from '../utils/file-writer.js';
7
7
  import { getGeneratorVersion } from '../../shared/version.js';
8
8
  /**
9
9
  * Check if local types are in sync with remote schema
10
10
  */
11
11
  export async function check(options) {
12
- const outputDir = options.output || getDefaultOutputDir();
13
12
  try {
13
+ const outputDir = requireOutputDir(options.output);
14
14
  // Read local hash
15
15
  const localHash = readLocalSchemaHash(outputDir);
16
16
  if (!localHash) {
@@ -80,7 +80,7 @@ export function createCheckCommand(program) {
80
80
  .description('Check if local types are in sync with remote Strapi schema')
81
81
  .option('-u, --url <url>', 'Strapi API URL (default: STRAPI_URL env or http://localhost:1337)')
82
82
  .option('-t, --token <token>', 'Strapi API token (default: STRAPI_TOKEN env)')
83
- .option('-o, --output <path>', 'Output directory to check (default: node_modules/strapi-typed-client/dist)')
83
+ .option('-o, --output <path>', 'Output directory to check (required) — where you generated, e.g. ./src/strapi')
84
84
  .option('-s, --silent', 'Suppress output messages')
85
85
  .action(async (opts) => {
86
86
  const result = await check({
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Generate command - generates TypeScript types from Strapi schema
3
3
  */
4
+ import type { Command } from 'commander';
4
5
  export interface GenerateOptions {
5
6
  url?: string;
6
7
  token?: string;
@@ -8,6 +9,7 @@ export interface GenerateOptions {
8
9
  silent?: boolean;
9
10
  force?: boolean;
10
11
  format?: 'js' | 'ts';
12
+ typecheck?: boolean;
11
13
  }
12
14
  export interface GenerateResult {
13
15
  success: boolean;
@@ -36,7 +38,5 @@ export declare function generate(options: GenerateOptions): Promise<GenerateResu
36
38
  /**
37
39
  * CLI handler for generate command
38
40
  */
39
- export declare function createGenerateCommand(program: {
40
- command: (...args: any[]) => any;
41
- }): void;
41
+ export declare function createGenerateCommand(program: Command): void;
42
42
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,MAAM,WAAW,eAAe;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CACvB;AA+BD,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAOV;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC1B,OAAO,EAAE,eAAe,GACzB,OAAO,CAAC,cAAc,CAAC,CAgLzB;AAWD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CACnC,GAAG,IAAI,CAsDP"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,MAAM,WAAW,eAAe;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AA+BD,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAOV;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC1B,OAAO,EAAE,eAAe,GACzB,OAAO,CAAC,cAAc,CAAC,CAiLzB;AAYD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2D5D"}
@@ -4,7 +4,7 @@
4
4
  import * as fs from 'fs';
5
5
  import * as path from 'path';
6
6
  import { createApiClient } from '../utils/api-client.js';
7
- import { readLocalSchemaHash, readLocalGeneratorVersion, getDefaultOutputDir, } from '../utils/file-writer.js';
7
+ import { readLocalSchemaHash, readLocalGeneratorVersion, requireOutputDir, } from '../utils/file-writer.js';
8
8
  import { Generator } from '../../generator/index.js';
9
9
  import { transformSchema } from '../../core/schema-transformer.js';
10
10
  import { getGeneratorVersion } from '../../shared/version.js';
@@ -50,10 +50,10 @@ export function isGeneratedOutputFresh(params) {
50
50
  * Generate types from Strapi API
51
51
  */
52
52
  export async function generate(options) {
53
- const outputDir = options.output || getDefaultOutputDir();
54
53
  const format = options.format ?? 'js';
55
54
  const filesWritten = [];
56
55
  try {
56
+ const outputDir = requireOutputDir(options.output);
57
57
  assertOutputDirForFormat(outputDir, format);
58
58
  // Create API client
59
59
  const client = createApiClient({
@@ -140,7 +140,7 @@ export async function generate(options) {
140
140
  console.log('Generating TypeScript types...');
141
141
  }
142
142
  const generator = new Generator(outputDir);
143
- await generator.generate(parsedSchema, endpoints, extraTypes, hash, getGeneratorVersion(), format);
143
+ await generator.generate(parsedSchema, endpoints, extraTypes, hash, getGeneratorVersion(), format, options.typecheck ?? true);
144
144
  // Track generated files
145
145
  const emittedFiles = format === 'ts'
146
146
  ? ['types.ts', 'client.ts', 'index.ts']
@@ -183,10 +183,11 @@ export function createGenerateCommand(program) {
183
183
  .description('Generate TypeScript types from Strapi schema')
184
184
  .option('-u, --url <url>', 'Strapi API URL (default: STRAPI_URL env or http://localhost:1337)')
185
185
  .option('-t, --token <token>', 'Strapi API token (default: STRAPI_TOKEN env)')
186
- .option('-o, --output <path>', 'Output directory (default: node_modules/strapi-typed-client/dist)')
186
+ .option('-o, --output <path>', 'Output directory (required) — your source tree, e.g. ./src/strapi')
187
187
  .option('-s, --silent', 'Suppress output messages')
188
188
  .option('-f, --force', 'Force regeneration even if schema unchanged')
189
189
  .option('--format <js|ts>', 'Output format: js (compiled .js + .d.ts, default) or ts (raw .ts for monorepo/source-tree output)', 'js')
190
+ .option('--no-typecheck', 'Write the generated client even if it fails type-checking (escape hatch for strict-only false positives)')
190
191
  .action(async (opts) => {
191
192
  if (opts.format && opts.format !== 'js' && opts.format !== 'ts') {
192
193
  console.error(`Invalid --format value: ${opts.format}. Expected 'js' or 'ts'.`);
@@ -199,6 +200,7 @@ export function createGenerateCommand(program) {
199
200
  silent: opts.silent,
200
201
  force: opts.force,
201
202
  format: opts.format,
203
+ typecheck: opts.typecheck,
202
204
  });
203
205
  if (!result.success) {
204
206
  console.error('Generation failed:', result.error);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * Watch command - connects to SSE stream and regenerates types on schema changes
3
3
  */
4
+ import type { Command } from 'commander';
4
5
  export interface WatchOptions {
5
6
  url?: string;
6
7
  token?: string;
7
8
  output?: string;
8
9
  silent?: boolean;
10
+ typecheck?: boolean;
9
11
  }
10
12
  /**
11
13
  * Watch for schema changes via SSE
@@ -14,7 +16,5 @@ export declare function watch(options: WatchOptions): Promise<void>;
14
16
  /**
15
17
  * CLI handler for watch command
16
18
  */
17
- export declare function createWatchCommand(program: {
18
- command: (...args: any[]) => any;
19
- }): void;
19
+ export declare function createWatchCommand(program: Command): void;
20
20
  //# sourceMappingURL=watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,MAAM,WAAW,YAAY;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CACnC,GAAG,IAAI,CA2BP"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,MAAM,WAAW,YAAY;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqCzD"}
@@ -2,14 +2,14 @@
2
2
  * Watch command - connects to SSE stream and regenerates types on schema changes
3
3
  */
4
4
  import { createApiClient } from '../utils/api-client.js';
5
- import { readLocalSchemaHash, getDefaultOutputDir, } from '../utils/file-writer.js';
5
+ import { readLocalSchemaHash, requireOutputDir } from '../utils/file-writer.js';
6
6
  import { SseConnection } from '../../shared/sse-client.js';
7
7
  import { generate } from './generate.js';
8
8
  /**
9
9
  * Watch for schema changes via SSE
10
10
  */
11
11
  export async function watch(options) {
12
- const outputDir = options.output || getDefaultOutputDir();
12
+ const outputDir = requireOutputDir(options.output);
13
13
  const client = createApiClient({
14
14
  url: options.url,
15
15
  token: options.token,
@@ -30,6 +30,7 @@ export async function watch(options) {
30
30
  token: options.token,
31
31
  output: outputDir,
32
32
  silent: options.silent,
33
+ typecheck: options.typecheck,
33
34
  });
34
35
  }
35
36
  let lastHash = readLocalSchemaHash(outputDir);
@@ -53,6 +54,7 @@ export async function watch(options) {
53
54
  token: options.token,
54
55
  output: outputDir,
55
56
  silent: true,
57
+ typecheck: options.typecheck,
56
58
  });
57
59
  if (result.success) {
58
60
  console.log('Types regenerated successfully.\n');
@@ -97,15 +99,23 @@ export function createWatchCommand(program) {
97
99
  .description('Watch for schema changes and regenerate types automatically')
98
100
  .option('-u, --url <url>', 'Strapi API URL (default: STRAPI_URL env or http://localhost:1337)')
99
101
  .option('-t, --token <token>', 'Strapi API token (default: STRAPI_TOKEN env)')
100
- .option('-o, --output <path>', 'Output directory (default: node_modules/strapi-typed-client/dist)')
102
+ .option('-o, --output <path>', 'Output directory (required) — your source tree, e.g. ./src/strapi')
101
103
  .option('-s, --silent', 'Suppress regeneration messages')
104
+ .option('--no-typecheck', 'Write regenerated types even if they fail type-checking (escape hatch for strict-only false positives)')
102
105
  .action(async (opts) => {
103
- await watch({
104
- url: opts.url,
105
- token: opts.token,
106
- output: opts.output,
107
- silent: opts.silent,
108
- });
106
+ try {
107
+ await watch({
108
+ url: opts.url,
109
+ token: opts.token,
110
+ output: opts.output,
111
+ silent: opts.silent,
112
+ typecheck: opts.typecheck,
113
+ });
114
+ }
115
+ catch (err) {
116
+ console.error(err.message);
117
+ process.exit(1);
118
+ }
109
119
  });
110
120
  }
111
121
  //# sourceMappingURL=watch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"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"}
@@ -30,15 +30,16 @@ export declare function writeFiles(files: Array<{
30
30
  content: string;
31
31
  }>): WriteResult[];
32
32
  /**
33
- * Resolve default output directory: package dist/ in node_modules.
34
- * Falls back to ./dist when the package can't be resolved (e.g. local dev).
33
+ * Require an explicit output directory. The generated client is meant to be
34
+ * written into your source tree and committed there is no implicit
35
+ * node_modules default (a reinstall would wipe it). Throws an actionable error
36
+ * when no output was given, so both the CLI and programmatic callers fail loudly
37
+ * instead of silently writing somewhere unexpected.
35
38
  */
36
- export declare function getDefaultOutputDir(): string;
39
+ export declare function requireOutputDir(output: string | undefined): string;
37
40
  /**
38
- * Read schema hash from the generated client. Tries client.ts (raw, .ts mode)
39
- * first, then client.js (compiled, .js mode). SCHEMA_HASH is baked into the
40
- * client at generation time as the first export — reading the file head is
41
- * enough and avoids parsing the full client.
41
+ * Read schema hash from the generated client. SCHEMA_HASH is baked into the
42
+ * client at generation time as the first export.
42
43
  */
43
44
  export declare function readLocalSchemaHash(outputDir: string): string | null;
44
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"file-writer.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/file-writer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CASxE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACtB,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAChD,WAAW,EAAE,CAgBf;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAU5C;AA4BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E"}
1
+ {"version":3,"file":"file-writer.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/file-writer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CASxE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACtB,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAChD,WAAW,EAAE,CAgBf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E"}
@@ -2,8 +2,8 @@
2
2
  * File writer utilities for CLI output
3
3
  */
4
4
  import * as fs from 'fs';
5
- import { createRequire } from 'module';
6
5
  import * as path from 'path';
6
+ import { readClientHeaderConst } from '../../shared/client-header.js';
7
7
  /**
8
8
  * Ensure directory exists
9
9
  */
@@ -58,54 +58,27 @@ export function writeFiles(files) {
58
58
  return results;
59
59
  }
60
60
  /**
61
- * Resolve default output directory: package dist/ in node_modules.
62
- * Falls back to ./dist when the package can't be resolved (e.g. local dev).
61
+ * Require an explicit output directory. The generated client is meant to be
62
+ * written into your source tree and committed there is no implicit
63
+ * node_modules default (a reinstall would wipe it). Throws an actionable error
64
+ * when no output was given, so both the CLI and programmatic callers fail loudly
65
+ * instead of silently writing somewhere unexpected.
63
66
  */
64
- export function getDefaultOutputDir() {
65
- try {
66
- const _require = createRequire(path.resolve(process.cwd(), 'package.json'));
67
- const pkgJsonPath = _require.resolve('strapi-typed-client/package.json');
68
- return path.join(path.dirname(pkgJsonPath), 'dist');
69
- }
70
- catch {
71
- return './dist';
67
+ export function requireOutputDir(output) {
68
+ if (!output || !output.trim()) {
69
+ throw new Error('No output directory specified.\n' +
70
+ 'Pass --output pointing at your source tree, e.g.:\n' +
71
+ ' strapi-types generate --output ./src/strapi --format ts\n' +
72
+ 'Generated code is meant to be committed to your repo, not written into node_modules.');
72
73
  }
74
+ return output.trim();
73
75
  }
74
- const HEADER_HEAD_BYTES = 512;
75
76
  /**
76
- * Read the first N bytes of a file without loading the whole thing.
77
- * SCHEMA_HASH is emitted at the top of client.ts/client.js so this is enough.
78
- */
79
- function readFileHead(filePath, bytes) {
80
- let fd;
81
- try {
82
- fd = fs.openSync(filePath, 'r');
83
- const buf = Buffer.alloc(bytes);
84
- const read = fs.readSync(fd, buf, 0, bytes, 0);
85
- return buf.slice(0, read).toString('utf-8');
86
- }
87
- catch {
88
- return null;
89
- }
90
- finally {
91
- if (fd !== undefined) {
92
- try {
93
- fs.closeSync(fd);
94
- }
95
- catch {
96
- /* ignore */
97
- }
98
- }
99
- }
100
- }
101
- /**
102
- * Read schema hash from the generated client. Tries client.ts (raw, .ts mode)
103
- * first, then client.js (compiled, .js mode). SCHEMA_HASH is baked into the
104
- * client at generation time as the first export — reading the file head is
105
- * enough and avoids parsing the full client.
77
+ * Read schema hash from the generated client. SCHEMA_HASH is baked into the
78
+ * client at generation time as the first export.
106
79
  */
107
80
  export function readLocalSchemaHash(outputDir) {
108
- return readLocalHeaderConst(outputDir, 'SCHEMA_HASH');
81
+ return readClientHeaderConst(outputDir, 'SCHEMA_HASH');
109
82
  }
110
83
  /**
111
84
  * Read the GENERATOR_VERSION baked into the generated client at generation
@@ -114,23 +87,6 @@ export function readLocalSchemaHash(outputDir) {
114
87
  * clients generated before version stamping was introduced).
115
88
  */
116
89
  export function readLocalGeneratorVersion(outputDir) {
117
- return readLocalHeaderConst(outputDir, 'GENERATOR_VERSION');
118
- }
119
- /**
120
- * Read a `export const <NAME> = '<value>'` baked into the generated client
121
- * header. Both SCHEMA_HASH and GENERATOR_VERSION live in the first bytes of
122
- * client.ts/client.js, so reading the head is enough.
123
- */
124
- function readLocalHeaderConst(outputDir, name) {
125
- const re = new RegExp(`${name}\\s*=\\s*['"]([^'"]*)['"]`);
126
- for (const file of ['client.ts', 'client.js']) {
127
- const head = readFileHead(path.join(outputDir, file), HEADER_HEAD_BYTES);
128
- if (!head)
129
- continue;
130
- const match = head.match(re);
131
- if (match)
132
- return match[1];
133
- }
134
- return null;
90
+ return readClientHeaderConst(outputDir, 'GENERATOR_VERSION');
135
91
  }
136
92
  //# sourceMappingURL=file-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../../src/cli/utils/file-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../../src/cli/utils/file-writer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAQrE;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IACvD,IAAI,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjC,6GAA6G;QAC7G,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAc,EAAE,CAAA;IACpE,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACrC,IAAI,CAAC;QACD,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACvC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACtB,KAA+C;IAE/C,MAAM,OAAO,GAAkB,EAAE,CAAA;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CACT,mBAAmB,IAAI,CAAC,IAAI,GAAG,EAC/B,MAAM,CAAC,KAAK,EAAE,OAAO,CACxB,CAAA;QACL,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAA;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IACvD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,kCAAkC;YAC9B,qDAAqD;YACrD,6DAA6D;YAC7D,sFAAsF,CAC7F,CAAA;IACL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACjD,OAAO,qBAAqB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACvD,OAAO,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;AAChE,CAAC"}
@@ -21,6 +21,10 @@ export declare function convertEndpointsToRoutes(endpoints: ParsedEndpoint[]): P
21
21
  *
22
22
  * Extracts inline type definitions from endpoint types (body/response)
23
23
  * and creates handler-to-type mappings.
24
+ *
25
+ * `knownTypeNames` is the set of type names the generated client defines
26
+ * (content-type + component cleanNames, MediaFile, extra controller types) so
27
+ * the sanitizer can tell a resolvable reference from a dangling one.
24
28
  */
25
- export declare function convertEndpointsToCustomTypes(endpoints: ParsedEndpoint[], extraTypes?: ExtraControllerType[]): ParsedCustomTypes;
29
+ export declare function convertEndpointsToCustomTypes(endpoints: ParsedEndpoint[], extraTypes?: ExtraControllerType[], knownTypeNames?: Set<string>): ParsedCustomTypes;
26
30
  //# sourceMappingURL=endpoint-converter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-converter.d.ts","sourceRoot":"","sources":["../../src/core/endpoint-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACR,cAAc,EACd,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,KAAK,EACR,iBAAiB,EAEpB,MAAM,2BAA2B,CAAA;AAMlC;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,cAAc,EAAE,GAC5B,YAAY,CAyBd;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,cAAc,EAAE,EAC3B,UAAU,CAAC,EAAE,mBAAmB,EAAE,GACnC,iBAAiB,CA2GnB"}
1
+ {"version":3,"file":"endpoint-converter.d.ts","sourceRoot":"","sources":["../../src/core/endpoint-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACR,cAAc,EACd,mBAAmB,EACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,KAAK,EACR,iBAAiB,EAEpB,MAAM,2BAA2B,CAAA;AAMlC;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,cAAc,EAAE,GAC5B,YAAY,CAyBd;AAoFD;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,cAAc,EAAE,EAC3B,UAAU,CAAC,EAAE,mBAAmB,EAAE,EAClC,cAAc,GAAE,GAAG,CAAC,MAAM,CAAa,GACxC,iBAAiB,CA4InB"}