module Avo

def self.configuration

def self.configuration
  @configuration ||= Configuration.new
end

def self.configuration=(config)

def self.configuration=(config)
  @configuration = config
end

def self.configure

def self.configure
  yield configuration
end

def manifester

def manifester
  @manifester ||= ::Manifester::Instance.new(
    root_path: ROOT_PATH,
    public_output_dir: "avo-packs",
    cache_manifest: Rails.env.production?,
    fallback_to_webpacker: -> { Avo::IN_DEVELOPMENT }
  )
end

def webpacker

def webpacker
  @webpacker ||= ::Webpacker::Instance.new(
    root_path: ROOT_PATH,
    config_path: ROOT_PATH.join("config/webpacker.yml")
  )
end