diff --git a/lib/tasks/webpacker/check_yarn.rake b/lib/tasks/webpacker/check_yarn.rake index a16698251..88ccced3f 100644 --- a/lib/tasks/webpacker/check_yarn.rake +++ b/lib/tasks/webpacker/check_yarn.rake @@ -1,11 +1,14 @@ namespace :webpacker do desc "Verifies if yarn is installed" task :check_yarn do + required_yarn_version = "0.20.1" + begin - version = `yarn --version` - raise Errno::ENOENT if version.blank? + yarn_version = `yarn --version` + + raise Errno::ENOENT if yarn_version.blank? || Gem::Version.new(yarn_version) < Gem::Version.new(required_yarn_version) rescue Errno::ENOENT - puts "Webpacker requires yarn. Please download and install Yarn https://yarnpkg.com/lang/en/docs/install/" + puts "Webpacker requires Yarn version >= #{required_yarn_version}. Please download latest version and install https://yarnpkg.com/lang/en/docs/install/" puts "Exiting!" && exit! end end