diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2016-12-08 10:33:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-08 10:33:23 -0800 |
commit | 0d20530e5edfd7d00fbc2a38ef5f87eca6ccc924 (patch) | |
tree | 269d4489c7b7b256aad1ca353961718f946aec8f /railties/lib/rails/generators/app_base.rb | |
parent | 17b09f4fca976063187be6494e64430850c37632 (diff) | |
download | rails-0d20530e5edfd7d00fbc2a38ef5f87eca6ccc924.tar.gz rails-0d20530e5edfd7d00fbc2a38ef5f87eca6ccc924.tar.bz2 rails-0d20530e5edfd7d00fbc2a38ef5f87eca6ccc924.zip |
Make Yarn the default, drop default vendor/asset directories (#27300)
Diffstat (limited to 'railties/lib/rails/generators/app_base.rb')
-rw-r--r-- | railties/lib/rails/generators/app_base.rb | 53 |
1 files changed, 2 insertions, 51 deletions
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb index 87f6f01750..aba68d6db2 100644 --- a/railties/lib/rails/generators/app_base.rb +++ b/railties/lib/rails/generators/app_base.rb @@ -33,8 +33,8 @@ module Rails class_option :javascript, type: :string, aliases: "-j", desc: "Preconfigure for selected JavaScript library" - class_option :yarn, type: :boolean, default: false, - desc: "Preconfigure for assets management with Yarn" + class_option :skip_yarn, type: :boolean, default: false, + desc: "Don't use Yarn for managing JavaScript dependencies" class_option :skip_gemfile, type: :boolean, default: false, desc: "Don't create a Gemfile" @@ -414,55 +414,6 @@ module Rails bundle_command("install") if bundle_install? end - def run_yarn - if package_json_exist? - if yarn_path - say_status :run, "yarn install" - yarn_command("install") - else - say_status :warning, "yarn option passed but Yarn executable was not detected in the system.", :yellow - say_status :warning, "Download Yarn at https://yarnpkg.com/en/docs/install", :yellow - end - end - end - - def package_json_exist? - File.exist?("vendor/package.json") - end - - def yarn_path - commands = ["yarn"] - - if Gem.win_platform? - ENV["PATHEXT"].split(File::PATH_SEPARATOR).each do |ext| - commands << commands[0] + ext - end - end - - yarn_path = commands.find do |cmd| - paths = ENV["PATH"].split(File::PATH_SEPARATOR) - - path = paths.find do |p| - full_path = File.expand_path(cmd, p) - File.executable?(full_path) && File.file?(full_path) - end - - path && File.expand_path(cmd, path) - end - - yarn_path - end - - def yarn_command(command) - full_command = "#{yarn_path} #{command}" - - if options[:quiet] - system(full_command, out: File::NULL) - else - system(full_command) - end - end - def generate_spring_binstubs if bundle_install? && spring_install? bundle_command("exec spring binstub --all") |