Class: Webpacker::WebpackRunner

Inherits:
Runner
  • Object
show all
Defined in:
lib/webpacker/webpack_runner.rb

Constant Summary collapse

WEBPACK_COMMANDS =
[
  "help",
  "h",
  "--help",
  "-h",
  "version",
  "v",
  "--version",
  "-v",
  "info",
  "i"
].freeze

Instance Method Summary collapse

Methods inherited from Runner

#initialize, run

Constructor Details

This class inherits a constructor from Webpacker::Runner

Instance Method Details

#runObject

[View source]

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/webpacker/webpack_runner.rb', line 19

def run
  env = Webpacker::Compiler.env
  env["WEBPACKER_CONFIG"] = @webpacker_config

  cmd = if node_modules_bin_exist?
    ["#{@node_modules_bin_path}/webpack"]
  else
    ["yarn", "webpack"]
  end

  if @argv.delete "--debug-webpacker"
    cmd = ["node", "--inspect-brk"] + cmd
  end

  if @argv.delete "--trace-deprecation"
    cmd = ["node", "--trace-deprecation"] + cmd
  end

  if @argv.delete "--no-deprecation"
    cmd = ["node", "--no-deprecation"] + cmd
  end

  # Webpack commands are not compatible with --config option.
  if (@argv & WEBPACK_COMMANDS).empty?
    cmd += ["--config", @webpack_config]
  end

  cmd += @argv

  Dir.chdir(@app_path) do
    Kernel.exec env, *cmd
  end
end