diff --git a/lib/webpacker/commands.rb b/lib/webpacker/commands.rb index 69617ef77..4952d6029 100644 --- a/lib/webpacker/commands.rb +++ b/lib/webpacker/commands.rb @@ -16,7 +16,8 @@ def bootstrap end def compile - compiler.compile - manifest.refresh + compiler.compile.tap do |success| + manifest.refresh if success + end end end diff --git a/lib/webpacker/compiler.rb b/lib/webpacker/compiler.rb index 73505125b..1fb2906cb 100644 --- a/lib/webpacker/compiler.rb +++ b/lib/webpacker/compiler.rb @@ -20,6 +20,8 @@ def compile if stale? record_compilation_digest run_webpack + else + true end end diff --git a/test/command_test.rb b/test/command_test.rb new file mode 100644 index 000000000..514876b67 --- /dev/null +++ b/test/command_test.rb @@ -0,0 +1,27 @@ +require "webpacker_test_helper" + +class CommandTest < Minitest::Test + def test_compile_command_returns_success_status_when_stale + Webpacker.compiler.stub :stale?, true do + Webpacker.compiler.stub :run_webpack, true do + assert_equal true, Webpacker.commands.compile + end + end + end + + def test_compile_command_returns_success_status_when_fresh + Webpacker.compiler.stub :stale?, false do + Webpacker.compiler.stub :run_webpack, true do + assert_equal true, Webpacker.commands.compile + end + end + end + + def test_compile_command_returns_failure_status_when_stale + Webpacker.compiler.stub :stale?, true do + Webpacker.compiler.stub :run_webpack, false do + assert_equal false, Webpacker.commands.compile + end + end + end +end