Sha256: d04dc4447639beeec06ccfa6f47b2be5c6f055cfe5fb4ae7f7cf457920823f23
Contents?: true
Size: 1.37 KB
Versions: 1
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true require "socket" require "snowpacker/env" module Snowpacker module Rails class Runner attr_reader :config_file def initialize @config_file = Snowpacker.config.config_file Env.set_env_variables rescue Errno::ENOENT, NoMethodError $stdout.puts "Snowpacker configuration not found in #{Snowpacker.config_location}" $stdout.puts "Please run bundle exec rails generate snowpacker to install Snowpacker" exit! end # Build for production def build snowpacker_command(env: :production, cmd: :build) end # Serve for development def dev detect_port! snowpacker_command(env: :development, cmd: :dev) end private def snowpacker_command(env: "", cmd: "") env = ENV["NODE_ENV"] || env command = "NODE_ENV=#{env} yarn run snowpack #{cmd} --config #{@config_file}" exec(command) end def detect_port! hostname = Snowpacker.config.hostname port = Snowpacker.config.port server = TCPServer.new(hostname, port) server.close rescue Errno::EADDRINUSE $stdout.puts "Another program is running on port #{port}.\n Set a new port in #{Snowpacker.config_path} for devOptions: { port: \"#{port}\" }" exit! end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
snowpacker-0.0.4.alpha1 | lib/snowpacker/runner.rb |