Skip to content

Commit d5de607

Browse files
committed
feat(init): 优化初始化逻辑
1 parent 52659fb commit d5de607

File tree

2 files changed

+35
-39
lines changed

2 files changed

+35
-39
lines changed

lib/commands/init.js

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ exports.run = function (options) {
6565
var isInitReady = false;
6666

6767
spinner.start();
68+
spinner.text = 'checking package ykit-config-' + initParam;
6869
async.series([
69-
// 寻找是否存在 ykit-config-xxx 的插件
70-
function (callback) {
71-
spinner.text = 'checking package ykit-config-' + initParam;
72-
checkConfigPkg(callback, 'ykit-config-' + initParam, 'taobao.org');
73-
},
7470
// 寻找是否存在 @qnpm/ykit-config-xxx 的插件
7571
function (callback) {
7672
checkConfigPkg(callback, '@qnpm/ykit-config-' + initParam, 'corp.qunar.com');
73+
},
74+
// 寻找是否存在 ykit-config-xxx 的插件
75+
function (callback) {
76+
checkConfigPkg(callback, 'ykit-config-' + initParam, 'taobao.org');
7777
}], function (err) {
7878
// results is now equal to ['one', 'two']
7979
if (isInitReady) {
@@ -115,20 +115,12 @@ exports.run = function (options) {
115115
async.series(funcSeries, function (err, results) {});
116116
}
117117

118-
function setup(callback) {
119-
shell.exec('ykit setup', { silent: false }, function (code, stdout, stderr) {
120-
callback(stderr);
121-
});
122-
}
123-
124118
function installConfigPlugin(callback, configPkgName, registry) {
125-
if (configPkgName) {
126-
log('installing ' + configPkgName + '...');
119+
log('installing ' + configPkgName + '...');
127120

128-
shell.exec('npm install ' + configPkgName + ' --registry http://registry.npm.' + registry, { silent: false }, function (code, stdout, stderr) {
129-
callback(stderr);
130-
});
131-
}
121+
shell.exec('npm install ' + configPkgName + ' --registry http://registry.npm.' + registry, { silent: false }, function (code, stdout, stderr) {
122+
callback(null); // npm install 中的警告也会当成 stderr 输出,所以不在这里做错误处理
123+
});
132124
}
133125

134126
function createPackageJson(callback) {
@@ -169,6 +161,12 @@ exports.run = function (options) {
169161
}
170162
}
171163

164+
function setup(callback) {
165+
shell.exec('ykit setup', { silent: true }, function (code, stdout, stderr) {
166+
callback(null);
167+
});
168+
}
169+
172170
function createTmpl(callback) {
173171
fs.copySync(sysPath.resolve(initTmplPath, './index.html'), sysPath.resolve(cwd, './index.html'));
174172
fs.copySync(sysPath.resolve(initTmplPath, './src'), sysPath.resolve(cwd, './src'));

src/commands/init.js

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,16 @@ exports.run = function (options) {
4141
let isInitReady = false;
4242

4343
spinner.start();
44+
spinner.text =`checking package ykit-config-${initParam}`;
4445
async.series([
45-
// 寻找是否存在 ykit-config-xxx 的插件
46-
(callback) => {
47-
spinner.text =`checking package ykit-config-${initParam}`;
48-
checkConfigPkg(callback, `ykit-config-${initParam}`, 'taobao.org')
49-
},
5046
// 寻找是否存在 @qnpm/ykit-config-xxx 的插件
5147
(callback) => {
5248
checkConfigPkg(callback, `@qnpm/ykit-config-${initParam}`, 'corp.qunar.com')
5349
},
50+
// 寻找是否存在 ykit-config-xxx 的插件
51+
(callback) => {
52+
checkConfigPkg(callback, `ykit-config-${initParam}`, 'taobao.org')
53+
},
5454
], (err) => {
5555
// results is now equal to ['one', 'two']
5656
if(isInitReady) {
@@ -112,30 +112,18 @@ exports.run = function (options) {
112112
});
113113
}
114114

115-
function setup(callback) {
115+
function installConfigPlugin(callback, configPkgName, registry) {
116+
log('installing ' + configPkgName + '...');
117+
116118
shell.exec(
117-
`ykit setup`,
119+
`npm install ${configPkgName} --registry http://registry.npm.${registry}`,
118120
{silent: false},
119121
(code, stdout, stderr) => {
120-
callback(stderr)
122+
callback(null) // npm install 中的警告也会当成 stderr 输出,所以不在这里做错误处理
121123
}
122124
);
123125
}
124126

125-
function installConfigPlugin(callback, configPkgName, registry) {
126-
if(configPkgName) {
127-
log('installing ' + configPkgName + '...');
128-
129-
shell.exec(
130-
`npm install ${configPkgName} --registry http://registry.npm.${registry}`,
131-
{silent: false},
132-
(code, stdout, stderr) => {
133-
callback(stderr)
134-
}
135-
);
136-
}
137-
}
138-
139127
function createPackageJson(callback) {
140128
if (!UtilFs.fileExists(packageJsonPath)) {
141129
let writePackageJsonStream = create();
@@ -178,6 +166,16 @@ exports.run = function (options) {
178166
}
179167
}
180168

169+
function setup(callback) {
170+
shell.exec(
171+
`ykit setup`,
172+
{silent: true},
173+
(code, stdout, stderr) => {
174+
callback(null)
175+
}
176+
);
177+
}
178+
181179
function createTmpl(callback) {
182180
fs.copySync(sysPath.resolve(initTmplPath, './index.html'), sysPath.resolve(cwd, './index.html'));
183181
fs.copySync(sysPath.resolve(initTmplPath, './src'), sysPath.resolve(cwd, './src'));

0 commit comments

Comments
 (0)