summaryrefslogtreecommitdiff
path: root/app/finders/packages/npm/package_finder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/finders/packages/npm/package_finder.rb')
-rw-r--r--app/finders/packages/npm/package_finder.rb17
1 files changed, 11 insertions, 6 deletions
diff --git a/app/finders/packages/npm/package_finder.rb b/app/finders/packages/npm/package_finder.rb
index 92ceac297ee..a367fda37de 100644
--- a/app/finders/packages/npm/package_finder.rb
+++ b/app/finders/packages/npm/package_finder.rb
@@ -5,18 +5,23 @@ module Packages
delegate :find_by_version, to: :execute
delegate :last, to: :execute
- def initialize(package_name, project: nil, namespace: nil)
+ # /!\ CAUTION: don't use last_of_each_version: false with find_by_version. Ordering is not
+ # guaranteed!
+ def initialize(package_name, project: nil, namespace: nil, last_of_each_version: true)
@package_name = package_name
@project = project
@namespace = namespace
+ @last_of_each_version = last_of_each_version
end
def execute
- base.npm
- .with_name(@package_name)
- .installable
- .last_of_each_version
- .preload_files
+ result = base.npm
+ .with_name(@package_name)
+ .installable
+
+ return result unless @last_of_each_version
+
+ result.last_of_each_version
end
private