Sha256: 167a473e8a6354a1b41d1d315cd2f9f5dab8f3c14d11f119f5a1b283c865fddf

Contents?: true

Size: 911 Bytes

Versions: 1

Compression:

Stored size: 911 Bytes

Contents

# frozen_string_literal: true

module SewingKit
  module Webpack
    class Server
      class DefaultEntrypointMissing < StandardError
        def initialize
          super(
            "Default entrypoint build/server/main.js is missing."
          )
        end
      end

      def start
        raise DefaultEntrypointMissing unless File.exist?(default_entrypoint)

        result = Kernel.system(
          {},
          *command,
          chdir: Rails.root.to_s,
          out: $stdout,
          err: $stderr
        )

        unless result
          puts "sewing_kit:server:start failed"
          exit(1)
        end

        result
      end

      private

      def command
        command_list = [
          "node",
          default_entrypoint,
        ].compact

        command_list.join(" ")
      end

      def default_entrypoint
        "build/server/main.js"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sewing_kit-0.130.1 lib/sewing_kit/webpack/server.rb