@@ -4,36 +4,27 @@ const argv = require('yargs-parser')(process.argv.slice(2), {alias:{release: ['r
4
4
const path = require ( "path" ) ;
5
5
const chalk = require ( 'chalk' ) ;
6
6
const ora = require ( "ora" ) ;
7
- const pacote = require ( 'pacote' ) ;
7
+ const { extract } = require ( 'pacote' ) ;
8
8
const fs = require ( "fs-extra" ) ;
9
9
const os = require ( 'os' ) ;
10
10
const packageName = 'html5-boilerplate' ;
11
11
12
- const extract = async ( tempDir , version = '' ) => {
13
- return new Promise ( ( resolve , reject ) => {
14
- pacote . extract ( packageName + '@' + version , tempDir , { } )
15
- . then ( res => resolve ( res ) )
16
- . catch ( err => {
17
- reject ( err ) ;
18
- } ) ;
19
- } ) ;
20
- }
21
-
22
12
( async ( ) => {
23
- const version = argv [ 'release' ] ;
13
+ const version = argv [ 'release' ] || '' ;
24
14
const targetDir = path . resolve ( argv [ '_' ] [ 0 ] || './' ) ;
25
15
const spinner = ora ( `Downloading ${ packageName } ${ version ? 'version ' + version : 'latest version' } to ${ targetDir } ` ) . start ( ) ;
26
16
const tempDir = os . tmpdir ( ) + `/${ packageName } -staging` ;
27
17
await fs . ensureDir ( tempDir ) ;
28
18
try {
29
- const { from : nameWithVersion } = await extract ( tempDir , version ) ; //{from, resolved, integrity}
19
+ const { from : nameWithVersion } = await extract ( packageName + '@' + version , tempDir , { } ) ;
30
20
spinner . text = `${ nameWithVersion } copied to ${ targetDir } . Have fun!` ;
31
21
} catch ( err ) {
32
22
if ( err . code === 'ETARGET' && err . type === 'tag' ) {
33
- console . log ( chalk . red ( `version '${ err . wanted } ' not found in npm registry\navaialable versions:` ) ) ;
23
+ spinner . fail ( chalk . red ( `version '${ err . wanted } ' not found in npm registry\navaialable versions:` ) ) ;
34
24
console . log ( err . versions . reverse ( ) . join ( ' | ' ) ) ;
35
25
} else {
36
- console . log ( err ) ;
26
+ spinner . fail ( 'Unexpected error' ) ;
27
+ console . error ( err ) ;
37
28
}
38
29
process . exit ( 0 ) ;
39
30
}
0 commit comments