mirror of
https://github.com/discourse/discourse.git
synced 2024-11-24 04:13:22 +08:00
f165f98cf7
Some people have noticed that if we change the packages in package.json that they have to manually run `yarn install` or Discourse won't work. This adds `yarn install` to the `bin/ember-cli` helper we run. It seems quite fast if there is nothing to install so it shouldn't hurt to do this every time we start the server.
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
|