class Webpacker::Configuration
Attributes
config_path[R]
env[R]
root_path[R]
Public Class Methods
new(root_path:, config_path:, env:)
click to toggle source
# File lib/webpacker/configuration.rb, line 8 def initialize(root_path:, config_path:, env:) @root_path = root_path @config_path = config_path @env = env end
Public Instance Methods
additional_paths()
click to toggle source
# File lib/webpacker/configuration.rb, line 30 def additional_paths fetch(:additional_paths) + resolved_paths end
additional_paths_globbed()
click to toggle source
# File lib/webpacker/configuration.rb, line 34 def additional_paths_globbed additional_paths.map { |p| globbed_path_with_extensions(p) } end
cache_manifest?()
click to toggle source
# File lib/webpacker/configuration.rb, line 54 def cache_manifest? fetch(:cache_manifest) end
cache_path()
click to toggle source
# File lib/webpacker/configuration.rb, line 58 def cache_path root_path.join(fetch(:cache_path)) end
check_yarn_integrity=(value)
click to toggle source
# File lib/webpacker/configuration.rb, line 66 def check_yarn_integrity=(value) warn "Webpacker::Configuration#check_yarn_integrity=(value) has been deprecated. The integrity check has been removed from Webpacker so changing this setting will have no effect." end
compile?()
click to toggle source
# File lib/webpacker/configuration.rb, line 18 def compile? fetch(:compile) end
dev_server()
click to toggle source
# File lib/webpacker/configuration.rb, line 14 def dev_server fetch(:dev_server) end
extensions()
click to toggle source
# File lib/webpacker/configuration.rb, line 62 def extensions fetch(:extensions) end
extract_css?()
click to toggle source
# File lib/webpacker/configuration.rb, line 74 def extract_css? fetch(:extract_css) end
public_manifest_path()
click to toggle source
# File lib/webpacker/configuration.rb, line 50 def public_manifest_path public_output_path.join("manifest.json") end
public_output_path()
click to toggle source
# File lib/webpacker/configuration.rb, line 46 def public_output_path public_path.join(fetch(:public_output_path)) end
public_path()
click to toggle source
# File lib/webpacker/configuration.rb, line 42 def public_path root_path.join(fetch(:public_root_path)) end
source_entry_path()
click to toggle source
# File lib/webpacker/configuration.rb, line 38 def source_entry_path source_path.join(fetch(:source_entry_path)) end
source_path()
click to toggle source
# File lib/webpacker/configuration.rb, line 22 def source_path root_path.join(fetch(:source_path)) end
source_path_globbed()
click to toggle source
# File lib/webpacker/configuration.rb, line 26 def source_path_globbed globbed_path_with_extensions(source_path.relative_path_from(root_path)) end
webpack_compile_output?()
click to toggle source
# File lib/webpacker/configuration.rb, line 70 def webpack_compile_output? fetch(:webpack_compile_output) end
Private Instance Methods
data()
click to toggle source
# File lib/webpacker/configuration.rb, line 91 def data @data ||= load end
defaults()
click to toggle source
# File lib/webpacker/configuration.rb, line 113 def defaults @defaults ||= begin path = File.expand_path("../../install/config/webpacker.yml", __FILE__) config = begin YAML.load_file(path, aliases: true) rescue ArgumentError YAML.load_file(path) end HashWithIndifferentAccess.new(config[env]) end end
fetch(key)
click to toggle source
# File lib/webpacker/configuration.rb, line 87 def fetch(key) data.fetch(key, defaults[key]) end
globbed_path_with_extensions(path)
click to toggle source
# File lib/webpacker/configuration.rb, line 125 def globbed_path_with_extensions(path) "#{path}/**/*{#{extensions.join(',')}}" end
load()
click to toggle source
# File lib/webpacker/configuration.rb, line 95 def load config = begin YAML.load_file(config_path.to_s, aliases: true) rescue ArgumentError YAML.load_file(config_path.to_s) end config[env].deep_symbolize_keys rescue Errno::ENOENT => e raise "Webpacker configuration file not found #{config_path}. " \ "Please run rails webpacker:install " \ "Error: #{e.message}" rescue Psych::SyntaxError => e raise "YAML syntax error occurred while parsing #{config_path}. " \ "Please note that YAML must be consistently indented using spaces. Tabs are not allowed. " \ "Error: #{e.message}" end
resolved_paths()
click to toggle source
# File lib/webpacker/configuration.rb, line 79 def resolved_paths paths = data.fetch(:resolved_paths, []) warn "The resolved_paths option has been deprecated. Use additional_paths instead." unless paths.empty? paths end