12345678910111213141516171819202122232425262728293031323334 |
- # frozen_string_literal: true
- # Disable this task as we use pnpm
- require 'semantic_range'
- Rake::Task['webpacker:check_yarn'].clear
- namespace :webpacker do
- desc 'Verifies if Yarn is installed'
- task check_yarn: :environment do
- begin
- yarn_version = `yarn --version`.strip
- raise Errno::ENOENT if yarn_version.blank?
- yarn_range = '>=4 <5'
- is_valid = begin
- SemanticRange.satisfies?(yarn_version, yarn_range)
- rescue
- false
- end
- unless is_valid
- warn "Mastodon and Webpacker requires Yarn \"#{yarn_range}\" and you are using #{yarn_version}"
- warn 'Exiting!'
- exit!
- end
- rescue Errno::ENOENT
- warn 'Yarn not installed. Please see the Mastodon documentation to install the correct version.'
- warn 'Exiting!'
- exit!
- end
- end
- end
|