ecosystems-bibliothecary 15.1.1 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +137 -124
  4. data/lib/bibliothecary/analyser.rb +4 -0
  5. data/lib/bibliothecary/parsers/actions.rb +4 -0
  6. data/lib/bibliothecary/parsers/bentoml.rb +4 -0
  7. data/lib/bibliothecary/parsers/bower.rb +4 -0
  8. data/lib/bibliothecary/parsers/cargo.rb +4 -0
  9. data/lib/bibliothecary/parsers/carthage.rb +4 -0
  10. data/lib/bibliothecary/parsers/clojars.rb +4 -0
  11. data/lib/bibliothecary/parsers/cocoapods.rb +4 -0
  12. data/lib/bibliothecary/parsers/cog.rb +4 -0
  13. data/lib/bibliothecary/parsers/conan.rb +4 -0
  14. data/lib/bibliothecary/parsers/conda.rb +4 -0
  15. data/lib/bibliothecary/parsers/cpan.rb +4 -0
  16. data/lib/bibliothecary/parsers/cran.rb +4 -0
  17. data/lib/bibliothecary/parsers/deno.rb +98 -0
  18. data/lib/bibliothecary/parsers/docker.rb +4 -0
  19. data/lib/bibliothecary/parsers/dub.rb +4 -0
  20. data/lib/bibliothecary/parsers/dvc.rb +4 -0
  21. data/lib/bibliothecary/parsers/elm.rb +4 -0
  22. data/lib/bibliothecary/parsers/go.rb +4 -0
  23. data/lib/bibliothecary/parsers/hackage.rb +55 -0
  24. data/lib/bibliothecary/parsers/haxelib.rb +4 -0
  25. data/lib/bibliothecary/parsers/hex.rb +89 -0
  26. data/lib/bibliothecary/parsers/homebrew.rb +4 -0
  27. data/lib/bibliothecary/parsers/julia.rb +55 -0
  28. data/lib/bibliothecary/parsers/luarocks.rb +4 -0
  29. data/lib/bibliothecary/parsers/maven.rb +4 -0
  30. data/lib/bibliothecary/parsers/meteor.rb +4 -0
  31. data/lib/bibliothecary/parsers/mlflow.rb +4 -0
  32. data/lib/bibliothecary/parsers/nimble.rb +4 -0
  33. data/lib/bibliothecary/parsers/nix.rb +205 -0
  34. data/lib/bibliothecary/parsers/npm.rb +4 -0
  35. data/lib/bibliothecary/parsers/nuget.rb +4 -0
  36. data/lib/bibliothecary/parsers/ollama.rb +4 -0
  37. data/lib/bibliothecary/parsers/packagist.rb +4 -0
  38. data/lib/bibliothecary/parsers/pub.rb +4 -0
  39. data/lib/bibliothecary/parsers/pypi.rb +9 -0
  40. data/lib/bibliothecary/parsers/rubygems.rb +4 -0
  41. data/lib/bibliothecary/parsers/shard.rb +4 -0
  42. data/lib/bibliothecary/parsers/swift_pm.rb +4 -0
  43. data/lib/bibliothecary/parsers/vcpkg.rb +4 -0
  44. data/lib/bibliothecary/version.rb +1 -1
  45. data/lib/bibliothecary.rb +7 -0
  46. metadata +3 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49988f4a70c1d5dcf6b7c05bffba8d885b3e63f04545f0c524d32b46de0804f2
4
- data.tar.gz: 121b4e75f934770b9967b0e3b2427ddc1dc6aaaa19f8ed0d72f1001e50d4d575
3
+ metadata.gz: c1399499146bc9abb6b2053d1e842cff2a33e05166f4fca7fed6fba222146f5e
4
+ data.tar.gz: 2b1460ba23303796a1b73bfa445fee11771857f5270effce6da04e6ed4ff920f
5
5
  SHA512:
