@@ -2,7 +2,7 @@ const childProcess = require("child_process");
22const EOL = require ( "os" ) . EOL ;
33const path = require ( "path" ) ;
44const now = new Date ( ) . toISOString ( ) ;
5- const latestVersion = require ( 'latest-version ' ) . default ;
5+ const manifest = require ( 'pacote ' ) . manifest ;
66
77
88const ENVIRONMENTS = {
@@ -260,28 +260,26 @@ function registerTestingDependenciesTasks(grunt) {
260260 return done ( false ) ;
261261 }
262262
263-
264- // Kick off all version resolutions in parallel
265- const versionPromises = testDependencies . map ( dep => {
266- if ( dep . version ) {
267- dependenciesVersions [ dep . name ] = dep . version ;
268- return Promise . resolve ( ) ;
269- }
270- return latestVersion ( dep . name ) . then ( v => {
271- dependenciesVersions [ dep . name ] = v ;
272- } ) ;
273- } ) ;
274-
275- Promise . all ( versionPromises )
276- . then ( ( ) => {
277- grunt . file . write ( generatedVersionFilePath , JSON . stringify ( dependenciesVersions , null , 2 ) ) ;
263+ ( async ( ) => {
264+ try {
265+ for ( const dep of testDependencies ) {
266+ if ( dep . version ) {
267+ dependenciesVersions [ dep . name ] = dep . version ;
268+ } else {
269+ dependenciesVersions [ dep . name ] = await latestVersion ( dep . name ) ;
270+ }
271+ }
272+ grunt . file . write (
273+ generatedVersionFilePath ,
274+ JSON . stringify ( dependenciesVersions , null , 2 )
275+ ) ;
278276 grunt . log . writeln ( "Wrote" , generatedVersionFilePath ) ;
279277 done ( ) ;
280- } )
281- . catch ( err => {
278+ } catch ( err ) {
282279 grunt . log . error ( err ) ;
283280 done ( false ) ;
284- } ) ;
281+ }
282+ } ) ( ) ;
285283 } ) ;
286284
287285 grunt . registerTask ( "verify_unit_testing_dependencies" , function ( ) {
@@ -291,3 +289,9 @@ function registerTestingDependenciesTasks(grunt) {
291289 } ) ;
292290}
293291
292+ async function latestVersion ( name ) {
293+ // only fetches the package.json for the latest dist-tag
294+ const { version } = await manifest ( name . toLowerCase ( ) , { fullMetadata : false } ) ;
295+ return version ;
296+ }
297+
0 commit comments