fix(turbo-gen): annotate answers param + add tsconfig for generators dir

Two diagnostics from the IDE on turbo/generators/config.ts:

1. `Cannot find module '@turbo/gen'` — there was no tsconfig in
   turbo/generators/, so the IDE was opening config.ts in loose mode
   without proper module resolution context. Added a small
   tsconfig.json that extends tsconfig.base, sets NodeNext module
   resolution, and includes only ./**/*.ts (templates excluded).

2. `Parameter 'answers' implicitly has an 'any' type` — annotated
   the printNextSteps custom-action function param as
   `Record<string, unknown>` (Plop's runtime answers shape). The
   inner cast to the typed Answers shape was already in place.

`npx tsc --noEmit -p turbo/generators/tsconfig.json` is now clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-08 01:11:40 +02:00
parent 019d4866a0
commit bec10fb171
2 changed files with 13 additions and 1 deletions

View File

@@ -279,7 +279,7 @@ export default function generator(plop: PlopTypes.NodePlopAPI): void {
}, },
// Final manual-wiring instructions printed to the user // Final manual-wiring instructions printed to the user
function printNextSteps(answers): string { function printNextSteps(answers: Record<string, unknown>): string {
const a = answers as { name: string; entity: string; entityPlural: string }; const a = answers as { name: string; entity: string; entityPlural: string };
const kebab = a.name; const kebab = a.name;
const constSym = a.name.toUpperCase().replace(/-/g, "_"); const constSym = a.name.toUpperCase().replace(/-/g, "_");

View File

@@ -0,0 +1,12 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"module": "NodeNext",
"moduleResolution": "NodeNext",
"noEmit": true,
"types": ["node"],
"rootDir": "."
},
"include": ["./**/*.ts"],
"exclude": ["./templates/**"]
}