48 lines
1.0 KiB
Ruby
Executable File
48 lines
1.0 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require 'pathname'
|
|
|
|
RAILS_ROOT = File.expand_path("../../", Pathname.new(__FILE__).realpath)
|
|
PORT = ENV["UNICORN_PORT"] ||= "3000"
|
|
|
|
yarn_dir = File.join(RAILS_ROOT, "app/assets/javascripts/discourse")
|
|
|
|
PROXY =
|
|
if ARGV.include?("--try")
|
|
"https://try.discourse.org"
|
|
else
|
|
"http://localhost:#{PORT}"
|
|
end
|
|
|
|
command =
|
|
if ARGV.include?("--test")
|
|
"test"
|
|
else
|
|
"server"
|
|
end
|
|
|
|
class String
|
|
def cyan
|
|
"\e[36m#{self}\e[0m"
|
|
end
|
|
end
|
|
|
|
if ARGV.include?("-h") || ARGV.include?("--help")
|
|
puts "ember-cli OPTIONS"
|
|
puts "#{"--try".cyan} To proxy try.discourse.org", ""
|
|
puts "#{"--test".cyan} To run the test suite", ""
|
|
puts "The rest of the arguments are passed to ember server per:", ""
|
|
exec "yarn --cwd #{yarn_dir} run ember #{command} --help"
|
|
end
|
|
|
|
args = ["--cwd", yarn_dir, "run", "ember", command] + ARGV.reject { |a| a == "--try" || a == "--test" }
|
|
|
|
if !args.include?("--proxy")
|
|
args << "--proxy"
|
|
args << PROXY
|
|
end
|
|
|
|
system "yarn install --cwd #{yarn_dir}"
|
|
exec "yarn", *args.to_a.flatten
|