aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/app_base.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2016-12-08 10:33:23 -0800
committerGitHub <noreply@github.com>2016-12-08 10:33:23 -0800
commit0d20530e5edfd7d00fbc2a38ef5f87eca6ccc924 (patch)
tree269d4489c7b7b256aad1ca353961718f946aec8f /railties/lib/rails/generators/app_base.rb
parent17b09f4fca976063187be6494e64430850c37632 (diff)
downloadrails-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.rb53
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")