55 * 2.0.
66 */
77import pMap from 'p-map' ;
8+ import semverGt from 'semver/functions/gt' ;
89import {
910 type CoreSetup ,
1011 type ElasticsearchClient ,
@@ -239,7 +240,8 @@ export class AutoInstallContentPackagesTask {
239240 this . discoveryMap !
240241 ) . reduce ( ( acc , [ dataset , mapValue ] ) => {
241242 const packages = mapValue . packages . filter (
242- ( pkg ) => ! installedPackagesMap [ pkg . name ] || installedPackagesMap [ pkg . name ] !== pkg . version
243+ ( pkg ) =>
244+ ! installedPackagesMap [ pkg . name ] || semverGt ( pkg . version , installedPackagesMap [ pkg . name ] )
243245 ) ;
244246 if ( packages . length > 0 ) {
245247 acc [ dataset ] = { packages } ;
@@ -256,7 +258,8 @@ export class AutoInstallContentPackagesTask {
256258 if (
257259 mapValue . packages . every (
258260 ( pkg ) =>
259- installedPackagesMap [ pkg . name ] && installedPackagesMap [ pkg . name ] === pkg . version
261+ installedPackagesMap [ pkg . name ] &&
262+ ! semverGt ( pkg . version , installedPackagesMap [ pkg . name ] )
260263 )
261264 ) {
262265 acc . push ( dataset ) ;
@@ -280,7 +283,7 @@ export class AutoInstallContentPackagesTask {
280283
281284 if ( hasData ) {
282285 for ( const { name, version } of packages ) {
283- if ( ! installedPackagesMap [ name ] || installedPackagesMap [ name ] !== version ) {
286+ if ( ! installedPackagesMap [ name ] || semverGt ( version , installedPackagesMap [ name ] ) ) {
284287 packagesToInstall [ name ] = version ;
285288 }
286289 }
0 commit comments