#!/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