dependabot-bun 0.296.0 → 0.296.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dependabot/bun.rb +12 -2
  3. data/lib/dependabot/javascript/bun/file_fetcher.rb +77 -0
  4. data/lib/dependabot/javascript/bun/file_parser/bun_lock.rb +156 -0
  5. data/lib/dependabot/javascript/bun/file_parser/lockfile_parser.rb +55 -0
  6. data/lib/dependabot/javascript/bun/file_parser.rb +74 -0
  7. data/lib/dependabot/javascript/bun/file_updater/lockfile_updater.rb +138 -0
  8. data/lib/dependabot/javascript/bun/file_updater.rb +75 -0
  9. data/lib/dependabot/javascript/bun/helpers.rb +72 -0
  10. data/lib/dependabot/javascript/bun/package_manager.rb +48 -0
  11. data/lib/dependabot/javascript/bun/requirement.rb +11 -0
  12. data/lib/dependabot/javascript/bun/update_checker/conflicting_dependency_resolver.rb +64 -0
  13. data/lib/dependabot/javascript/bun/update_checker/dependency_files_builder.rb +47 -0
  14. data/lib/dependabot/javascript/bun/update_checker/latest_version_finder.rb +450 -0
  15. data/lib/dependabot/javascript/bun/update_checker/library_detector.rb +76 -0
  16. data/lib/dependabot/javascript/bun/update_checker/requirements_updater.rb +203 -0
  17. data/lib/dependabot/javascript/bun/update_checker/subdependency_version_resolver.rb +144 -0
  18. data/lib/dependabot/javascript/bun/update_checker/version_resolver.rb +525 -0
  19. data/lib/dependabot/javascript/bun/update_checker/vulnerability_auditor.rb +165 -0
  20. data/lib/dependabot/javascript/bun/update_checker.rb +440 -0
  21. data/lib/dependabot/javascript/bun/version.rb +11 -0
  22. data/lib/dependabot/javascript/shared/constraint_helper.rb +359 -0
  23. data/lib/dependabot/javascript/shared/dependency_files_filterer.rb +164 -0
  24. data/lib/dependabot/javascript/shared/file_fetcher.rb +283 -0
  25. data/lib/dependabot/javascript/shared/file_parser/lockfile_parser.rb +106 -0
  26. data/lib/dependabot/javascript/shared/file_parser.rb +454 -0
  27. data/lib/dependabot/javascript/shared/file_updater/npmrc_builder.rb +394 -0
  28. data/lib/dependabot/javascript/shared/file_updater/package_json_preparer.rb +87 -0
  29. data/lib/dependabot/javascript/shared/file_updater/package_json_updater.rb +376 -0
  30. data/lib/dependabot/javascript/shared/file_updater.rb +179 -0
  31. data/lib/dependabot/javascript/shared/language.rb +45 -0
  32. data/lib/dependabot/javascript/shared/metadata_finder.rb +209 -0
  33. data/lib/dependabot/javascript/shared/native_helpers.rb +21 -0
  34. data/lib/dependabot/javascript/shared/package_manager_detector.rb +72 -0
  35. data/lib/dependabot/javascript/shared/package_name.rb +118 -0
  36. data/lib/dependabot/javascript/shared/registry_helper.rb +190 -0
  37. data/lib/dependabot/javascript/shared/registry_parser.rb +93 -0
  38. data/lib/dependabot/javascript/shared/requirement.rb +144 -0
  39. data/lib/dependabot/javascript/shared/sub_dependency_files_filterer.rb +79 -0
  40. data/lib/dependabot/javascript/shared/update_checker/dependency_files_builder.rb +87 -0
  41. data/lib/dependabot/javascript/shared/update_checker/registry_finder.rb +358 -0
  42. data/lib/dependabot/javascript/shared/version.rb +133 -0
  43. data/lib/dependabot/javascript/shared/version_selector.rb +60 -0
  44. data/lib/dependabot/javascript.rb +31 -0
  45. metadata +48 -17
  46. data/lib/dependabot/bun/file_fetcher.rb +0 -97
  47. data/lib/dependabot/bun/file_parser/bun_lock.rb +0 -148
  48. data/lib/dependabot/bun/helpers.rb +0 -79
  49. data/lib/dependabot/bun/language.rb +0 -45
  50. data/lib/dependabot/bun/package_manager.rb +0 -46
  51. data/lib/dependabot/bun/requirement.rb +0 -14
  52. data/lib/dependabot/bun/version.rb +0 -12
  53. data/lib/dependabot/javascript/file_fetcher_helper.rb +0 -245
  54. data/lib/dependabot/javascript/requirement.rb +0 -141
  55. data/lib/dependabot/javascript/version.rb +0 -135
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-bun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.296.0
4
+ version: 0.296.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-06 00:00:00.000000000 Z
11
+ date: 2025-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.296.0
19
+ version: 0.296.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.296.0
26
+ version: 0.296.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: zeitwerk
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -249,7 +249,7 @@ dependencies:
249
249
  - !ruby/object:Gem::Version
