class Hippo::Webpack::ClientConfig

Constants

ROOT

Attributes

controlling_extension[R]
directory[R]
extension_path[R]
hippo_root_path[R]
module_paths[R]

Public Class Methods

source_root() click to toggle source
# File lib/hippo/webpack/client_config.rb, line 19
def self.source_root
    Hippo::Configuration.apply
    Hippo::Extensions.load_controlling_config
    Hippo::Extensions.controlling.root_path
end

Public Instance Methods

make_temp_dir() click to toggle source
# File lib/hippo/webpack/client_config.rb, line 31
def make_temp_dir
    @directory = controlling_extension.root_path.join('tmp')
    @directory.mkdir unless @directory.exist?
end
set_module_paths() click to toggle source
# File lib/hippo/webpack/client_config.rb, line 36
def set_module_paths
    @module_paths = Extensions.map { |e| e.root_path.join('client').to_s }.reverse + [
        controlling_extension.root_path.join('node_modules').to_s,
        directory.to_s
    ]
end
set_vars() click to toggle source
# File lib/hippo/webpack/client_config.rb, line 25
def set_vars
    @controlling_extension = Hippo::Extensions.controlling
    @hippo_root_path = ROOT
    @extension_path = controlling_extension.root_path
end
write_asset_files() click to toggle source
# File lib/hippo/webpack/client_config.rb, line 43
def write_asset_files
    say "Generating config in #{directory}", :green
    opts = { verbose: false, force: true }
    template('config/jest.config.json',
             directory.join('jest.config.json'), opts)
    template(ROOT.join('templates','js', 'config-data.js'),
             directory.join('hippo/config-data.js'), opts)
    template(ROOT.join('templates','js', 'screen-definitions.js'),
             directory.join('hippo/screen-definitions.js'), opts)
end