Sha256: 562f14e33b6fff0339cfd7b226288edea77128d90723c26f96314d7bebbc3738

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

require 'active_support/dependencies/autoload'

module Proscenium
  extend ActiveSupport::Autoload

  FILE_EXTENSIONS = ['js', 'mjs', 'ts', 'jsx', 'tsx', 'css', 'js.map', 'mjs.map', 'jsx.map',
                     'ts.map', 'tsx.map', 'css.map'].freeze

  ALLOWED_DIRECTORIES = %w[app lib config vendor node_modules].freeze

  # Environment variables that should always be passed to the builder.
  DEFAULT_ENV_VARS = Set['RAILS_ENV', 'NODE_ENV'].freeze

  autoload :SourcePath
  autoload :Utils
  autoload :Monkey
  autoload :Middleware
  autoload :EnsureLoaded
  autoload :SideLoad
  autoload :CssModule
  autoload :ReactComponentable
  autoload :ViewComponent
  autoload :Phlex
  autoload :Helper
  autoload :Builder
  autoload :Importer
  autoload :Resolver

  class Deprecator
    def deprecation_warning(name, message, _caller_backtrace = nil)
      msg = "`#{name}` is deprecated and will be removed in a near future release of Proscenium"
      msg << " (#{message})" if message
      Kernel.warn msg
    end
  end

  class PathResolutionFailed < StandardError
    def initialize(path)
      @path = path
      super
    end

    def message
      "Path #{@path.inspect} cannot be resolved"
    end
  end
end

require 'proscenium/railtie'

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
proscenium-0.11.0.pre.7-x86_64-linux lib/proscenium.rb
proscenium-0.11.0.pre.7-aarch64-linux lib/proscenium.rb
proscenium-0.11.0.pre.7-arm64-darwin lib/proscenium.rb
proscenium-0.11.0.pre.7-x86_64-darwin lib/proscenium.rb