@@ -11,9 +11,14 @@ const UtilFs = require('../utils/fs.js');
11
11
exports . usage = '项目初始化' ;
12
12
exports . abbr = 'i' ;
13
13
14
- exports . setOptions = ( ) => { } ;
14
+ exports . setOptions = ( ) => {
15
+ optimist . alias ( 'r' , 'registry' ) ;
16
+ optimist . describe ( 'r' , '指定 npm 仓库' ) ;
17
+ } ;
15
18
16
19
exports . run = function ( options ) {
20
+ const userRegistry = options . r || options . registry ;
21
+
17
22
Manager . reloadRC ( ) ;
18
23
19
24
let cwd = options . cwd ,
@@ -33,24 +38,24 @@ exports.run = function(options) {
33
38
// 如果初始化时带着初始化类型
34
39
if ( typeof process . argv [ 3 ] === 'string' ) {
35
40
const initParam = process . argv [ 3 ] ;
36
- const qunarRegistry = 'repo .corp.qunar.com/artifactory/api/npm/npm-qunar ' ;
37
- const taobaoRegistry = 'registry.npm.taobao.org' ;
41
+ const qunarRegistry = 'http://npmrepo .corp.qunar.com' ;
42
+ const taobaoRegistry = 'https:// registry.npm.taobao.org' ;
38
43
let isInitReady = false ;
39
44
40
45
spinner . start ( ) ;
41
46
spinner . text = `Checking package ykit-config-${ initParam } ` ;
42
47
async . series ( [
43
48
// qnpm 寻找是否存在 @qnpm/ykit-config-xxx 的插件
44
49
( callback ) => {
45
- checkConfigPkg ( callback , `@qnpm/ykit-config-${ initParam } ` , qunarRegistry ) ;
50
+ checkConfigPkg ( callback , `@qnpm/ykit-config-${ initParam } ` , userRegistry || qunarRegistry ) ;
46
51
} ,
47
52
// qnpm 寻找是否存在 ykit-config-xxx 的插件
48
53
( callback ) => {
49
- checkConfigPkg ( callback , `ykit-config-${ initParam } ` , qunarRegistry ) ;
54
+ checkConfigPkg ( callback , `ykit-config-${ initParam } ` , userRegistry || qunarRegistry ) ;
50
55
} ,
51
56
// cnpm 寻找是否存在 ykit-config-xxx 的插件
52
57
( callback ) => {
53
- checkConfigPkg ( callback , `ykit-config-${ initParam } ` , taobaoRegistry ) ;
58
+ checkConfigPkg ( callback , `ykit-config-${ initParam } ` , userRegistry || taobaoRegistry ) ;
54
59
}
55
60
] , ( ) => {
56
61
if ( isInitReady ) {
@@ -64,7 +69,7 @@ exports.run = function(options) {
64
69
function checkConfigPkg ( callback , packageName , registry ) {
65
70
if ( ! isInitReady ) {
66
71
let timeout ;
67
- const child = shell . exec ( `npm view ${ packageName } --registry https:// ${ registry } ` , {
72
+ const child = shell . exec ( `npm view ${ packageName } --registry ${ registry } ` , {
68
73
silent : true
69
74
} , ( code , stdout , stderr ) => {
70
75
if ( stdout ) {
@@ -112,7 +117,7 @@ exports.run = function(options) {
112
117
function installConfigPlugin ( callback , configPkgName , registry ) {
113
118
log ( 'Install ' + configPkgName + '...' ) ;
114
119
115
- shell . exec ( `npm install ${ configPkgName } --registry https:// ${ registry } --save` , {
120
+ shell . exec ( `npm install ${ configPkgName } --registry ${ registry } --save` , {
116
121
silent : false
117
122
} , ( code , stdout , stderr ) => {
118
123
callback ( null ) ; // npm install 中的警告也会当成 stderr 输出,所以不在这里做错误处理
0 commit comments