lib/opal/builder_scheduler/prefork.rb in opal-1.7.1 vs lib/opal/builder_scheduler/prefork.rb in opal-1.7.2

- old
+ new

@@ -250,12 +250,13 @@ first = rel_path queue = requires.map { |i| [rel_path, i, autoloads, options] } awaiting = 0 built = 0 + should_log = $stderr.tty? && !ENV['OPAL_DISABLE_PREFORK_LOGS'] - $stderr.print "\r\e[K" if $stderr.tty? + $stderr.print "\r\e[K" if should_log loop do events, idles = @forks.get_events(queue.length) idles.each do |io| @@ -294,21 +295,21 @@ when :close io.goodbye end end - if $stderr.tty? + if should_log percent = (100.0 * built / (awaiting + built)).round(1) str = format("[opal/builder] Building %<first>s... (%<percent>4.3g%%)\r", first: first, percent: percent) $stderr.print str end break if awaiting == 0 && queue.empty? end processed ensure - $stderr.print "\r\e[K\r" if $stderr.tty? + $stderr.print "\r\e[K\r" if should_log @forks.close @forks.wait end end end