Class: WebpackDriver::Compile
Constant Summary
Constants inherited
from Process
Process::READ_CHUNK_SIZE
Instance Attribute Summary
Attributes inherited from Process
#assets, #config, #error, #last_compilation_message, #last_status, #messages
Instance Method Summary
collapse
Methods inherited from Process
#in_progress?, #start, #stop
Constructor Details
#initialize(config) ⇒ Compile
Returns a new instance of Compile.
7
8
9
10
11
|
# File 'lib/webpack_driver/compile.rb', line 7
def initialize(config)
config.environment ||= { NODE_ENV: 'production' }
super('webpack', config)
read_manifest
end
|
Instance Method Details
#complete? ⇒ Boolean
17
18
19
|
# File 'lib/webpack_driver/compile.rb', line 17
def complete?
last_status == 'success'
end
|
#read_manifest ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/webpack_driver/compile.rb', line 34
def read_manifest
return unless config.manifest_file.exist?
manifest = JSON.parse config.manifest_file.read
manifest.each do |id, files|
asset = Asset.new({ 'id' => id, 'files' => files })
assets[asset.id] = asset
end
end
|
#record_status(status) ⇒ Object
21
22
23
24
|
# File 'lib/webpack_driver/compile.rb', line 21
def record_status(status)
super
write_manifest if complete?
end
|
#valid? ⇒ Boolean
13
14
15
|
# File 'lib/webpack_driver/compile.rb', line 13
def valid?
!alive? && complete?
end
|
#write_manifest ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/webpack_driver/compile.rb', line 26
def write_manifest
manifest = {}
assets.each do | id, asset |
manifest[id] = asset.files
end
config.manifest_file.write JSON.generate manifest
end
|