bibliothecary 12.1.5 → 12.1.7
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/bibliothecary/parsers/npm.rb +20 -13
- data/lib/bibliothecary/parsers/pub.rb +6 -5
- data/lib/bibliothecary/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18bfbedc4fbc53fe3e7f4ee02ee42ba27462dbc488efd3ee48a87e2ad12cd1e2
|
4
|
+
data.tar.gz: 5210a4d460815bf40f21639b0a2d887a59b9672fdb64d97981809ab87cbae744
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0a2503b63e500193ba491ee1875ba0ded58a01d5fa6bed2eefae36cf2e4e6f0111a1f84dd1334b8bd3bf0b728065dcba299d19b7414d476f606554031840b7b
|
7
|
+
data.tar.gz: dd586eb81b390826b23021edf014ff2adc2f6738487c18a51a1e08dc9ad0b10a6b8d9e20b79219411b45f3323221b9d0c0f0c8bc977feb7e90d66af8ce329fda
|
data/CHANGELOG.md
CHANGED
@@ -13,6 +13,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
13
13
|
|
14
14
|
### Removed
|
15
15
|
|
16
|
+
## [12.1.7] - 2025-04-29
|
17
|
+
|
18
|
+
### Added
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
|
22
|
+
- Include "source" field in Dependency objects from pub files.
|
23
|
+
- Include "source" field in Dependency objects from pnpm-lock.yaml files.
|
24
|
+
|
25
|
+
### Removed
|
26
|
+
|
27
|
+
## [12.1.6] - 2025-04-29
|
28
|
+
|
29
|
+
### Added
|
30
|
+
|
31
|
+
### Changed
|
32
|
+
|
33
|
+
- Use JSON.parser.parse() in bun.lock parser to work around overriden JSON.parse() method.
|
34
|
+
- Don't raise an error in pnpm-lock.yaml v9 parser if devDependencies isn't found.
|
35
|
+
|
36
|
+
### Removed
|
37
|
+
|
16
38
|
## [12.1.5] - 2025-03-17
|
17
39
|
|
18
40
|
### Added
|
@@ -256,7 +256,7 @@ module Bibliothecary
|
|
256
256
|
end
|
257
257
|
end
|
258
258
|
|
259
|
-
def self.parse_v5_pnpm_lock(parsed_contents,
|
259
|
+
def self.parse_v5_pnpm_lock(parsed_contents, source = nil)
|
260
260
|
dependency_mapping = parsed_contents.fetch("dependencies", {})
|
261
261
|
.merge(parsed_contents.fetch("devDependencies", {}))
|
262
262
|
|
@@ -283,12 +283,13 @@ module Bibliothecary
|
|
283
283
|
requirement: version,
|
284
284
|
original_name: original_name,
|
285
285
|
original_requirement: original_requirement,
|
286
|
-
type: is_dev ? "development" : "runtime"
|
286
|
+
type: is_dev ? "development" : "runtime",
|
287
|
+
source: source
|
287
288
|
)
|
288
289
|
end
|
289
290
|
end
|
290
291
|
|
291
|
-
def self.parse_v6_pnpm_lock(parsed_contents,
|
292
|
+
def self.parse_v6_pnpm_lock(parsed_contents, source = nil)
|
292
293
|
dependency_mapping = parsed_contents.fetch("dependencies", {})
|
293
294
|
.merge(parsed_contents.fetch("devDependencies", {}))
|
294
295
|
|
@@ -318,14 +319,15 @@ module Bibliothecary
|
|
318
319
|
requirement: version,
|
319
320
|
original_name: original_name,
|
320
321
|
original_requirement: original_requirement,
|
321
|
-
type: is_dev ? "development" : "runtime"
|
322
|
+
type: is_dev ? "development" : "runtime",
|
323
|
+
source: source
|
322
324
|
)
|
323
325
|
end
|
324
326
|
end
|
325
327
|
|
326
|
-
def self.parse_v9_pnpm_lock(parsed_contents,
|
327
|
-
dependencies = parsed_contents.fetch("importers", {}).fetch(".", {}).fetch("dependencies")
|
328
|
-
dev_dependencies = parsed_contents.fetch("importers", {}).fetch(".", {}).fetch("devDependencies")
|
328
|
+
def self.parse_v9_pnpm_lock(parsed_contents, source = nil)
|
329
|
+
dependencies = parsed_contents.fetch("importers", {}).fetch(".", {}).fetch("dependencies", {})
|
330
|
+
dev_dependencies = parsed_contents.fetch("importers", {}).fetch(".", {}).fetch("devDependencies", {})
|
329
331
|
dependency_mapping = dependencies.merge(dev_dependencies)
|
330
332
|
|
331
333
|
# "dependencies" is in "packages" for < v9 and in "snapshots" for >= v9
|
@@ -365,7 +367,8 @@ module Bibliothecary
|
|
365
367
|
requirement: version,
|
366
368
|
original_name: original_name,
|
367
369
|
original_requirement: original_requirement,
|
368
|
-
type: is_dev ? "development" : "runtime"
|
370
|
+
type: is_dev ? "development" : "runtime",
|
371
|
+
source: source
|
369
372
|
)
|
370
373
|
end
|
371
374
|
end
|
@@ -374,17 +377,17 @@ module Bibliothecary
|
|
374
377
|
# lockfileVersion: '9.0'
|
375
378
|
# lockfileVersion: '6.0'
|
376
379
|
# lockfileVersion: '5.4'
|
377
|
-
def self.parse_pnpm_lock(contents,
|
380
|
+
def self.parse_pnpm_lock(contents, options: {})
|
378
381
|
parsed = YAML.load(contents)
|
379
382
|
lockfile_version = parsed["lockfileVersion"].to_i
|
380
383
|
|
381
384
|
case lockfile_version
|
382
385
|
when 5
|
383
|
-
parse_v5_pnpm_lock(parsed)
|
386
|
+
parse_v5_pnpm_lock(parsed, options.fetch(:filename, nil))
|
384
387
|
when 6
|
385
|
-
parse_v6_pnpm_lock(parsed)
|
388
|
+
parse_v6_pnpm_lock(parsed, options.fetch(:filename, nil))
|
386
389
|
else # v9+
|
387
|
-
parse_v9_pnpm_lock(parsed)
|
390
|
+
parse_v9_pnpm_lock(parsed, options.fetch(:filename, nil))
|
388
391
|
end
|
389
392
|
end
|
390
393
|
|
@@ -395,7 +398,11 @@ module Bibliothecary
|
|
395
398
|
end
|
396
399
|
|
397
400
|
def self.parse_bun_lock(file_contents, options: {})
|
398
|
-
|
401
|
+
# The stdlib JSON gem 2.8+ supports trailing commas.
|
402
|
+
# The Oj gem does not support them as of writing, and will override
|
403
|
+
# JSON.parse() if Oj.mimic_json/optimize_rails has been called. Luckily
|
404
|
+
# JSON.parser is not overridden by Oj, so use it to call parse directly.
|
405
|
+
manifest = JSON.parser.parse(file_contents, allow_trailing_comma: true)
|
399
406
|
source = options.fetch(:filename, nil)
|
400
407
|
|
401
408
|
dev_deps = manifest.dig("workspaces", "", "devDependencies")&.keys&.to_set
|
@@ -22,19 +22,20 @@ module Bibliothecary
|
|
22
22
|
|
23
23
|
add_multi_parser(Bibliothecary::MultiParsers::DependenciesCSV)
|
24
24
|
|
25
|
-
def self.parse_yaml_manifest(file_contents, options: {})
|
25
|
+
def self.parse_yaml_manifest(file_contents, options: {})
|
26
26
|
manifest = YAML.load file_contents
|
27
|
-
map_dependencies(manifest, "dependencies", "runtime") +
|
28
|
-
map_dependencies(manifest, "dev_dependencies", "development")
|
27
|
+
map_dependencies(manifest, "dependencies", "runtime", options.fetch(:filename, nil)) +
|
28
|
+
map_dependencies(manifest, "dev_dependencies", "development", options.fetch(:filename, nil))
|
29
29
|
end
|
30
30
|
|
31
|
-
def self.parse_yaml_lockfile(file_contents, options: {})
|
31
|
+
def self.parse_yaml_lockfile(file_contents, options: {})
|
32
32
|
manifest = YAML.load file_contents
|
33
33
|
manifest.fetch("packages", []).map do |name, dep|
|
34
34
|
Dependency.new(
|
35
35
|
name: name,
|
36
36
|
requirement: dep["version"],
|
37
|
-
type: "runtime"
|
37
|
+
type: "runtime",
|
38
|
+
source: options.fetch(:filename, nil)
|
38
39
|
)
|
39
40
|
end
|
40
41
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bibliothecary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 12.1.
|
4
|
+
version: 12.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Nesbitt
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-04-30 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: commander
|