250
250
  version: '1.7'
251
251
  description: Dependabot-bun provides support for bumping Javascript libraries using
252
- bun via Dependabot. If you want support for multiple package managers, you probably
252
+ bun via Dependabot.If you want support for multiple package managers, you probably
253
253
  want the meta-gem dependabot-omnibus.
254
254
  email: opensource@github.com
255
255
  executables: []
@@ -257,23 +257,54 @@ extensions: []
257
257
  extra_rdoc_files: []
258
258
  files:
259
259
  - lib/dependabot/bun.rb
260
- - lib/dependabot/bun/file_fetcher.rb
261
- - lib/dependabot/bun/file_parser/bun_lock.rb
262
- - lib/dependabot/bun/helpers.rb
263
- - lib/dependabot/bun/language.rb
264
- - lib/dependabot/bun/package_manager.rb
265
- - lib/dependabot/bun/requirement.rb
266
- - lib/dependabot/bun/version.rb
267
260
  - lib/dependabot/javascript.rb
268
- - lib/dependabot/javascript/file_fetcher_helper.rb
269
- - lib/dependabot/javascript/requirement.rb
270
- - lib/dependabot/javascript/version.rb
261
+ - lib/dependabot/javascript/bun/file_fetcher.rb
262
+ - lib/dependabot/javascript/bun/file_parser.rb
263
+ - lib/dependabot/javascript/bun/file_parser/bun_lock.rb
264
+ - lib/dependabot/javascript/bun/file_parser/lockfile_parser.rb
265
+ - lib/dependabot/javascript/bun/file_updater.rb
266
+ - lib/dependabot/javascript/bun/file_updater/lockfile_updater.rb
267
+ - lib/dependabot/javascript/bun/helpers.rb
268
+ - lib/dependabot/javascript/bun/package_manager.rb
269
+ - lib/dependabot/javascript/bun/requirement.rb
270
+ - lib/dependabot/javascript/bun/update_checker.rb
271
+ - lib/dependabot/javascript/bun/update_checker/conflicting_dependency_resolver.rb
272
+ - lib/dependabot/javascript/bun/update_checker/dependency_files_builder.rb
273
+ - lib/dependabot/javascript/bun/update_checker/latest_version_finder.rb
274
+ - lib/dependabot/javascript/bun/update_checker/library_detector.rb
275
+ - lib/dependabot/javascript/bun/update_checker/requirements_updater.rb
276
+ - lib/dependabot/javascript/bun/update_checker/subdependency_version_resolver.rb
277
+ - lib/dependabot/javascript/bun/update_checker/version_resolver.rb
278
+ - lib/dependabot/javascript/bun/update_checker/vulnerability_auditor.rb
279
+ - lib/dependabot/javascript/bun/version.rb
280
+ - lib/dependabot/javascript/shared/constraint_helper.rb
281
+ - lib/dependabot/javascript/shared/dependency_files_filterer.rb
282
+ - lib/dependabot/javascript/shared/file_fetcher.rb
283
+ - lib/dependabot/javascript/shared/file_parser.rb
284
+ - lib/dependabot/javascript/shared/file_parser/lockfile_parser.rb
285
+ - lib/dependabot/javascript/shared/file_updater.rb
286
+ - lib/dependabot/javascript/shared/file_updater/npmrc_builder.rb
287
+ - lib/dependabot/javascript/shared/file_updater/package_json_preparer.rb
288
+ - lib/dependabot/javascript/shared/file_updater/package_json_updater.rb
289
+ - lib/dependabot/javascript/shared/language.rb
290
+ - lib/dependabot/javascript/shared/metadata_finder.rb
291
+ - lib/dependabot/javascript/shared/native_helpers.rb
292
+ - lib/dependabot/javascript/shared/package_manager_detector.rb
293
+ - lib/dependabot/javascript/shared/package_name.rb
294
+ - lib/dependabot/javascript/shared/registry_helper.rb
295
+ - lib/dependabot/javascript/shared/registry_parser.rb
296
+ - lib/dependabot/javascript/shared/requirement.rb
297
+ - lib/dependabot/javascript/shared/sub_dependency_files_filterer.rb
298
+ - lib/dependabot/javascript/shared/update_checker/dependency_files_builder.rb
299
+ - lib/dependabot/javascript/shared/update_checker/registry_finder.rb
300
+ - lib/dependabot/javascript/shared/version.rb
301
+ - lib/dependabot/javascript/shared/version_selector.rb
271
302
  homepage: https://github.com/dependabot/dependabot-core
