@@ -31,6 +31,7 @@ program.version(require('../package').version, '-v, --version').usage('<command>
31
31
32
32
program
33
33
. command ( 'init <app-name>' )
34
+ . option ( '--dsl <name>' , 'init project by specific dsl template, eg: vue' )
34
35
. option (
35
36
'-d --deviceType <deviceTypeList>' ,
36
37
'init project by specific device separated with comma "," eg: tv,car'
@@ -78,11 +79,15 @@ program
78
79
'custom output rpk file name' ,
79
80
validateBuildNameFormat
80
81
)
82
+ . option (
83
+ '--target [target]' ,
84
+ '构建应用的类型(卡片或APP),值只能为app、card、 all, 默认all' ,
85
+ 'all'
86
+ )
81
87
. action ( ( options ) => {
82
88
// 必备参数:当开发者不传递该参数时,要解析为默认
83
89
const signModeTmp = options . disableSign && compileOptionsMeta . signModeEnum . NULL
84
90
options . signMode = validateSignMode ( signModeTmp , compileOptionsMeta . signModeEnum . BUILD )
85
-
86
91
const { compile } = require ( '../lib/commands/compile' )
87
92
compile ( 'native' , 'dev' , false , options )
88
93
} )
@@ -204,6 +209,11 @@ program
204
209
'custom output rpk file name' ,
205
210
validateBuildNameFormat
206
211
)
212
+ . option (
213
+ '--target [target]' ,
214
+ '构建应用的类型(卡片或APP),值只能为app、card、 all, 默认all' ,
215
+ 'all'
216
+ )
207
217
. action ( ( options ) => {
208
218
// 必备参数:当开发者不传递该参数时,要解析为默认
209
219
const signModeTmp = options . disableSign && compileOptionsMeta . signModeEnum . NULL
@@ -213,6 +223,20 @@ program
213
223
compile ( 'native' , 'prod' , false , options )
214
224
} )
215
225
226
+ program
227
+ . command ( 'remote-preview' )
228
+ . description ( 'preview app by the qrcode' )
229
+ . option ( '-o,--qr-output <path>' , 'the qr-image will be output to the specified directory' )
230
+ . option ( '--env <env>' , "switching the environment, 'production' or 'development'" )
231
+ . action ( ( options ) => {
232
+ const { compile } = require ( '../lib/commands/compile' )
233
+ const signModeTmp = options . disableSign && compileOptionsMeta . signModeEnum . NULL
234
+ options . signMode = validateSignMode ( signModeTmp , compileOptionsMeta . signModeEnum . RELEASE )
235
+ options . compile = compile
236
+
237
+ const { remotePreview } = require ( '@hap-toolkit/server' )
238
+ remotePreview ( options )
239
+ } )
216
240
program
217
241
. command ( 'preview <target>' )
218
242
. description ( 'preview app in your browser' )
@@ -430,14 +454,26 @@ function validateSplitChunksMode(value) {
430
454
* @return {string }
431
455
*/
432
456
function validateBuildNameFormat ( value ) {
433
- // 转成枚举常量比较
434
- value = value . toUpperCase ( )
435
-
436
- let ret = value
457
+ let ret = value . toUpperCase ( )
458
+ const reg = / ( ^ c u s t o m = ) ( .* ) / i
459
+ if ( ! compileOptionsMeta . buildNameFormat [ ret ] ) {
460
+ ret = value . replace ( reg , 'CUSTOM=$2' )
461
+ }
437
462
438
- if ( ! compileOptionsMeta . buildNameFormat [ value ] ) {
463
+ if (
464
+ ( ! compileOptionsMeta . buildNameFormat [ ret ] && ! ret . startsWith ( 'CUSTOM=' ) ) ||
465
+ ret === 'CUSTOM='
466
+ ) {
467
+ if ( ret . startsWith ( 'CUSTOM' ) ) {
468
+ colorconsole . warn (
469
+ `当前buildNameFormat参数不支持: ${ value } ,请添加自定义custom值,改为默认值:${ compileOptionsMeta . buildNameFormat . DEFAULT } `
470
+ )
471
+ } else {
472
+ colorconsole . warn (
473
+ `当前buildNameFormat参数不支持: ${ value } ,改为默认值:${ compileOptionsMeta . buildNameFormat . DEFAULT } `
474
+ )
475
+ }
439
476
ret = compileOptionsMeta . buildNameFormat . DEFAULT
440
- colorconsole . warn ( `当前buildNameFormat参数不支持: ${ value } ,改为默认值:${ ret } ` )
441
477
}
442
478
return ret
443
479
}
0 commit comments