class ViteRuby::MissingEntrypointError

Internal: Raised when an entry is not found in the build manifest.

NOTE: The complexity here is justified by the improved usability of providing a more specific error message depending on the situation.

Constants

DEFAULT_CAUSES
FAILED_BUILD_CAUSES
NO_AUTO_BUILD_CAUSES

Public Class Methods

new(info) click to toggle source
Calls superclass method
# File lib/vite_ruby/missing_entrypoint_error.rb, line 11
  def initialize(info)
    @info = info
    super <<~MSG
      Vite Ruby can't find #{ file_name } in #{ config.manifest_path.relative_path_from(config.root) } or #{ config.assets_manifest_path.relative_path_from(config.root) }.

      Possible causes:
      #{ possible_causes(last_build) }
      :troubleshooting:
      #{ "\nContent in your manifests:\n#{ JSON.pretty_generate(manifest) }\n" if last_build.success }
      #{ "Last build in #{ config.mode } mode:\n#{ last_build.to_json }\n" unless last_build.success.nil? }
    MSG
  end

Public Instance Methods

possible_causes(last_build) click to toggle source
# File lib/vite_ruby/missing_entrypoint_error.rb, line 24
def possible_causes(last_build)
  return FAILED_BUILD_CAUSES.sub(':mode:', config.mode) if last_build.success == false
  return DEFAULT_CAUSES if config.auto_build

  DEFAULT_CAUSES + NO_AUTO_BUILD_CAUSES
end