about summary refs log tree commit diff
path: root/bin/yarn
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2021-03-25 00:31:15 +0100
committerGitHub <noreply@github.com>2021-03-25 00:31:15 +0100
commita2a85d5ae03282c6f9cbf452b9b8f7d948a9f380 (patch)
treef3f15ea30de78e0fabaa5135a3b3c7b51053e4b6 /bin/yarn
parentd7c1c41859549212a6d34ad869fded16acc17b48 (diff)
parent5ea53b6158c42660aa61da2a49a3bbf9e2e406d0 (diff)
Merge pull request #1516 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'bin/yarn')
-rwxr-xr-xbin/yarn12
1 files changed, 9 insertions, 3 deletions
diff --git a/bin/yarn b/bin/yarn
index 460dd565b..9fab2c350 100755
--- a/bin/yarn
+++ b/bin/yarn
@@ -1,9 +1,15 @@
 #!/usr/bin/env ruby
 APP_ROOT = File.expand_path('..', __dir__)
 Dir.chdir(APP_ROOT) do
-  begin
-    exec "yarnpkg", *ARGV
-  rescue Errno::ENOENT
+  yarn = ENV["PATH"].split(File::PATH_SEPARATOR).
+    select { |dir| File.expand_path(dir) != __dir__ }.
+    product(["yarn", "yarn.cmd", "yarn.ps1"]).
+    map { |dir, file| File.expand_path(file, dir) }.
+    find { |file| File.executable?(file) }
+
+  if yarn
+    exec yarn, *ARGV
+  else
     $stderr.puts "Yarn executable was not detected in the system."
     $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
     exit 1