strapi-typed-client 1.6.0 → 2.0.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/README.md +2 -2
- package/dist/cli/commands/check.d.ts +2 -3
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +3 -3
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +2 -3
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +3 -3
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/watch.d.ts +2 -3
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +15 -9
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/api-client.js +4 -3
- package/dist/cli/utils/api-client.js.map +1 -1
- package/dist/cli/utils/file-writer.d.ts +8 -7
- package/dist/cli/utils/file-writer.d.ts.map +1 -1
- package/dist/cli/utils/file-writer.js +17 -61
- package/dist/cli/utils/file-writer.js.map +1 -1
- package/dist/core/endpoint-converter.d.ts +5 -1
- package/dist/core/endpoint-converter.d.ts.map +1 -1
- package/dist/core/endpoint-converter.js +114 -8
- package/dist/core/endpoint-converter.js.map +1 -1
- package/dist/generator/auth-api-generator.d.ts +11 -3
- package/dist/generator/auth-api-generator.d.ts.map +1 -1
- package/dist/generator/auth-api-generator.js +213 -220
- package/dist/generator/auth-api-generator.js.map +1 -1
- package/dist/generator/client-generator.d.ts +8 -0
- package/dist/generator/client-generator.d.ts.map +1 -1
- package/dist/generator/client-generator.js +162 -56
- package/dist/generator/client-generator.js.map +1 -1
- package/dist/generator/custom-api-generator.d.ts +1 -1
- package/dist/generator/custom-api-generator.d.ts.map +1 -1
- package/dist/generator/custom-api-generator.js +29 -5
- package/dist/generator/custom-api-generator.js.map +1 -1
- package/dist/generator/index-generator.d.ts.map +1 -1
- package/dist/generator/index-generator.js +0 -1
- package/dist/generator/index-generator.js.map +1 -1
- package/dist/generator/index.d.ts +8 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +50 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/plugin-api-generator.d.ts +2 -0
- package/dist/generator/plugin-api-generator.d.ts.map +1 -1
- package/dist/generator/plugin-api-generator.js +23 -1
- package/dist/generator/plugin-api-generator.js.map +1 -1
- package/dist/generator/plugin-registry.d.ts +5 -0
- package/dist/generator/plugin-registry.d.ts.map +1 -1
- package/dist/generator/plugin-registry.js +2 -1
- package/dist/generator/plugin-registry.js.map +1 -1
- package/dist/generator/types-generator.d.ts +13 -3
- package/dist/generator/types-generator.d.ts.map +1 -1
- package/dist/generator/types-generator.js +91 -101
- package/dist/generator/types-generator.js.map +1 -1
- package/dist/next/index.d.ts +8 -1
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +42 -45
- package/dist/next/index.js.map +1 -1
- package/dist/plugin/server/src/controllers/schema.d.ts +3 -3
- package/dist/plugin/server/src/controllers/schema.js +3 -3
- package/dist/plugin/server/src/index.d.ts +3 -3
- package/dist/plugin/server/src/index.js +3 -3
- package/dist/schema-types.d.ts +1 -1
- package/dist/schema-types.d.ts.map +1 -1
- package/dist/shared/client-header.d.ts +19 -0
- package/dist/shared/client-header.d.ts.map +1 -0
- package/dist/shared/client-header.js +58 -0
- package/dist/shared/client-header.js.map +1 -0
- package/dist/shared/constants.d.ts +5 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +5 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/package.json +9 -14
- package/dist/index.d.ts +0 -102
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -79
- package/dist/index.js.map +0 -1
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.
|
|
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 >=
|
|
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;
|
|
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,
|
|
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 (
|
|
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":"AAAA;;;GAGG;
|
|
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;
|
|
@@ -36,7 +37,5 @@ export declare function generate(options: GenerateOptions): Promise<GenerateResu
|
|
|
36
37
|
/**
|
|
37
38
|
* CLI handler for generate command
|
|
38
39
|
*/
|
|
39
|
-
export declare function createGenerateCommand(program:
|
|
40
|
-
command: (...args: any[]) => any;
|
|
41
|
-
}): void;
|
|
40
|
+
export declare function createGenerateCommand(program: Command): void;
|
|
42
41
|
//# 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;
|
|
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;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,OAAO,GAAG,IAAI,CAsD5D"}
|
|
@@ -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,
|
|
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({
|
|
@@ -183,7 +183,7 @@ 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 (
|
|
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')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
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;
|
|
@@ -14,7 +15,5 @@ export declare function watch(options: WatchOptions): Promise<void>;
|
|
|
14
15
|
/**
|
|
15
16
|
* CLI handler for watch command
|
|
16
17
|
*/
|
|
17
|
-
export declare function createWatchCommand(program:
|
|
18
|
-
command: (...args: any[]) => any;
|
|
19
|
-
}): void;
|
|
18
|
+
export declare function createWatchCommand(program: Command): void;
|
|
20
19
|
//# 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;
|
|
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;CACnB;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgCzD"}
|
|
@@ -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,
|
|
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
|
|
12
|
+
const outputDir = requireOutputDir(options.output);
|
|
13
13
|
const client = createApiClient({
|
|
14
14
|
url: options.url,
|
|
15
15
|
token: options.token,
|
|
@@ -97,15 +97,21 @@ export function createWatchCommand(program) {
|
|
|
97
97
|
.description('Watch for schema changes and regenerate types automatically')
|
|
98
98
|
.option('-u, --url <url>', 'Strapi API URL (default: STRAPI_URL env or http://localhost:1337)')
|
|
99
99
|
.option('-t, --token <token>', 'Strapi API token (default: STRAPI_TOKEN env)')
|
|
100
|
-
.option('-o, --output <path>', 'Output directory (
|
|
100
|
+
.option('-o, --output <path>', 'Output directory (required) — your source tree, e.g. ./src/strapi')
|
|
101
101
|
.option('-s, --silent', 'Suppress regeneration messages')
|
|
102
102
|
.action(async (opts) => {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
try {
|
|
104
|
+
await watch({
|
|
105
|
+
url: opts.url,
|
|
106
|
+
token: opts.token,
|
|
107
|
+
output: opts.output,
|
|
108
|
+
silent: opts.silent,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
console.error(err.message);
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
109
115
|
});
|
|
110
116
|
}
|
|
111
117
|
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/cli/commands/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/api-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACR,cAAc,EACd,YAAY,EACf,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/api-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACR,cAAc,EACd,YAAY,EACf,MAAM,qCAAqC,CAAA;AAG5C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA;AAE5C,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,gBAAgB;IAMrC,iDAAiD;IACjD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,kDAAkD;IAClD,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAUpC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAO1C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;IAO5C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAS9B;;OAEG;YACW,OAAO;CA0BxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACrC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,SAAS,CAUZ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API client for fetching schema from Strapi backend
|
|
3
3
|
*/
|
|
4
|
+
import { SCHEMA_API_PREFIX } from '../../shared/index.js';
|
|
4
5
|
export class ApiClient {
|
|
5
6
|
baseUrl;
|
|
6
7
|
token;
|
|
@@ -12,7 +13,7 @@ export class ApiClient {
|
|
|
12
13
|
}
|
|
13
14
|
/** Full URL for the SSE schema-watch endpoint */
|
|
14
15
|
get sseUrl() {
|
|
15
|
-
return `${this.baseUrl}/
|
|
16
|
+
return `${this.baseUrl}${SCHEMA_API_PREFIX}/schema-watch`;
|
|
16
17
|
}
|
|
17
18
|
/** Build request headers (auth + content-type) */
|
|
18
19
|
getHeaders() {
|
|
@@ -28,14 +29,14 @@ export class ApiClient {
|
|
|
28
29
|
* Fetch the full schema from Strapi
|
|
29
30
|
*/
|
|
30
31
|
async getSchema() {
|
|
31
|
-
const response = await this.request(
|
|
32
|
+
const response = await this.request(`${SCHEMA_API_PREFIX}/schema`);
|
|
32
33
|
return response;
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
36
|
* Fetch only the schema hash from Strapi
|
|
36
37
|
*/
|
|
37
38
|
async getSchemaHash() {
|
|
38
|
-
const response = await this.request(
|
|
39
|
+
const response = await this.request(`${SCHEMA_API_PREFIX}/schema-hash`);
|
|
39
40
|
return response;
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/cli/utils/api-client.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/cli/utils/api-client.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
|
-
*
|
|
34
|
-
*
|
|
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
|
|
39
|
+
export declare function requireOutputDir(output: string | undefined): string;
|
|
37
40
|
/**
|
|
38
|
-
* Read schema hash from the generated client.
|
|
39
|
-
*
|
|
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
|
|
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
|
-
*
|
|
62
|
-
*
|
|
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
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
|
77
|
-
*
|
|
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
|
|
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
|
|
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":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,
|
|
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;
|
|
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"}
|