6
- metadata.gz: 227adbf47ce52d6a9bb70be154f0cc204f5f327b68adeb8c91fd2e668036359eebd07d3fb940f0d4eef00128af04fb2073304147b9285589917efef1b1d5d5cf
7
- data.tar.gz: ca3b36ddfa71702dae9737500dcf09ad6a9e6c4daf5758738c793614bcdcbd730a50083d081ee45a899536b0f01c1bd7d4eef90117cc3c1aeee6063a780e0b3f
6
+ metadata.gz: 2ab9631fd2e5472d6a60784685252961f75fcae716561d1e7bd6c1bc7f87bba18f346988b26f787cc13bd666fc06a99db133926726880ee983e01fbe4f64a5d9
7
+ data.tar.gz: 1dc6d4efca6e8b643ca7c76e495a6b40364169fc8b51d238f2708e5da1ec8d04515adafec8d2042951088729258b3552a547473c93a59ae3f12c7a89ff681065
data/CHANGELOG.md CHANGED
@@ -13,6 +13,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
 
14
14
  ### Removed
15
15
 
16
+ ## [15.2.0]
17
+
18
+ ### Added
19
+
20
+ - Deno parser for deno.json, deno.jsonc, and deno.lock files (supports npm: and jsr: specifiers)
21
+ - Nix parser for flake.nix, flake.lock, nix/sources.json (niv), and npins/sources.json (npins)
22
+ - Gleam support in Hex parser for gleam.toml and manifest.toml
23
+ - Rebar3 support in Hex parser for rebar.lock
24
+ - Julia Project.toml and Manifest.toml support
25
+ - Hackage cabal.project.freeze support
26
+
16
27
  ## [15.1.1]
17
28
 
18
29
  ### Added
data/README.md CHANGED
@@ -44,164 +44,177 @@ All available config options are in: https://github.com/ecosyste-ms/bibliothecar
44
44
 
45
45
  ## Supported package manager file formats
46
46
 
