mirror of https://github.com/ElemeFE/element
Chore: Update make new component logic (#15542)
parent
64ed7804b6
commit
28583d8a9b
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue