mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-05 19:41:42 +08:00
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
#!/usr/bin/env node
|
|
const ch = require('child_process');
|
|
const gulp = require('gulp');
|
|
const runSequence = require('run-sequence');
|
|
const gutil = require('gulp-util');
|
|
const fileSave = require('file-save');
|
|
const path = require('path');
|
|
const exec = ch.exec;
|
|
|
|
if (!process.argv[2]) {
|
|
console.error('[组件名]必填.');
|
|
process.exit(1);
|
|
}
|
|
|
|
const name = process.argv[2];
|
|
|
|
|
|
// 项目规范文件拷贝
|
|
gulp.task('copy', function(callback) {
|
|
gutil.log(gutil.colors.yellow('-------> 开始初始化'));
|
|
|
|
exec('cd packages && git clone git@gitlab.qima-inc.com:fe/vue-seed.git ' + name, function(err, stdout, stderr) {
|
|
gutil.log('-------> 拉取 vue-seed');
|
|
exec('rm -rf ./packages/' + name + '/.git', function(err, stdout, stderr) {
|
|
gutil.log('-------> ' + name + '组件初始化成功');
|
|
callback();
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
// 添加到 components.json
|
|
gulp.task('addComponents', function(callback) {
|
|
const componentsFile = require('../../components.json');
|
|
if (componentsFile[name]) {
|
|
console.error(`${name} 已存在.`);
|
|
process.exit(1);
|
|
}
|
|
componentsFile[name] = `./packages/${name}/index.js`;
|
|
fileSave(path.join(__dirname, '../../components.json'))
|
|
.write(JSON.stringify(componentsFile, null, ' '), 'utf8')
|
|
.end('\n');
|
|
gutil.log('-------> components.json文件更新成功');
|
|
gutil.log(gutil.colors.yellow('-------> 请无视下面的make报错'));
|
|
});
|
|
|
|
runSequence('copy', 'addComponents');
|
|
|