UNPKG

ntts

Version:

A CLI tool for refactoring an existing NodeJs application to a fully functional TypeScript application.

29 lines (24 loc) 953 B
import { appendFileSync, existsSync, writeFileSync } from 'fs'; import TsconfigHandler from '../tsconfig-handler/tsconfig-handler'; const moduleFile = './ntts-modules.d.ts'; class ModuleDeclarator { static handleUntypedPackages = (untyped: string[], fileEndings = false): void => { if (untyped.length <= 0) { return undefined; } const modules = this.getModules(untyped, fileEndings); if (!existsSync(moduleFile)) { writeFileSync(moduleFile, `${modules.join('\n')}\n`); TsconfigHandler.addModuleFile('./ntts-modules.d.ts'); } else { appendFileSync(moduleFile, `${modules.join('\n')}\n`); } }; private static getModules = (untyped: string[], fileEndings: boolean) => { if (fileEndings) { return untyped.map((file) => `declare module "*.${file}";`); } return untyped.map((file) => `declare module "${file}";\ndeclare module "${file}/*";`); }; } export default ModuleDeclarator;