diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index 06d69fd023a5e..518fdd2c4bd4e 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,7 @@ +* Use correct install flags with Yarn 2. + + *Markus Doits* + * Removed manifest.js and application.css in app/assets folder when --skip-sprockets option passed as flag to rails. 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