Sha256: 0eb4a7dac930137e58a0e64da90fb1857531ec78609e4bf9517d00c52bd2c864

Contents?: true

Size: 656 Bytes

Versions: 12

Compression:

Stored size: 656 Bytes

Contents

module SpecifiedYarn
  extend self

  YARN_VERSION = "v1.22.0"
  YARN_PATH = "tmp/yarn-#{YARN_VERSION}/bin/yarn.js"

  def ensure!
    install_yarn unless yarn_installed?
    install_binstub
    "bin/yarn install"
  end

  private

  def install_yarn
    system("wget -cO- https://github.com/yarnpkg/yarn/releases/download/#{YARN_VERSION}/yarn-#{YARN_VERSION}.tar.gz | tar -xz -C tmp/")
  end

  def install_binstub
    system("cd bin && ln -fs ../#{YARN_PATH}")
  end

  def yarn_installed?
    File.exist?(YARN_PATH) && `bin/node #{YARN_PATH} --version`.chomp == YARN_VERSION[1..-1]
  end

  def binstub_installed?
    File.exist?("bin/yarn")
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
bard-0.49.0 install_files/specified_yarn.rb
bard-0.48.1 install_files/specified_yarn.rb
bard-0.48.0 install_files/specified_yarn.rb
bard-0.47.0 install_files/specified_yarn.rb
bard-0.46.0 install_files/specified_yarn.rb
bard-0.45.1 install_files/specified_yarn.rb
bard-0.45.0 install_files/specified_yarn.rb
bard-0.44.2 install_files/specified_yarn.rb
bard-0.44.1 install_files/specified_yarn.rb
bard-0.44.0 install_files/specified_yarn.rb
bard-0.43.2 install_files/specified_yarn.rb
bard-0.43.0 install_files/specified_yarn.rb