Skip to content

Commit 45cc0d6

Browse files
committed
feat(code-gen): generate type imports for all types
1 parent 8951e08 commit 45cc0d6

4 files changed

Lines changed: 20 additions & 1 deletion

File tree

packages/code-gen/src/router/javascript.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ export function javascriptRouteMatcher(generateContext, trie) {
1818
`common/route-matcher.${generateContext.options.targetLanguage === "js" ? "js" : "ts"}`,
1919
{
2020
importCollector: new JavascriptImportCollector(),
21+
typeImportCollector:
22+
generateContext.options.targetLanguage === "ts" ?
23+
new JavascriptImportCollector(true)
24+
: undefined,
2125
},
2226
);
2327

packages/code-gen/src/router/js-koa.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ export function jsKoaGetRouterFile(generateContext) {
4040
`common/router.${generateContext.options.targetLanguage}`,
4141
{
4242
importCollector: new JavascriptImportCollector(),
43+
typeImportCollector:
44+
generateContext.options.targetLanguage === "ts" ?
45+
new JavascriptImportCollector(true)
46+
: undefined,
4347
},
4448
);
4549

@@ -70,6 +74,10 @@ export function jsKoaGetControllerFile(generateContext, group) {
7074
`${group}/controller.${generateContext.options.targetLanguage}`,
7175
{
7276
importCollector: new JavascriptImportCollector(),
77+
typeImportCollector:
78+
generateContext.options.targetLanguage === "ts" ?
79+
new JavascriptImportCollector(true)
80+
: undefined,
7381
},
7482
);
7583

packages/code-gen/src/types/typescript.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,10 @@ export function typesTypescriptUseTypeName(generateContext, file, name) {
525525
return name;
526526
}
527527

528-
const importCollector = TypescriptImportCollector.getImportCollector(file);
528+
const importCollector = TypescriptImportCollector.getImportCollector(
529+
file,
530+
true,
531+
);
529532
importCollector.destructure(
530533
`../common/types${generateContext.options.generators.router || generateContext.options.generators.apiClient?.target.targetRuntime === "node.js" ? ".js" : ""}`,
531534
name,

packages/code-gen/src/validators/typescript.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ export function validatorTypescriptGetFile(generateContext, type) {
5353

5454
const file = fileContextCreateGeneric(generateContext, relativePath, {
5555
importCollector: new JavascriptImportCollector(),
56+
typeImportCollector:
57+
generateContext.options.targetLanguage === "ts" ?
58+
new JavascriptImportCollector(true)
59+
: undefined,
5660
});
5761

5862
fileWrite(

0 commit comments

Comments
 (0)