11/* eslint no-console: 0 */
22/* eslint max-len: 0 */
33import path from 'path' ;
4- import _ from 'lodash' ;
54import GitHubApi from 'github' ;
65import program from 'commander' ;
76import pkg from '../package.json' ;
@@ -122,15 +121,15 @@ const main = async () => {
122121 } ) ;
123122 console . log ( 'assets=%d' , assets . length ) ;
124123
125- assets = _ . filter ( assets , ( asset ) => {
124+ assets = assets . filter ( asset => {
126125 // Example:
127126 // 'cnc-1.1.0-latest-08c256a-linux-x64.tar.gz'
128127 // ["cnc-1.1.0-latest-08c256a-linux-x64.tar.gz", "cnc", "1.1.0-latest-08c256a", "linux", "x64", "tar.gz"]
129128 const pattern = new RegExp ( / ( [ a - z A - Z 0 - 9 ] [ a - z A - Z 0 - 9 \- ] * ) \- ( \d + \. \d + \. \d + (?: \- [ a - z A - Z 0 - 9 ] [ a - z A - Z 0 - 9 \- ] * ) ? ) (?: \- ( m a c | w i n | l i n u x | t i n y w e b ) ) (?: (?: \- ( [ a - z A - Z 0 - 9 _ \- ] + ) ) ? \. ( .* ) ) / ) ;
130129
131- return _ . some ( files , ( file ) => {
132- const r1 = asset . name . match ( pattern ) ;
133- const r2 = path . basename ( file ) . match ( pattern ) ;
130+ return files . some ( file => {
131+ let r1 = asset . name . match ( pattern ) ;
132+ let r2 = path . basename ( file ) . match ( pattern ) ;
134133
135134 if ( ( r1 === null ) || ( r2 === null ) ) {
136135 console . error ( 'Unable to match file: asset="%s", file="%s"' , asset . name , path . basename ( file ) ) ;
@@ -148,7 +147,12 @@ const main = async () => {
148147 r1 [ 0 ] = r1 [ 2 ] = undefined ;
149148 r2 [ 0 ] = r2 [ 2 ] = undefined ;
150149
151- return _ . isEqual ( _ . compact ( r1 ) , _ . compact ( r2 ) ) ;
150+ // compact
151+ r1 = r1 . filter ( r => r !== undefined && r !== null ) ;
152+ r2 = r2 . filter ( r => r !== undefined && r !== null ) ;
153+
154+ // compare two arrays
155+ return ( r1 . length === r2 . length ) && r1 . every ( ( v , i ) => v === r2 [ i ] ) ;
152156 } ) ;
153157 } ) ;
154158
0 commit comments