Sha256: 3a4e02c48b96e55a5f4e4bfbd735945f672e12597f833fbd1c67a5f8743b85fe
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
# frozen_string_literal: true require 'sewing_kit/webpack/webpack' module SewingKit module Webpack class Compiler class NodeNotInstalled < StandardError def initialize super( "nodejs is not installed. " \ "Try creating a `.buildpack` file in the root of the project with following content: https://github.com/heroku/heroku-buildpack-nodejs.git https://github.com/heroku/heroku-buildpack-ruby.git " ) end end def compile raise NodeNotInstalled unless node_installed? raise NodeSewingKitNotRunnable, node_env unless File.exist?('node_modules/.bin/sewing-kit') result = Kernel.system( { 'NODE_ENV' => node_env }, *command, chdir: Rails.root.to_s, out: $stdout, err: $stderr ) unless result puts "sewing-kit compile failed with error code #{$CHILD_STATUS}" exit(1) end result end private def command [ 'node_modules/.bin/sewing-kit', 'build', '--mode', node_env, ].reject(&:empty?) end def node_env ENV['NODE_ENV'] || Rails.env.to_s end def node_installed? Kernel.system('node --version') end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sewing_kit-0.29.2 | lib/sewing_kit/webpack/compiler.rb |
sewing_kit-0.29.1 | lib/sewing_kit/webpack/compiler.rb |