UNPKG

newkit-cli

Version:

Newkit cli tools.

23 lines (21 loc) 1.01 kB
const fs = require('fs'); const path = require('path'); const util = require('./../lib/util'); module.exports = (moduleName) => { let cwd = process.cwd(); let modulePath = path.join(cwd, 'src/modules', moduleName); if (!fs.existsSync(modulePath)) { return util.error('Module not found, please check input.'); } const tsconfigTpl = require('./tsconfig_tpl.json'); let tsconfigTplCopy = Object.assign({}, tsconfigTpl); tsconfigTplCopy.compilerOptions.declarationDir = path.join(cwd, `node_modules/@types/newkit/${moduleName}`); let configFilePath = path.join(cwd, 'src/modules/', moduleName, 'tsconfig.json'); fs.writeFileSync(configFilePath, JSON.stringify(tsconfigTplCopy, null, ' ')); cd(`./src/modules/${moduleName}`); exec('tsc'); cd('../../../'); // 退回到根目录 rm('-rf', configFilePath); fs.writeFileSync(`./node_modules/@types/newkit/${moduleName}/index.d.ts`, `export * from './app';`, 'utf8'); util.info(`Generate module '${moduleName}' declaration file successfully.`); };