Sha256: 0b9972131ad266a24f412476f45cc27e5ad179c71817cee5606b0b8019d6ea7f

Contents?: true

Size: 1.68 KB

Versions: 56

Compression:

Stored size: 1.68 KB

Contents

# frozen_string_literal: true

# 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.
class ViteRuby::MissingEntrypointError < ViteRuby::Error
  extend Forwardable
  def_delegators :@info, :file_name, :last_build, :manifest, :config

  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

  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

  FAILED_BUILD_CAUSES = <<-MSG
  - The last build failed. Try running `bin/vite build --clear --mode=:mode:` manually and check for errors.
  MSG

  DEFAULT_CAUSES = <<-MSG
  - The file path is incorrect.
  - The file is not in the entrypoints directory.
  - Some files are outside the sourceCodeDir, and have not been added to watchAdditionalPaths.
  MSG

  NO_AUTO_BUILD_CAUSES = <<-MSG
  - You have not run `bin/vite dev` to start Vite, or the dev server is not reachable.
  - "autoBuild" is set to `false` in your config/vite.json for this environment.
  MSG
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
vite_ruby-3.2.4 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.2.3 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.2.2 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.2.1 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.2.0 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.7 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.2.0.beta0 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.6 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.5 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.4 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.3 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.2 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.1 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.1.0 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.0.10 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.0.9 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-4.0.0.alpha1 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.0.8 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.0.7 lib/vite_ruby/missing_entrypoint_error.rb
vite_ruby-3.0.6 lib/vite_ruby/missing_entrypoint_error.rb