#!/usr/bin/env ruby # frozen_string_literal: true require 'bundler/setup' require 'socket' require 'vite_ruby' def wait_for_dev_server(timeout_at:) while Time.now <= timeout_at return if ViteRuby.instance.dev_server_running? sleep 1 end raise "Timeout: vite dev server is not running on #{ ViteRuby.config.host_with_port }" end case cmd = ARGV[0] when 'wait' puts 'Waiting for vite dev server to start' wait_for_dev_server(timeout_at: Time.now + (ENV['VITE_TIMEOUT'] || 10).to_i) else raise ArgumentError, "unknown command #{ cmd.inspect }" end