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.
- 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 +3 -3
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +6 -4
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/watch.d.ts +3 -3
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +19 -9
- package/dist/cli/commands/watch.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 +9 -0
- package/dist/generator/client-generator.d.ts.map +1 -1
- package/dist/generator/client-generator.js +201 -78
- 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 +18 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +85 -9
- 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 +9 -1
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +46 -45
- package/dist/next/index.js.map +1 -1
- 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/package.json +9 -15
- 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/src/generator/templates/stringify-query.ts +0 -36
|
@@ -35,13 +35,90 @@ export function convertEndpointsToRoutes(endpoints) {
|
|
|
35
35
|
}
|
|
36
36
|
return { byController, all };
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* TS built-in / global type names that are always valid in a type expression
|
|
40
|
+
* and must never be treated as unresolved. Primitives (string, number, …) are
|
|
41
|
+
* lowercase so they aren't matched by the capitalised-identifier scan.
|
|
42
|
+
*/
|
|
43
|
+
const TS_BUILTIN_TYPES = new Set([
|
|
44
|
+
'Array',
|
|
45
|
+
'ReadonlyArray',
|
|
46
|
+
'Record',
|
|
47
|
+
'Partial',
|
|
48
|
+
'Required',
|
|
49
|
+
'Readonly',
|
|
50
|
+
'Pick',
|
|
51
|
+
'Omit',
|
|
52
|
+
'Exclude',
|
|
53
|
+
'Extract',
|
|
54
|
+
'NonNullable',
|
|
55
|
+
'Parameters',
|
|
56
|
+
'ReturnType',
|
|
57
|
+
'InstanceType',
|
|
58
|
+
'Awaited',
|
|
59
|
+
'Promise',
|
|
60
|
+
'Map',
|
|
61
|
+
'Set',
|
|
62
|
+
'WeakMap',
|
|
63
|
+
'WeakSet',
|
|
64
|
+
'Date',
|
|
65
|
+
'RegExp',
|
|
66
|
+
'Error',
|
|
67
|
+
'Object',
|
|
68
|
+
'String',
|
|
69
|
+
'Number',
|
|
70
|
+
'Boolean',
|
|
71
|
+
'Function',
|
|
72
|
+
'Symbol',
|
|
73
|
+
'BigInt',
|
|
74
|
+
'Uint8Array',
|
|
75
|
+
'ArrayBuffer',
|
|
76
|
+
'Blob',
|
|
77
|
+
'File',
|
|
78
|
+
'FormData',
|
|
79
|
+
]);
|
|
80
|
+
/**
|
|
81
|
+
* Custom-endpoint type strings are scraped verbatim from controller source, so
|
|
82
|
+
* they can reference named types that only exist in the controller's module
|
|
83
|
+
* (imported, never shipped) — emitting those would produce `Cannot find name`
|
|
84
|
+
* errors. Replace any capitalised identifier that isn't a TS built-in or a
|
|
85
|
+
* known generated/local type with `unknown` so the client always compiles.
|
|
86
|
+
* Full cross-module resolution is deferred to the ts-morph Endpoints parser.
|
|
87
|
+
*
|
|
88
|
+
* Heuristic and deliberately conservative: string literals are masked so names
|
|
89
|
+
* inside them are left alone, and identifiers in object-key position (followed
|
|
90
|
+
* by `:`) are treated as keys, not type references. Collects the names it
|
|
91
|
+
* dropped into `unresolved`.
|
|
92
|
+
*/
|
|
93
|
+
function sanitizeTypeRefs(typeStr, known, unresolved) {
|
|
94
|
+
// Mask string literals ('...' / "...") so identifiers inside them survive.
|
|
95
|
+
const literals = [];
|
|
96
|
+
const masked = typeStr.replace(/'[^']*'|"[^"]*"/g, m => {
|
|
97
|
+
literals.push(m);
|
|
98
|
+
return `${literals.length - 1}`;
|
|
99
|
+
});
|
|
100
|
+
const scanned = masked.replace(/\b[A-Z][A-Za-z0-9_]*\b/g, (name, offset, full) => {
|
|
101
|
+
// Skip object keys / labels: identifier immediately followed by `:`.
|
|
102
|
+
if (/^\s*:/.test(full.slice(offset + name.length)))
|
|
103
|
+
return name;
|
|
104
|
+
if (TS_BUILTIN_TYPES.has(name) || known.has(name))
|
|
105
|
+
return name;
|
|
106
|
+
unresolved.add(name);
|
|
107
|
+
return 'unknown';
|
|
108
|
+
});
|
|
109
|
+
return scanned.replace(/(\d+)/g, (_, i) => literals[Number(i)]);
|
|
110
|
+
}
|
|
38
111
|
/**
|
|
39
112
|
* Convert ParsedEndpoint[] to ParsedCustomTypes format
|
|
40
113
|
*
|
|
41
114
|
* Extracts inline type definitions from endpoint types (body/response)
|
|
42
115
|
* and creates handler-to-type mappings.
|
|
116
|
+
*
|
|
117
|
+
* `knownTypeNames` is the set of type names the generated client defines
|
|
118
|
+
* (content-type + component cleanNames, MediaFile, extra controller types) so
|
|
119
|
+
* the sanitizer can tell a resolvable reference from a dangling one.
|
|
43
120
|
*/
|
|
44
|
-
export function convertEndpointsToCustomTypes(endpoints, extraTypes) {
|
|
121
|
+
export function convertEndpointsToCustomTypes(endpoints, extraTypes, knownTypeNames = new Set()) {
|
|
45
122
|
const types = new Map();
|
|
46
123
|
const typeDefinitions = [];
|
|
47
124
|
const namespaceImports = [];
|
|
@@ -78,15 +155,36 @@ export function convertEndpointsToCustomTypes(endpoints, extraTypes) {
|
|
|
78
155
|
const namespaceName = toPascalCasePreserve(controller) + 'API';
|
|
79
156
|
const namespaceLines = [];
|
|
80
157
|
namespaceLines.push(`export namespace ${namespaceName} {`);
|
|
81
|
-
// Add extra (standalone) types first
|
|
82
158
|
const controllerExtraTypes = extraByController.get(controller);
|
|
159
|
+
const controllerEndpoints = byController.get(controller);
|
|
160
|
+
// Names this namespace itself defines — added to the known set so a
|
|
161
|
+
// reference to a sibling type in the same namespace isn't mistaken for
|
|
162
|
+
// an unresolved one by the sanitizer.
|
|
163
|
+
const ownNames = new Set();
|
|
164
|
+
if (controllerExtraTypes) {
|
|
165
|
+
for (const extra of controllerExtraTypes)
|
|
166
|
+
ownNames.add(extra.typeName);
|
|
167
|
+
}
|
|
168
|
+
if (controllerEndpoints) {
|
|
169
|
+
for (const endpoint of controllerEndpoints) {
|
|
170
|
+
if (!endpoint.types)
|
|
171
|
+
continue;
|
|
172
|
+
const ap = toPascalCasePreserve(endpoint.action);
|
|
173
|
+
if (endpoint.types.body)
|
|
174
|
+
ownNames.add(`${ap}Request`);
|
|
175
|
+
if (endpoint.types.response)
|
|
176
|
+
ownNames.add(`${ap}Response`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const nsKnown = new Set([...knownTypeNames, ...ownNames]);
|
|
180
|
+
const unresolved = new Set();
|
|
181
|
+
// Add extra (standalone) types first
|
|
83
182
|
if (controllerExtraTypes) {
|
|
84
183
|
for (const extra of controllerExtraTypes) {
|
|
85
|
-
namespaceLines.push(` export type ${extra.typeName} = ${extra.typeDefinition}`);
|
|
184
|
+
namespaceLines.push(` export type ${extra.typeName} = ${sanitizeTypeRefs(extra.typeDefinition, nsKnown, unresolved)}`);
|
|
86
185
|
}
|
|
87
186
|
}
|
|
88
187
|
// Add endpoint-derived types
|
|
89
|
-
const controllerEndpoints = byController.get(controller);
|
|
90
188
|
if (controllerEndpoints) {
|
|
91
189
|
for (const endpoint of controllerEndpoints) {
|
|
92
190
|
if (!endpoint.types)
|
|
@@ -95,7 +193,7 @@ export function convertEndpointsToCustomTypes(endpoints, extraTypes) {
|
|
|
95
193
|
// Generate Request type from body
|
|
96
194
|
if (endpoint.types.body) {
|
|
97
195
|
const typeName = `${actionPascal}Request`;
|
|
98
|
-
namespaceLines.push(` export type ${typeName} = ${endpoint.types.body}`);
|
|
196
|
+
namespaceLines.push(` export type ${typeName} = ${sanitizeTypeRefs(endpoint.types.body, nsKnown, unresolved)}`);
|
|
99
197
|
// Map handler to input type
|
|
100
198
|
const existing = types.get(endpoint.handler) || {
|
|
101
199
|
handler: endpoint.handler,
|
|
@@ -108,7 +206,7 @@ export function convertEndpointsToCustomTypes(endpoints, extraTypes) {
|
|
|
108
206
|
const typeName = `${actionPascal}Response`;
|
|
109
207
|
// Unwrap { data: ... } wrapper — StrapiClient already does response.data
|
|
110
208
|
const unwrappedResponse = unwrapDataWrapper(endpoint.types.response);
|
|
111
|
-
namespaceLines.push(` export type ${typeName} = ${unwrappedResponse}`);
|
|
209
|
+
namespaceLines.push(` export type ${typeName} = ${sanitizeTypeRefs(unwrappedResponse, nsKnown, unresolved)}`);
|
|
112
210
|
// Map handler to output type
|
|
113
211
|
const existing = types.get(endpoint.handler) || {
|
|
114
212
|
handler: endpoint.handler,
|
|
@@ -118,9 +216,17 @@ export function convertEndpointsToCustomTypes(endpoints, extraTypes) {
|
|
|
118
216
|
}
|
|
119
217
|
}
|
|
120
218
|
}
|
|
219
|
+
// If any referenced name couldn't be resolved we degraded it to
|
|
220
|
+
// `unknown` — leave a discoverable note in the committed output. Full
|
|
221
|
+
// cross-module resolution is deferred to the ts-morph Endpoints parser.
|
|
222
|
+
if (unresolved.size > 0) {
|
|
223
|
+
namespaceLines.splice(1, 0, ` // NOTE: ${[...unresolved].sort().join(', ')} could not be resolved from the schema and fall back to \`unknown\` (custom-endpoint types referencing controller-local types).`);
|
|
224
|
+
}
|
|
121
225
|
namespaceLines.push('}');
|
|
122
|
-
// Only add namespace if it has content
|
|
123
|
-
|
|
226
|
+
// Only add namespace if it has real content (open + close, plus an
|
|
227
|
+
// optional NOTE, is empty).
|
|
228
|
+
const minLines = unresolved.size > 0 ? 3 : 2;
|
|
229
|
+
if (namespaceLines.length > minLines) {
|
|
124
230
|
typeDefinitions.push(namespaceLines.join('\n'));
|
|
125
231
|
namespaceImports.push(namespaceName);
|
|
126
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-converter.js","sourceRoot":"","sources":["../../src/core/endpoint-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,EACH,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,2BAA2B,CAAA;AAElC;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACpC,SAA2B;IAE3B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAA;IACrD,MAAM,GAAG,GAAkB,EAAE,CAAA;IAE7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAgB;YACvB,MAAM,EAAE,QAAQ,CAAC,MAA+B;YAChD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;YACjE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;SAClE,CAAA;QAED,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAA;AAChC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"endpoint-converter.js","sourceRoot":"","sources":["../../src/core/endpoint-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,21 @@ import { ParsedRoute } from '../shared/route-types.js';
|
|
|
2
2
|
export declare class AuthApiGenerator {
|
|
3
3
|
generateAuthTypes(): string;
|
|
4
4
|
generateAuthApiClass(authRoutes?: ParsedRoute[], userRoutes?: ParsedRoute[]): string;
|
|
5
|
-
private
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
private buildAuthApiClass;
|
|
6
|
+
/**
|
|
7
|
+
* The method name a route will be emitted under — mirrors the renames in
|
|
8
|
+
* generateAuthMethod (login, confirmEmail). Used to detect collisions with
|
|
9
|
+
* the injected client-side helpers.
|
|
10
|
+
*/
|
|
11
|
+
private methodNameFor;
|
|
12
|
+
private generateAuthMethod;
|
|
8
13
|
private getReturnType;
|
|
9
14
|
private generateMeMethod;
|
|
10
15
|
private generateUpdateMeMethod;
|
|
11
16
|
private generateCallbackMethod;
|
|
17
|
+
private generateConfirmEmailMethod;
|
|
18
|
+
private generateSendEmailConfirmationMethod;
|
|
19
|
+
private generateClientSideHelpers;
|
|
12
20
|
private generateAuthMethodParams;
|
|
13
21
|
private generateAuthPathExpression;
|
|
14
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-api-generator.d.ts","sourceRoot":"","sources":["../../src/generator/auth-api-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"auth-api-generator.d.ts","sourceRoot":"","sources":["../../src/generator/auth-api-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AA+FtD,qBAAa,gBAAgB;IACzB,iBAAiB,IAAI,MAAM;IAqG3B,oBAAoB,CAChB,UAAU,GAAE,WAAW,EAAO,EAC9B,UAAU,GAAE,WAAW,EAAO,GAC/B,MAAM;IAkBT,OAAO,CAAC,iBAAiB;IA+CzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,kBAAkB;IAqE1B,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,mCAAmC;IAe3C,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,wBAAwB;IAoChC,OAAO,CAAC,0BAA0B;CAWrC"}
|