From 28583d8a9b611fd22744d27b4fcd603981c2cd00 Mon Sep 17 00:00:00 2001 From: iamkun Date: Fri, 17 May 2019 17:43:06 +0800 Subject: [PATCH] Chore: Update make new component logic (#15542) --- build/bin/new.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/build/bin/new.js b/build/bin/new.js index d6849043f..8f1694a74 100644 --- a/build/bin/new.js +++ b/build/bin/new.js @@ -11,6 +11,7 @@ if (!process.argv[2]) { } const path = require('path'); +const fs = require('fs'); const fileSave = require('file-save'); const uppercamelcase = require('uppercamelcase'); const componentname = process.argv[2]; @@ -104,6 +105,29 @@ fileSave(path.join(__dirname, '../../components.json')) .write(JSON.stringify(componentsFile, null, ' '), 'utf8') .end('\n'); +// 添加到 index.scss +const sassPath = path.join(__dirname, '../../packages/theme-chalk/src/index.scss'); +const sassImportText = `${fs.readFileSync(sassPath)}@import "./${componentname}.scss";`; +fileSave(sassPath) + .write(sassImportText, 'utf8') + .end('\n'); + +// 添加到 element-ui.d.ts +const elementTsPath = path.join(__dirname, '../../types/element-ui.d.ts'); + +let elementTsText = `${fs.readFileSync(elementTsPath)} +/** ${ComponentName} Component */ +export class ${ComponentName} extends El${ComponentName} {}`; + +const index = elementTsText.indexOf('export') - 1; +const importString = `import { El${ComponentName} } from './${componentname}'`; + +elementTsText = elementTsText.slice(0, index) + importString + '\n' + elementTsText.slice(index); + +fileSave(elementTsPath) + .write(elementTsText, 'utf8') + .end('\n'); + // 创建 package Files.forEach(file => { fileSave(path.join(PackagePath, file.filename))