47
- - npm
48
- - package.json
49
- - package-lock.json
50
- - npm-shrinkwrap.json
51
- - yarn.lock
52
- - pnpm-lock.yaml
53
- - bun.lock
54
- - npm-ls.json
55
- - Maven
56
- - pom.xml
57
- - ivy.xml
58
- - build.gradle
59
- - build.gradle.kts
60
- - gradle-dependencies-q.txt
61
- - maven-resolved-dependencies.txt
62
- - sbt-update-full.txt
63
- - maven-dependency-tree.txt
64
- - maven-dependency-tree.dot
65
- - gradle.lockfile
66
- - verification-metadata.xml
67
- - RubyGems
68
- - Gemfile
69
- - Gemfile.lock
70
- - gems.rb
71
- - gems.locked
72
- - *.gemspec
73
- - Packagist
74
- - composer.json
75
- - composer.lock
76
- - PyPi
77
- - setup.py
78
- - req*.txt
79
- - req*.pip
80
- - requirements/*.txt
81
- - requirements/*.pip
82
- - requirements.frozen
83
- - Pipfile
84
- - Pipfile.lock
85
- - pyproject.toml
86
- - poetry.lock
87
- - uv.lock
88
- - pylock.toml
89
- - pdm.lock
90
- - pip-resolved-dependencies.txt
91
- - pip-dependency-graph.json
92
- - Nuget
93
- - packages.config
94
- - packages.lock.json
95
- - Project.json
96
- - Project.lock.json
97
- - *.nuspec
98
- - paket.lock
99
- - *.csproj
100
- - project.assets.json
101
- - \*.deps.json
102
- - Bower
103
- - bower.json
104
- - BentoML
105
- - bentofile.yaml
106
- - CPAN
107
- - META.json
108
- - META.yml
109
- - cpanfile
110
- - cpanfile.snapshot
111
- - Makefile.PL
112
- - Build.PL
113
- - CocoaPods
114
- - Podfile
115
- - Podfile.lock
116
- - *.podspec
117
- - *.podspec.json
47
+ - Actions
48
+ - action.yml
49
+ - action.yaml
50
+ - .github/workflows/\*.yml
51
+ - .github/workflows/\*.yaml
118
52
  - Anaconda
119
53
  - environment.yml
120
54
  - environment.yaml
55
+ - BentoML
56
+ - bentofile.yaml
57
+ - Bower
58
+ - bower.json
59
+ - Cargo
60
+ - Cargo.toml
61
+ - Cargo.lock
62
+ - Carthage
63
+ - Cartfile
64
+ - Cartfile.private
65
+ - Cartfile.resolved
121
66
  - Clojars
122
67
  - project.clj
68
+ - CocoaPods
69
+ - Podfile
70
+ - \*.podspec
71
+ - Podfile.lock
72
+ - \*.podspec.json
123
73
  - Cog
124
74
  - cog.yaml
125
75
  - Conan
126
76
  - conanfile.py
127
77
  - conanfile.txt
128
78
  - conan.lock
129
- - Meteor
130
- - versions.json
131
- - MLflow
132
- - MLmodel
79
+ - CPAN
80
+ - META.json
81
+ - META.yml
82
+ - cpanfile
83
+ - cpanfile.snapshot
84
+ - Makefile.PL
85
+ - Build.PL
133
86
  - CRAN
134
87
  - DESCRIPTION
135
88
  - renv.lock
136
- - Cargo
137
- - Cargo.toml
138
- - Cargo.lock
139
- - Hex
140
- - mix.exs
141
- - mix.lock
142
- - Swift
143
- - Package.swift
144
- - Package.resolved
145
- - Pub
146
- - pubspec.yaml
147
- - pubspec.lock
148
- - Carthage
149
- - Cartfile
150
- - Cartfile.private
151
- - Cartfile.resolved
89
+ - Deno
90
+ - deno.json
91
+ - deno.jsonc
92
+ - deno.lock
93
+ - Docker
94
+ - docker-compose\*.yml
95
+ - Dockerfile
152
96
  - Dub
153
97
  - dub.json
154
98
  - dub.sdl
155
- - Julia
156
- - REQUIRE
157
- - Shards
158
- - shard.yml
159
- - shard.lock
99
+ - DVC
100
+ - dvc.yaml
101
+ - Elm
102
+ - elm-package.json
103
+ - elm_dependencies.json
104
+ - elm-stuff/exact-dependencies.json
160
105
  - Go
106
+ - go.mod
107
+ - go.sum
161
108
  - glide.yaml
162
109
  - glide.lock
163
- - Godeps
164
110
  - Godeps/Godeps.json
111
+ - Godeps
165
112
  - vendor/manifest
166
113
  - vendor/vendor.json
167
114
  - Gopkg.toml
168
115
  - Gopkg.lock
169
- - go.mod
170
- - go.sum
171
116
  - go-resolved-dependencies.json
172
- - Elm
173
- - elm-package.json
174
- - elm_dependencies.json
175
- - elm-stuff/exact-dependencies.json
176
- - Haxelib
177
- - haxelib.json
178
117
  - Hackage
179
118
  - \*.cabal
180
- - cabal.config
119
+ - \*cabal.config
181
120
  - stack.yaml.lock
182
- - Actions
183
- - action.yml
184
- - action.yaml
185
- - .github/workflows/*.yml
186
- - .github/workflows/*.yaml
187
- - Docker
188
- - Dockerfile
189
- - docker-compose*.yml
190
- - docker-compose*.yaml
191
- - DVC
192
- - dvc.yaml
193
- - Vcpkg
194
- - vcpkg.json
195
- - _generated-vcpkg-list.json
121
+ - cabal.project.freeze
122
+ - Haxelib
123
+ - haxelib.json
124
+ - Hex
125
+ - mix.exs
126
+ - mix.lock
127
+ - gleam.toml
128
+ - manifest.toml
129
+ - rebar.lock
196
130
  - Homebrew
197
131
  - Brewfile
198
132
  - Brewfile.lock.json
199
- - Ollama
200
- - Modelfile
201
- - Nimble
202
- - \*.nimble
133
+ - Julia
134
+ - REQUIRE
135
+ - Project.toml
136
+ - Manifest.toml
203
137
  - LuaRocks
204
138
  - \*.rockspec
139
+ - Maven
140
+ - ivy.xml
141
+ - pom.xml
142
+ - build.gradle
143
+ - build.gradle.kts
144
+ - gradle-dependencies-q.txt
145
+ - maven-resolved-dependencies.txt
146
+ - sbt-update-full.txt
147
+ - maven-dependency-tree.txt
148
+ - maven-dependency-tree.dot
149
+ - gradle.lockfile
150
+ - verification-metadata.xml
151
+ - Meteor
152
+ - versions.json
153
+ - MLflow
154
+ - MLmodel
155
+ - Nimble
156
+ - \*.nimble
157
+ - Nix
158
+ - flake.nix
159
+ - flake.lock
160
+ - nix/sources.json
161
+ - npins/sources.json
162
+ - npm
163
+ - package.json
164
+ - package-lock.json
165
+ - npm-shrinkwrap.json
166
+ - yarn.lock
167
+ - pnpm-lock.yaml
168
+ - bun.lock
169
+ - npm-ls.json
170
+ - Nuget
171
+ - Project.json
172
+ - Project.lock.json
173
+ - packages.lock.json
174
+ - packages.config
175
+ - \*.nuspec
176
+ - \*.csproj
177
+ - paket.lock
178
+ - project.assets.json
179
+ - \*.deps.json
180
+ - Ollama
181
+ - Modelfile
182
+ - Packagist
183
+ - composer.json
184
+ - composer.lock
185
+ - Pub
186
+ - pubspec.yaml
187
+ - pubspec.lock
188
+ - PyPi
189
+ - setup.py
190
+ - requirements\*.txt
191
+ - requirements\*.pip
192
+ - requirements\*.in
193
+ - requirements.frozen
194
+ - Pipfile
195
+ - Pipfile.lock
196
+ - pyproject.toml
197
+ - poetry.lock
198
+ - uv.lock
199
+ - pylock.toml
200
+ - pdm.lock
201
+ - pip-resolved-dependencies.txt
202
+ - pip-dependency-graph.json
203
+ - RubyGems
204
+ - Gemfile
205
+ - Gemfile.lock
206
+ - gems.rb
207
+ - gems.locked
208
+ - \*.gemspec
209
+ - Shards
210
+ - shard.yml
211
+ - shard.lock
212
+ - Swift
213
+ - Package.swift
214
+ - Package.resolved
215
+ - Vcpkg
216
+ - vcpkg.json
217
+ - _generated-vcpkg-list.json
205
218
 
206
219
  ## Development
207
220
 
@@ -43,6 +43,10 @@ module Bibliothecary
43
43
  @platform_name ||= name.to_s.split("::").last.downcase.freeze
44
44
  end
45
45
 
46
+ def file_patterns
47
+ []
48
+ end
49
+
46
50
  def map_dependencies(hash, key, type, source = nil)
47
51
  hash.fetch(key, []).map do |name, requirement|
48
52
  Dependency.new(
@@ -7,6 +7,10 @@ module Bibliothecary
7
7
 
8
8
  WORKFLOW_REGEX = /^\.github\/workflows\/.*.y(a)?ml/
9
9
 
10
+ def self.file_patterns
11
+ ["action.yml", "action.yaml", ".github/workflows/*.yml", ".github/workflows/*.yaml"]
12
+ end
13
+
10
14
  def self.mapping
11
15
  {
12
16
  match_filenames("action.yml","action.yaml") => {
@@ -5,6 +5,10 @@ module Bibliothecary
5
5
  class BentoML
6
6
  include Bibliothecary::Analyser
7
7
 
8
+ def self.file_patterns
9
+ ["bentofile.yaml"]
10
+ end
11
+
8
12
  def self.mapping
9
13
  {
10
14
  match_filename("bentofile.yaml") => {
@@ -7,6 +7,10 @@ module Bibliothecary
7
7
  class Bower
8
8
  include Bibliothecary::Analyser
9
9
 
10
+ def self.file_patterns
11
+ ["bower.json"]
12
+ end
13
+
10
14
  def self.mapping
11
15
  {
12
16
  match_filename("bower.json") => {
@@ -5,6 +5,10 @@ module Bibliothecary
5
5
  class Cargo
6
6
  include Bibliothecary::Analyser
7
7
 
8
+ def self.file_patterns
9
+ ["Cargo.toml", "Cargo.lock"]
10
+ end
11
+
8
12
  def self.mapping
9
13
  {
10
14
  match_filename("Cargo.toml") => {
@@ -15,6 +15,10 @@ module Bibliothecary
15
15
  # Group 4: unquoted requirement (e.g., >= 1.0, ~> 2.0)
16
16
  CARTFILE_REGEXP = /^(github|git|binary)\s+"([^"]+)"(?:\s+(?:"([^"]+)"|((?:>=|<=|~>|==|>|<)\s*[\d.]+)))?/
17
17
 
18
+ def self.file_patterns
19
+ ["Cartfile", "Cartfile.private", "Cartfile.resolved"]
20
+ end
21
+
18
22
  def self.mapping
19
23
  {
20
24
  match_filename("Cartfile") => {
@@ -7,6 +7,10 @@ module Bibliothecary
7
7
  # Name can be like: org.clojure/clojure, cheshire, ring/ring-defaults
8
8
  DEPENDENCY_REGEXP = %r{\[([a-zA-Z0-9_./\-]+)\s+"([^"]+)"\]}
9
9
 
10
+ def self.file_patterns
11
+ ["project.clj"]
12
+ end
13
+
10
14
  def self.mapping
11
15
  {
12
16
  match_filename("project.clj") => {
@@ -17,6 +17,10 @@ module Bibliothecary
17
17
  # Podspec pattern: .dependency "Name", "version"
18
18
  PODSPEC_DEPENDENCY = /\.dependency\s+['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"])?/
19
19
 
20
+ def self.file_patterns
21
+ ["Podfile", "*.podspec", "Podfile.lock", "*.podspec.json"]
22
+ end
23
+
20
24
  def self.mapping
21
25
  {
22
26
  match_filename("Podfile") => {
@@ -5,6 +5,10 @@ module Bibliothecary
5
5
  class Cog
6
6
  include Bibliothecary::Analyser
7
7
 
8
+ def self.file_patterns
9
+ ["cog.yaml"]
10
+ end
11
+
8
12
  def self.mapping
9
13
  {
10
14
  match_filename("cog.yaml") => {
@@ -5,6 +5,10 @@ module Bibliothecary
5
5
  class Conan
6
6
  include Bibliothecary::Analyser
7
7
 
8
+ def self.file_patterns
9
+ ["conanfile.py", "conanfile.txt", "conan.lock"]
10
+ end
11
+
8
12
  def self.mapping
9
13
  {
10
14
  match_filename("conanfile.py") => {
@@ -7,6 +7,10 @@ module Bibliothecary
7
7
  class Conda
8
8
  include Bibliothecary::Analyser
9
9
 
10
+ def self.file_patterns
11
+ ["environment.yml", "environment.yaml"]
12
+ end
13
+
10
14
  def self.mapping
11
15
  {
12
16
  match_filename("environment.yml") => {
@@ -8,6 +8,10 @@ module Bibliothecary
8
8
  class CPAN
9
9
  include Bibliothecary::Analyser
10
10
 
11
+ def self.file_patterns
12
+ ["META.json", "META.yml", "cpanfile", "cpanfile.snapshot", "Makefile.PL", "Build.PL"]
13
+ end
14
+
11
15
  def self.mapping
12
16
  {
13
17
  match_filename("META.json", case_insensitive: true) => {
@@ -9,6 +9,10 @@ module Bibliothecary
9
9
 
10
10
  REQUIRE_REGEXP = /([a-zA-Z0-9\-_.]+)\s?\(?([><=\s\d.,]+)?\)?/
11
11
 
12
+ def self.file_patterns
13
+ ["DESCRIPTION", "renv.lock"]
14
+ end
15
+
12
16
  def self.mapping
13
17
  {
14
18
  match_filename("DESCRIPTION", case_insensitive: true) => {
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Bibliothecary
6
+ module Parsers
7
+ class Deno
8
+ include Bibliothecary::Analyser
9
+
10
+ def self.file_patterns
11
+ ["deno.json", "deno.jsonc", "deno.lock"]
12
+ end
13
+
14
+ def self.mapping
15
+ {
16
+ match_filename("deno.json") => {
17
+ kind: "manifest",
18
+ parser: :parse_manifest,
19
+ },
20
+ match_filename("deno.jsonc") => {
21
+ kind: "manifest",
22
+ parser: :parse_manifest,
23
+ },
24
+ match_filename("deno.lock") => {
25
+ kind: "lockfile",
26
+ parser: :parse_lockfile,
27
+ },
28
+ }
29
+ end
30
+
31
+ def self.parse_manifest(file_contents, options: {})
32
+ manifest = JSON.parse(file_contents)
33
+ source = options.fetch(:filename, nil)
34
+
35
+ dependencies = manifest.fetch("imports", {}).map do |alias_name, specifier|
36
+ name, requirement = parse_specifier(specifier)
37
+ next unless name
38
+
39
+ Dependency.new(
40
+ name: name,
41
+ requirement: requirement,
42
+ type: "runtime",
43
+ source: source,
44
+ platform: platform_name
45
+ )
46
+ end.compact
47
+
48
+ ParserResult.new(dependencies: dependencies)
49
+ end
50
+
51
+ def self.parse_lockfile(file_contents, options: {})
52
+ manifest = JSON.parse(file_contents)
53
+ source = options.fetch(:filename, nil)
54
+
55
+ dependencies = manifest.fetch("specifiers", {}).map do |specifier, resolved_version|
56
+ name, _requirement = parse_specifier(specifier)
57
+ next unless name
58
+
59
+ Dependency.new(
60
+ name: name,
61
+ requirement: resolved_version,
62
+ type: "runtime",
63
+ source: source,
64
+ platform: platform_name
65
+ )
66
+ end.compact
67
+
68
+ ParserResult.new(dependencies: dependencies)
69
+ end
70
+
71
+ # Parses specifiers like:
72
+ # "npm:chalk@1" => ["chalk", "1"]
73
+ # "npm:chalk" => ["chalk", "*"]
74
+ # "jsr:@std/path@^1" => ["@std/path", "^1"]
75
+ # "jsr:@std/path" => ["@std/path", "*"]
76
+ def self.parse_specifier(specifier)
77
+ return nil unless specifier.start_with?("npm:", "jsr:")
78
+
79
+ # Remove the protocol prefix
80
+ without_protocol = specifier.sub(/^(npm|jsr):/, "")
81
+
82
+ # Handle scoped packages (@scope/name@version)
83
+ if without_protocol.start_with?("@")
84
+ # Split on @ but keep the first @ for the scope
85
+ parts = without_protocol[1..].split("@", 2)
86
+ name = "@#{parts[0]}"
87
+ requirement = parts[1] || "*"
88
+ else
89
+ # Regular package (name@version)
90
+ name, requirement = without_protocol.split("@", 2)
91
+ requirement ||= "*"
92
+ end
93
+
94
+ [name, requirement]
95
+ end
96
+ end
97
+ end
98
+ end
@@ -8,6 +8,10 @@ module Bibliothecary
8
8
 
9
9
  DOCKER_COMPOSE_REGEXP = /docker-compose[a-zA-Z0-9\-_\.]*\.yml$/
10
10
 
11
+ def self.file_patterns
12
+ ["docker-compose*.yml", "Dockerfile"]
13
+ end
14
+
11
15
  def self.mapping
12
16
  {
13
17
  lambda { |p| DOCKER_COMPOSE_REGEXP.match(p) } => {
@@ -9,6 +9,10 @@ module Bibliothecary
9
9
 
10
10
  SDL_DEPENDENCY_REGEXP = /^dependency\s+"([^"]+)"(?:\s+version="([^"]+)")?/
11
11
 
12
+ def self.file_patterns
13
+ ["dub.json", "dub.sdl"]
14
+ end
15
+
12
16
  def self.mapping
13
17
  {
14
18
  match_filename("dub.json") => {
@@ -5,6 +5,10 @@ module Bibliothecary
5
5
  class DVC
6
6
  include Bibliothecary::Analyser
7
7
 
8
+ def self.file_patterns
9
+ ["dvc.yaml"]
10
+ end
11
+
8
12
  def self.mapping
9
13
  {
10
14
  match_filename("dvc.yaml") => {
@@ -7,6 +7,10 @@ module Bibliothecary
7
7
  class Elm
8
8
  include Bibliothecary::Analyser
9
9
 
10
+ def self.file_patterns
11
+ ["elm-package.json", "elm_dependencies.json", "elm-stuff/exact-dependencies.json"]
12
+ end
13
+
10
14
  def self.mapping
11
15
  {
12
16
  match_filenames("elm-package.json", "elm_dependencies.json") => {
@@ -18,6 +18,10 @@ module Bibliothecary
18
18
  GOMOD_MULTILINE_END_REGEXP = /^\)/
19
19
  GOSUM_REGEXP = /^(.+)\s+(.+)\s+(.+)$/
20
20
 
21
+ def self.file_patterns
22
+ ["go.mod", "go.sum", "glide.yaml", "glide.lock", "Godeps/Godeps.json", "Godeps", "vendor/manifest", "vendor/vendor.json", "Gopkg.toml", "Gopkg.lock", "go-resolved-dependencies.json"]
23
+ end
24
+
21
25
  def self.mapping
22
26
  {
23
27
  # Go Modules (recommended)