@@ -58,55 +58,57 @@ export async function collaborators(info) {
5858 } ) )
5959
6060 // Warn about missing expected outside collaborators.
61- outside
62- . filter ( ( login ) => ! ghOutside . some ( ( y ) => login === y . login ) )
63- . forEach ( ( login ) => {
64- console . log (
65- ' ' +
66- chalk . blue ( 'ℹ' ) +
67- ' @%s should be an outside collaborator for %s' ,
68- login ,
69- name
70- )
71- } )
61+ const missing = outside . filter (
62+ ( login ) => ! ghOutside . some ( ( y ) => login === y . login )
63+ )
64+
65+ for ( const login of missing ) {
66+ console . log (
67+ ' ' + chalk . blue ( 'ℹ' ) + ' @%s should be an outside collaborator for %s' ,
68+ login ,
69+ name
70+ )
71+ }
7272
7373 // Remove.
74- ghOutside
75- . filter ( ( { login } ) => ! outside . includes ( login ) )
76- . forEach ( ( { login} ) => {
77- console . log (
78- ' ' +
79- chalk . red ( '✖' ) +
80- ' @%s should not be an outside collaborator for %s' ,
81- login ,
82- name
83- )
84- } )
74+ const unexpected = ghOutside . filter ( ( { login } ) => ! outside . includes ( login ) )
75+
76+ for ( const { login} of unexpected ) {
77+ console . log (
78+ ' ' +
79+ chalk . red ( '✖' ) +
80+ ' @%s should not be an outside collaborator for %s' ,
81+ login ,
82+ name
83+ )
84+ }
8585
8686 // Wrong permissions.
87- ghOutside
88- . filter ( ( x ) => x . permission !== permission )
89- . forEach ( ( x ) => {
90- console . log (
91- ' ' + chalk . red ( '✖' ) + ' @%s should have %s, not %s, rights for %s' ,
92- x . login ,
93- permission ,
94- x . permission ,
95- name
96- )
97- } )
87+ const wrong = ghOutside . filter ( ( x ) => x . permission !== permission )
88+
89+ for ( const x of wrong ) {
90+ console . log (
91+ ' ' + chalk . red ( '✖' ) + ' @%s should have %s, not %s, rights for %s' ,
92+ x . login ,
93+ permission ,
94+ x . permission ,
95+ name
96+ )
97+ }
9898
9999 // Team member and collaborator.
100- ghDirect
101- . filter ( ( { login} ) => ! ghOutside . some ( ( y ) => login === y . login ) )
102- . forEach ( ( x ) => {
103- console . log (
104- ' ' +
105- chalk . red ( '✖' ) +
106- ' @%s is a team member *and* an outside collaborator (%s) for %s' ,
107- x . login ,
108- x . permission ,
109- name
110- )
111- } )
100+ const both = ghDirect . filter (
101+ ( { login} ) => ! ghOutside . some ( ( y ) => login === y . login )
102+ )
103+
104+ for ( const x of both ) {
105+ console . log (
106+ ' ' +
107+ chalk . red ( '✖' ) +
108+ ' @%s is a team member *and* an outside collaborator (%s) for %s' ,
109+ x . login ,
110+ x . permission ,
111+ name
112+ )
113+ }
112114}
0 commit comments