1
1
'use strict'
2
2
const execa = require ( 'execa' )
3
3
const npa = require ( 'npm-package-arg' )
4
- const validatePackageName = require ( 'validate-npm-package-name' )
4
+ const validateNpmPackageName = require ( 'validate-npm-package-name' )
5
5
6
6
// Remove npm env vars from the commands, this
7
7
// is so it respects the directory it is run in,
@@ -14,7 +14,8 @@ const env = Object.keys(process.env).reduce((e, key) => {
14
14
return e
15
15
} , { } )
16
16
17
- module . exports . install = ( deps = [ ] , opts = { } ) => {
17
+ module . exports . install = install
18
+ function install ( deps = [ ] , opts = { } ) {
18
19
if ( ! deps || ! deps . length ) {
19
20
return Promise . resolve ( )
20
21
}
@@ -38,12 +39,12 @@ module.exports.install = (deps = [], opts = {}) => {
38
39
cwd : opts . directory || process . cwd ( ) ,
39
40
stdio : opts . silent ? 'ignore' : 'pipe'
40
41
} )
41
- }
42
+ } ;
42
43
43
44
const packageTypes = [ 'tag' , 'git' , 'version' , 'range' , 'file' , 'directory' , 'remote' ]
44
45
45
46
module . exports . normalizePackageName = normalizePackageName
46
- async function normalizePackageName ( name , opts = { } ) {
47
+ function normalizePackageName ( name , opts = { } ) {
47
48
const allowedTypes = opts . allowedTypes || packageTypes
48
49
const pkg = npa ( name )
49
50
@@ -64,42 +65,43 @@ async function normalizePackageName (name, opts = {}) {
64
65
case 'tag' :
65
66
case 'version' :
66
67
case 'range' :
67
- validName ( pkg )
68
+ validateName ( pkg )
68
69
break
69
70
}
70
71
71
72
return pkg
72
73
}
73
74
74
- function validName ( pkg ) {
75
+ function validateName ( pkg ) {
75
76
// Manual check because the validate package just says "name cannot be null"
76
77
if ( ! pkg . name ) {
77
78
throw new Error ( `Invalid package name (${ pkg . raw } - name cannot be empty)` )
78
79
}
79
80
80
- const v = validatePackageName ( pkg . name )
81
+ const v = validateNpmPackageName ( pkg . name )
81
82
if ( v . errors || v . warnings ) {
82
83
const msg = ( v . errors && v . errors [ 0 ] ) || ( v . warnings || v . warnings [ 0 ] )
83
84
throw new Error ( `Invalid package name (${ pkg . raw } ${ msg ? ` - ${ msg } ` : '' } )` )
84
85
}
85
86
}
86
87
87
- module . exports . validatePackageNames = validatePackageSpec
88
+ module . exports . validatePackageSpec = validatePackageSpec
88
89
function validatePackageSpec ( name , opts = { } ) {
89
90
const names = Array . isArray ( name ) ? name : [ name ]
90
91
for ( let i = 0 ; i < names . length ; i ++ ) {
91
92
try {
92
- normalizePackageName ( names [ i ] )
93
+ validatePackageName ( names [ i ] )
93
94
} catch ( e ) {
94
95
return e
95
96
}
96
97
}
97
98
return true
98
- }
99
+ } ;
99
100
100
- module . exports . validatePackageName = async function ( name ) {
101
+ module . exports . validatePackageName = validatePackageName
102
+ function validatePackageName ( name ) {
101
103
try {
102
- await normalizePackageName ( name , {
104
+ normalizePackageName ( name , {
103
105
allowedTypes : [ 'tag' , 'range' , 'version' ]
104
106
} )
105
107
} catch ( e ) {
0 commit comments