@@ -2,7 +2,7 @@ const childProcess = require("child_process");
2
2
const EOL = require ( "os" ) . EOL ;
3
3
const path = require ( "path" ) ;
4
4
const now = new Date ( ) . toISOString ( ) ;
5
- const latestVersion = require ( 'latest-version ' ) . default ;
5
+ const manifest = require ( 'pacote ' ) . manifest ;
6
6
7
7
8
8
const ENVIRONMENTS = {
@@ -260,28 +260,26 @@ function registerTestingDependenciesTasks(grunt) {
260
260
return done ( false ) ;
261
261
}
262
262
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
+ ) ;
278
276
grunt . log . writeln ( "Wrote" , generatedVersionFilePath ) ;
279
277
done ( ) ;
280
- } )
281
- . catch ( err => {
278
+ } catch ( err ) {
282
279
grunt . log . error ( err ) ;
283
280
done ( false ) ;
284
- } ) ;
281
+ }
282
+ } ) ( ) ;
285
283
} ) ;
286
284
287
285
grunt . registerTask ( "verify_unit_testing_dependencies" , function ( ) {
@@ -291,3 +289,9 @@ function registerTestingDependenciesTasks(grunt) {
291
289
} ) ;
292
290
}
293
291
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