272
303
  licenses:
273
304
  - MIT
274
305
  metadata:
275
306
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
276
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.296.0
307
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.296.2
277
308
  post_install_message:
278
309
  rdoc_options: []
279
310
  require_paths:
@@ -292,5 +323,5 @@ requirements: []
292
323
  rubygems_version: 3.5.22
293
324
  signing_key:
294
325
  specification_version: 4
295
- summary: Provides Dependabot support for Bun
326
+ summary: Provides Dependabot support for bun
296
327
  test_files: []
@@ -1,97 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- module Dependabot
5
- module Bun
6
- class FileFetcher < Dependabot::FileFetchers::Base
7
- include Javascript::FileFetcherHelper
8
- extend T::Sig
9
- extend T::Helpers
10
-
11
- sig { override.params(filenames: T::Array[String]).returns(T::Boolean) }
12
- def self.required_files_in?(filenames)
13
- filenames.include?("package.json")
14
- end
15
-
16
- sig { override.returns(String) }
17
- def self.required_files_message
18
- "Repo must contain a package.json."
19
- end
20
-
21
- sig { override.returns(T.nilable(T::Hash[Symbol, T.untyped])) }
22
- def ecosystem_versions
23
- return unknown_ecosystem_versions unless ecosystem_enabled?
24
-
25
- {
26
- package_managers: {
27
- "bun" => 1
28
- }
29
- }
30
- end
31
-
32
- sig { override.returns(T::Array[DependencyFile]) }
33
- def fetch_files
34
- fetched_files = T.let([], T::Array[DependencyFile])
35
- fetched_files << package_json(self)
36
- fetched_files += bun_files if ecosystem_enabled?
37
- fetched_files += workspace_package_jsons(self)
38
- fetched_files += path_dependencies(self, fetched_files)
39
-
40
- fetched_files.uniq
41
- end
42
-
43
- sig { params(filename: String, fetch_submodules: T::Boolean).returns(DependencyFile) }
44
- def fetch_file(filename, fetch_submodules: false)
45
- fetch_file_from_host(filename, fetch_submodules: fetch_submodules)
46
- end
47
-
48
- sig do
49
- params(
50
- dir: T.any(Pathname, String),
51
- ignore_base_directory: T::Boolean,
52
- raise_errors: T::Boolean,
53
- fetch_submodules: T::Boolean
54
- )
55
- .returns(T::Array[T.untyped])
56
- end
57
- def fetch_repo_contents(dir: ".", ignore_base_directory: false, raise_errors: true, fetch_submodules: false)
58
- repo_contents(dir: dir, ignore_base_directory:, raise_errors:, fetch_submodules:)
59
- end
60
-
61
- private
62
-
63
- sig { returns(T::Array[DependencyFile]) }
64
- def bun_files
65
- [bun_lock].compact
66
- end
67
-
68
- sig { returns(T.nilable(DependencyFile)) }
69
- def bun_lock
70
- return @bun_lock if defined?(@bun_lock)
71
-
72
- @bun_lock ||= T.let(fetch_file_if_present(PackageManager::LOCKFILE_NAME), T.nilable(DependencyFile))
73
-
74
- return @bun_lock if @bun_lock || directory == "/"
75
-
76
- @bun_lock = fetch_file_from_parent_directories(self, PackageManager::LOCKFILE_NAME)
77
- end
78
-
79
- sig { returns(T::Boolean) }
80
- def ecosystem_enabled?
81
- allow_beta_ecosystems? && Experiments.enabled?(:enable_bun_ecosystem)
82
- end
83
-
84
- sig { returns(T::Hash[Symbol, String]) }
85
- def unknown_ecosystem_versions
86
- {
87
- package_managers: {
88
- "unknown" => 0
89
- }
90
- }
91
- end
92
- end
93
- end
94
- end
95
-
96
- Dependabot::FileFetchers
97
- .register(Dependabot::Bun::ECOSYSTEM, Dependabot::Bun::FileFetcher)
@@ -1,148 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- require "yaml"
5
- require "sorbet-runtime"
6
-
7
- module Dependabot
8
- module Bun
9
- class FileParser < Dependabot::FileParsers::Base
10
- class BunLock
11
- extend T::Sig
12
-
13
- sig { params(dependency_file: DependencyFile).void }
14
- def initialize(dependency_file)
15
- @dependency_file = dependency_file
16
- end
17
-
18
- sig { returns(T::Hash[String, T.untyped]) }
19
- def parsed
20
- @parsed ||= begin
21
- content = begin
22
- # Since bun.lock is a JSONC file, which is a subset of YAML, we can use YAML to parse it
23
- YAML.load(T.must(@dependency_file.content))
24
- rescue Psych::SyntaxError => e
25
- raise_invalid!("malformed JSONC at line #{e.line}, column #{e.column}")
26
- end
27
- raise_invalid!("expected to be an object") unless content.is_a?(Hash)
28
-
29
- version = content["lockfileVersion"]
30
- raise_invalid!("expected 'lockfileVersion' to be an integer") unless version.is_a?(Integer)
31
- raise_invalid!("expected 'lockfileVersion' to be >= 0") unless version >= 0
32
-
33
- T.let(content, T.untyped)
34
- end
35
- end
36
-
37
- sig { returns(Dependabot::FileParsers::Base::DependencySet) }
38
- def dependencies
39
- dependency_set = Dependabot::FileParsers::Base::DependencySet.new
40
-
41
- # bun.lock v0 format:
42
- # https://github.com/oven-sh/bun/blob/c130df6c589fdf28f9f3c7f23ed9901140bc9349/src/install/bun.lock.zig#L595-L605
43
-
44
- packages = parsed["packages"]
45
- raise_invalid!("expected 'packages' to be an object") unless packages.is_a?(Hash)
46
-
47
- packages.each do |key, details|
48
- raise_invalid!("expected 'packages.#{key}' to be an array") unless details.is_a?(Array)
49
-
50
- resolution = details.first
51
- raise_invalid!("expected 'packages.#{key}[0]' to be a string") unless resolution.is_a?(String)
52
-
53
- name, version = resolution.split(/(?<=\w)\@/)
54
- next if name.empty?
55
-
56
- semver = Version.semver_for(version)
57
- next unless semver
58
-
59
- dependency_set << Dependency.new(
60
- name: name,
61
- version: semver.to_s,
62
- package_manager: "npm_and_yarn",
63
- requirements: []
64
- )
65
- end
66
-
67
- dependency_set
68
- end
69
-
70
- sig do
71
- params(dependency_name: String, requirement: T.untyped, _manifest_name: String)
72
- .returns(T.nilable(T::Hash[String, T.untyped]))
73
- end
74
- def details(dependency_name, requirement, _manifest_name)
75
- packages = parsed["packages"]
76
- return unless packages.is_a?(Hash)
77
-
78
- candidates =
79
- packages
80
- .select { |name, _| name == dependency_name }
81
- .values
82
-
83
- # If there's only one entry for this dependency, use it, even if
84
- # the requirement in the lockfile doesn't match
85
- if candidates.one?
86
- parse_details(candidates.first)
87
- else
88
- candidate = candidates.find do |label, _|
89
- label.scan(/(?<=\w)\@(?:npm:)?([^\s,]+)/).flatten.include?(requirement)
90
- end&.last
91
- parse_details(candidate)
92
- end
93
- end
94
-
95
- private
96
-
97
- sig { params(message: String).void }
98
- def raise_invalid!(message)
99
- raise Dependabot::DependencyFileNotParseable.new(@dependency_file.path, "Invalid bun.lock file: #{message}")
100
- end
101
-
102
- sig do
103
- params(entry: T.nilable(T::Array[T.untyped])).returns(T.nilable(T::Hash[String, T.untyped]))
104
- end
105
- def parse_details(entry)
106
- return unless entry.is_a?(Array)
107
-
108
- # Either:
109
- # - "{name}@{version}", registry, details, integrity
110
- # - "{name}@{resolution}", details
111
- resolution = entry.first
112
- return unless resolution.is_a?(String)
113
-
114
- name, version = resolution.split(/(?<=\w)\@/)
115
- semver = Version.semver_for(version)
116
-
117
- if semver
118
- registry, details, integrity = entry[1..3]
119
- {
120
- "name" => name,
121
- "version" => semver.to_s,
122
- "registry" => registry,
123
- "details" => details,
124
- "integrity" => integrity
125
- }
126
- else
127
- details = entry[1]
128
- {
129
- "name" => name,
130
- "resolution" => version,
131
- "details" => details
132
- }
133
- end
134
- end
135
- end
136
-
137
- sig { override.returns(T::Array[Dependabot::Dependency]) }
138
- def parse
139
- []
140
- end
141
-
142
- private
143
-
144
- sig { override.void }
145
- def check_required_files; end
146
- end
147
- end
148
- end
@@ -1,79 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- module Dependabot
5
- module Bun
6
- module Helpers
7
- extend T::Sig
8
-
9
- # BUN Version Constants
10
- BUN_V1 = 1
11
- BUN_DEFAULT_VERSION = BUN_V1
12
-
13
- sig { params(_bun_lock: T.nilable(DependencyFile)).returns(Integer) }
14
- def self.bun_version_numeric(_bun_lock)
15
- BUN_DEFAULT_VERSION
16
- end
17
-
18
- sig { returns(T.nilable(String)) }
19
- def self.bun_version
20
- run_bun_command("--version", fingerprint: "--version").strip
21
- rescue StandardError => e
22
- Dependabot.logger.error("Error retrieving Bun version: #{e.message}")
23
- nil
24
- end
25
-
26
- sig { params(command: String, fingerprint: T.nilable(String)).returns(String) }
27
- def self.run_bun_command(command, fingerprint: nil)
28
- full_command = "bun #{command}"
29
-
30
- Dependabot.logger.info("Running bun command: #{full_command}")
31
-
32
- result = Dependabot::SharedHelpers.run_shell_command(
33
- full_command,
34
- fingerprint: "bun #{fingerprint || command}"
35
- )
36
-
37
- Dependabot.logger.info("Command executed successfully: #{full_command}")
38
- result
39
- rescue StandardError => e
40
- Dependabot.logger.error("Error running bun command: #{full_command}, Error: #{e.message}")
41
- raise
42
- end
43
-
44
- # Fetch the currently installed version of the package manager directly
45
- # from the system
46
- sig { params(name: String).returns(String) }
47
- def self.local_package_manager_version(name)
48
- Dependabot::SharedHelpers.run_shell_command(
49
- "#{name} -v",
50
- fingerprint: "#{name} -v"
51
- ).strip
52
- end
53
-
54
- # Run single command on package manager returning stdout/stderr
55
- sig do
56
- params(
57
- name: String,
58
- command: String,
59
- fingerprint: T.nilable(String)
60
- ).returns(String)
61
- end
62
- def self.package_manager_run_command(name, command, fingerprint: nil)
63
- return run_bun_command(command, fingerprint: fingerprint) if name == PackageManager::NAME
64
-
65
- # TODO: remove this method and just use the one in the PackageManager class
66
- "noop"
67
- end
68
-
69
- sig { params(dependency_set: Dependabot::FileParsers::Base::DependencySet).returns(T::Array[Dependency]) }
70
- def self.dependencies_with_all_versions_metadata(dependency_set)
71
- # TODO: Check if we still need this method
72
- dependency_set.dependencies.map do |dependency|
73
- dependency.metadata[:all_versions] = dependency_set.all_versions_for_name(dependency.name)
74
- dependency
75
- end
76
- end
77
- end
78
- end
79
- end
@@ -1,45 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- require "dependabot/npm_and_yarn/package_manager"
5
-
6
- module Dependabot
7
- module Bun
8
- class Language < Ecosystem::VersionManager
9
- extend T::Sig
10
- NAME = "node"
11
-
12
- SUPPORTED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
13
-
14
- DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
15
-
16
- sig do
17
- params(
18
- detected_version: T.nilable(String),
19
- raw_version: T.nilable(String),
20
- requirement: T.nilable(Dependabot::NpmAndYarn::Requirement)
21
- ).void
22
- end
23
- def initialize(detected_version: nil, raw_version: nil, requirement: nil)
24
- super(
25
- name: NAME,
26
- detected_version: detected_version ? Version.new(detected_version) : nil,
27
- version: raw_version ? Version.new(raw_version) : nil,
28
- deprecated_versions: DEPRECATED_VERSIONS,
29
- supported_versions: SUPPORTED_VERSIONS,
30
- requirement: requirement
31
- )
32
- end
33
-
34
- sig { override.returns(T::Boolean) }
35
- def deprecated?
36
- false
37
- end
38
-
39
- sig { override.returns(T::Boolean) }
40
- def unsupported?
41
- false
42
- end
43
- end
44
- end
45
- end
@@ -1,46 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- module Dependabot
5
- module Bun
6
- class PackageManager < Ecosystem::VersionManager
7
- extend T::Sig
8
- NAME = "bun"
9
- LOCKFILE_NAME = "bun.lock"
10
-
11
- # In Bun 1.1.39, the lockfile format was changed from a binary bun.lockb to a text-based bun.lock.
12
- # https://bun.sh/blog/bun-lock-text-lockfile
13
- MIN_SUPPORTED_VERSION = T.let(Version.new("1.1.39"), Javascript::Version)
14
- SUPPORTED_VERSIONS = T.let([MIN_SUPPORTED_VERSION].freeze, T::Array[Javascript::Version])
15
- DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Version])
16
-
17
- sig do
18
- params(
19
- detected_version: T.nilable(String),
20
- raw_version: T.nilable(String),
21
- requirement: T.nilable(Requirement)
22
- ).void
23
- end
24
- def initialize(detected_version: nil, raw_version: nil, requirement: nil)
25
- super(
26
- name: NAME,
27
- detected_version: detected_version ? Version.new(detected_version) : nil,
28
- version: raw_version ? Version.new(raw_version) : nil,
29
- deprecated_versions: DEPRECATED_VERSIONS,
30
- supported_versions: SUPPORTED_VERSIONS,
31
- requirement: requirement
32
- )
33
- end
34
-
35
- sig { override.returns(T::Boolean) }
36
- def deprecated?
37
- false
38
- end
39
-
40
- sig { override.returns(T::Boolean) }
41
- def unsupported?
42
- false
43
- end
44
- end
45
- end
46
- end
@@ -1,14 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- module Dependabot
5
- module Bun
6
- class Requirement < Dependabot::Javascript::Requirement
7
- end
8
- end
9
- end
10
-
11
- Dependabot::Utils.register_requirement_class(
12
- "bun",
13
- Dependabot::Bun::Requirement
14
- )
@@ -1,12 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- module Dependabot
5
- module Bun
6
- class Version < Dependabot::Javascript::Version
7
- end
8
- end
9
- end
10
-
11
- Dependabot::Utils
12
- .register_version_class("bun", Dependabot::Bun::Version)