File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 1
1
module . exports = function ( Release ) {
2
2
Release . define ( {
3
+ _getNpmUser : function ( ) {
4
+ var user = Release . exec ( "npm whoami" , { silent : true } ) ;
5
+
6
+ if ( user . code !== 0 ) {
7
+ Release . abort ( "Error getting npm user." ) ;
8
+ }
9
+
10
+ if ( / ^ N o t a u t h e d / . test ( user . output ) ) {
11
+ Release . abort ( "You are not registered with npm." ) ;
12
+ }
13
+
14
+ return user . output . trim ( ) ;
15
+ } ,
16
+
17
+ _getNpmOwners : function ( ) {
18
+ var owners = Release . exec ( "npm owner ls " + Release . project , { silent : true } ) ;
19
+
20
+ if ( owners . code !== 0 ) {
21
+ Release . abort ( "Error getting npm owners." ) ;
22
+ }
23
+
24
+ return owners . output . trim ( ) . split ( "\n" ) . map ( function ( owner ) {
25
+ return owner . split ( " " ) [ 0 ] ;
26
+ } ) ;
27
+ } ,
28
+
29
+ _checkNpmCredentials : function ( ) {
30
+ if ( ! Release . npmPublish ) {
31
+ return ;
32
+ }
33
+
34
+ var user = Release . _getNpmUser ( ) ,
35
+ owners = Release . _getNpmOwners ( ) ;
36
+
37
+ if ( owners . indexOf ( user ) === - 1 ) {
38
+ Release . abort ( user + " is not an owner of " + Release . project + " on npm." ) ;
39
+ }
40
+ } ,
41
+
3
42
_publishNpm : function ( ) {
4
43
if ( ! Release . npmPublish ) {
5
44
return ;
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ commonTasks = [
28
28
Release . _section ( "setting up repo" ) ,
29
29
Release . _cloneRepo ,
30
30
Release . _checkRepoState ,
31
+ Release . _checkNpmCredentials ,
31
32
32
33
Release . _section ( "calculating versions" ) ,
33
34
Release . _getVersions ,
You can’t perform that action at this time.
0 commit comments