From bd4d8fdfce9bbc160752d1b15db2f358d005fd24 Mon Sep 17 00:00:00 2001 From: Markus Doits Date: Tue, 1 Dec 2020 21:43:35 +0100 Subject: [PATCH] check yarn version and run correct install command --- railties/lib/rails/tasks/yarn.rake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/railties/lib/rails/tasks/yarn.rake b/railties/lib/rails/tasks/yarn.rake index 48a8d8e143d55..975a28d988c85 100644 --- a/railties/lib/rails/tasks/yarn.rake +++ b/railties/lib/rails/tasks/yarn.rake @@ -8,7 +8,15 @@ namespace :yarn do node_env = ENV.fetch("NODE_ENV") do valid_node_envs.include?(Rails.env) ? Rails.env : "production" end - system({ "NODE_ENV" => node_env }, "#{Rails.root}/bin/yarn install --no-progress --frozen-lockfile") + + yarn_flags = + if `#{Rails.root}/bin/yarn --version`.start_with?("1") + "--no-progress --frozen-lockfile" + else + "--immutable" + end + + system({ "NODE_ENV" => node_env }, "#{Rails.root}/bin/yarn install #{yarn_flags}") end end