class ViteRuby::Commands

def print_info

Internal: Prints information about ViteRuby's environment.
def print_info
  Dir.chdir(config.root) do
    $stdout.puts "bin/vite present?: #{ File.exist? 'bin/vite' }"
    $stdout.puts "vite_ruby: #{ ViteRuby::VERSION }"
    ViteRuby.framework_libraries.each do |framework, library|
      $stdout.puts "#{ library.name }: #{ library.version }"
      $stdout.puts "#{ framework }: #{ Gem.loaded_specs[framework]&.version }"
    end
    $stdout.puts "node: #{ `node --version` }"
    $stdout.puts "npm: #{ `npm --version` }"
    $stdout.puts "yarn: #{ `yarn --version` rescue nil }"
    $stdout.puts "pnpm: #{ `pnpm --version` rescue nil }"
    $stdout.puts "ruby: #{ `ruby --version` }"
    $stdout.puts "\n"
    packages = `npm ls vite vite-plugin-ruby`
    packages_msg = packages.include?('vite@') ? "installed packages:\n#{ packages }" : '❌ Check that vite and vite-plugin-ruby have been added as development dependencies and installed.'
    $stdout.puts packages_msg
    ViteRuby::CompatibilityCheck.verify_plugin_version(config.root)
  end
end