TypeScript project structure, strict tsconfig, module resolution, path aliases, shared types, and monorepo patterns
90
84%
Does it follow best practices?
Impact
100%
1.09xAverage score across 5 eval scenarios
Passed
No known issues
You've inherited a TypeScript project with a poorly configured setup. The project is a Node.js API service with the following issues:
strict: false and uses legacy "moduleResolution": "node" with "module": "commonjs"User interface is defined in three different files../../../utils/helpersts-node index.ts directlyThe existing files are:
tsconfig.json:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"strict": false,
"esModuleInterop": true,
"outDir": "dist"
}
}package.json:
{
"name": "my-api",
"scripts": {
"start": "ts-node index.ts"
},
"dependencies": {
"express": "^4.18.0",
"ts-node": "^10.9.0",
"typescript": "^5.0.0"
}
}Produce a migration plan and updated configuration files:
plan.md — Step-by-step migration plan explaining what changes are needed and whytsconfig.json — Corrected TypeScript configuration with strict mode, proper module resolution, path aliasespackage.json — Updated with proper scripts (build, dev, start, typecheck, lint), type: module, and updated dependencies.gitignore — Proper ignores for a TypeScript/Node projecteslint.config.js — ESLint with typescript-eslintDo not produce the actual source files — focus on the configuration, migration plan, and recommended structure.
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
skills
typescript-project-structure
verifiers