Method: Importmap::Npm#packages_with_versions

Defined in:
lib/importmap/npm.rb

#packages_with_versionsObject



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/importmap/npm.rb', line 51

def packages_with_versions
  # We cannot use the name after "pin" because some dependencies are loaded from inside packages
  # Eg. pin "buffer", to: "https://ga.jspm.io/npm:@jspm/[email protected]/nodelibs/browser/buffer.js"
  with_versions = importmap.scan(/^pin .*(?<=npm:|npm\/|skypack\.dev\/|unpkg\.com\/)([^@\/]+)@(\d+\.\d+\.\d+(?:[^\/\s"']*))/) |
    importmap.scan(/#{PIN_REGEX} #.*@(\d+\.\d+\.\d+(?:[^\s]*)).*$/)

  vendored_packages_without_version(with_versions).each do |package, path|
    $stdout.puts "Ignoring #{package} (#{path}) since no version is specified in the importmap"
  end

  with_versions
end