Sha256: 3f528147037855569e8d879c33126dcacf56faff94e254909ed60e814bc48d18
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true namespace :yarn do desc "Install all JavaScript dependencies as specified via Yarn" task :install do # Install only production deps when for not usual envs. valid_node_envs = %w[test development production] node_env = ENV.fetch("NODE_ENV") do valid_node_envs.include?(Rails.env) ? Rails.env : "production" end yarn_flags = if `#{RbConfig.ruby} "#{Rails.root}/bin/yarn" --version`.start_with?("1") "--no-progress --frozen-lockfile" else "--immutable" end system( { "NODE_ENV" => node_env }, "#{RbConfig.ruby} \"#{Rails.root}/bin/yarn\" install #{yarn_flags}", exception: true ) rescue Errno::ENOENT $stderr.puts "bin/yarn was not found." $stderr.puts "Please run `bundle exec rails app:update:bin` to create it." exit 1 end end # Run Yarn prior to Sprockets assets precompilation, so dependencies are available for use. if Rake::Task.task_defined?("assets:precompile") && File.exist?(Rails.root.join("bin", "yarn")) Rake::Task["assets:precompile"].enhance [ "yarn:install" ] end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
railties-7.0.0.alpha2 | lib/rails/tasks/yarn.rake |
railties-7.0.0.alpha1 | lib/rails/tasks/yarn.rake |