A base TSConfig for working with Node 14.
84
Create a utility that generates appropriate TypeScript module system configurations for different project types. The tool should produce configuration objects with the correct module and moduleResolution settings based on the target environment.
Implement a function generateModuleConfig(projectType: string) that creates TypeScript configurations:
Input: A project type string (one of: "legacy-node", "modern-node", "bundler")
Output: A configuration object containing:
module compiler optionmoduleResolution compiler optionConfiguration Rules:
Implement a function validateModuleConfig(config: object) that checks compatibility:
module and moduleResolution propertiesvalid: boolean indicating if configuration is compatiblemessage: string explaining the resultCreate test cases in module-config.test.ts:
Test 1: Generate legacy Node.js configuration @test
const config = generateModuleConfig("legacy-node");
// Verify config has appropriate module and moduleResolution settings for CommonJSTest 2: Generate modern Node.js configuration @test
const config = generateModuleConfig("modern-node");
// Verify config has appropriate module and moduleResolution settings for ESMTest 3: Validate compatible configuration @test
const result = validateModuleConfig({ module: "commonjs", moduleResolution: "node" });
// Expect result.valid to be trueProvides a base TypeScript configuration for Node.js 14, serving as a reference for module system configuration patterns.
module-config.ts # Main implementation
module-config.test.ts # Test casesInstall with Tessl CLI
npx tessl i tessl/npm-tsconfig--node14docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10