dependabot-npm_and_yarn 0.327.0 → 0.328.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e519785e577c328749802bf44c2ef0066c8e4f7823d3c21c36855149986f6ddb
|
4
|
+
data.tar.gz: b33e8268583d2aef788f944a93cc5a824b6bf0b2fa3b06d1250ed852d9d063e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fd574e8ac36593a84220d970a243f7d03c91ea6c24ffd14211bcbd1781692dc90ae0e5be4e6677ab1460a875927afa883e7143bf41c528dfcf1df6f8717623a
|
7
|
+
data.tar.gz: f160c66603ce809739ad481214c290b58d704861d5bd037177f00bb331f660b6e4c1119d25f1792951ff9da828d39e4eafb3f05e1cc7ea85e30e78fe8fff3d9a
|
@@ -15,6 +15,9 @@ module Dependabot
|
|
15
15
|
sig { params(dependency_file: DependencyFile).void }
|
16
16
|
def initialize(dependency_file)
|
17
17
|
@dependency_file = dependency_file
|
18
|
+
# Set this file to priority 1 to indicate it should override manifests for purposes of a graph
|
19
|
+
dependency_file.priority = 1
|
20
|
+
@direct_dependencies = T.let(fetch_direct_dependencies, T::Array[String])
|
18
21
|
end
|
19
22
|
|
20
23
|
sig { returns(T::Hash[String, T.untyped]) }
|
@@ -48,6 +51,31 @@ module Dependabot
|
|
48
51
|
|
49
52
|
private
|
50
53
|
|
54
|
+
# Only V3 lockfiles contain information on the package itself, so we use `npm ls` to generate
|
55
|
+
# a graph we can pluck the direct dependency list from at parse-time for this lockfile.
|
56
|
+
sig { returns(T::Array[String]) }
|
57
|
+
def fetch_direct_dependencies
|
58
|
+
# TODO(brrygrdn): Implement a 'verbose' flag that runs this extra step?
|
59
|
+
#
|
60
|
+
# For now, don't run this extra native command if we aren't using the submission experiment
|
61
|
+
return [] unless Dependabot::Experiments.enabled?(:enable_dependency_submission_poc)
|
62
|
+
|
63
|
+
SharedHelpers.in_a_temporary_repo_directory do |_|
|
64
|
+
write_temporary_dependency_files
|
65
|
+
|
66
|
+
npm_ls_json = Helpers.run_npm_command("ls --all --package-lock-only --json")
|
67
|
+
|
68
|
+
JSON.parse(npm_ls_json).fetch("dependencies", {}).keys
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
sig { void }
|
73
|
+
def write_temporary_dependency_files
|
74
|
+
path = @dependency_file.name
|
75
|
+
FileUtils.mkdir_p(Pathname.new(path).dirname)
|
76
|
+
File.write(path, @dependency_file.content)
|
77
|
+
end
|
78
|
+
|
51
79
|
sig do
|
52
80
|
params(object_with_dependencies: T::Hash[String, T.untyped])
|
53
81
|
.returns(Dependabot::FileParsers::Base::DependencySet)
|
@@ -64,13 +92,18 @@ module Dependabot
|
|
64
92
|
version = Version.semver_for(details["version"])
|
65
93
|
next unless version
|
66
94
|
|
95
|
+
package_name = name.split("node_modules/").last
|
67
96
|
version = version.to_s
|
68
97
|
|
69
98
|
dependency_args = {
|
70
|
-
name:
|
99
|
+
name: package_name,
|
71
100
|
version: version,
|
72
101
|
package_manager: "npm_and_yarn",
|
73
|
-
requirements: []
|
102
|
+
requirements: [],
|
103
|
+
direct_relationship: @direct_dependencies.include?(package_name),
|
104
|
+
metadata: {
|
105
|
+
depends_on: details&.fetch("dependencies", {})&.keys || []
|
106
|
+
}
|
74
107
|
}
|
75
108
|
|
76
109
|
if details["bundled"]
|
@@ -87,6 +120,7 @@ module Dependabot
|
|
87
120
|
dependency_set += recursively_fetch_dependencies(details)
|
88
121
|
end
|
89
122
|
|
123
|
+
@dependency_file.dependencies = dependency_set.dependencies.to_set
|
90
124
|
dependency_set
|
91
125
|
end
|
92
126
|
|
@@ -55,7 +55,7 @@ module Dependabot
|
|
55
55
|
def registry
|
56
56
|
return @registry if @registry
|
57
57
|
|
58
|
-
@registry =
|
58
|
+
@registry = configured_registry || locked_registry || first_registry_with_dependency_details
|
59
59
|
T.must(@registry)
|
60
60
|
end
|
61
61
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-npm_and_yarn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.328.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
@@ -15,14 +15,14 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - '='
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 0.
|
18
|
+
version: 0.328.0
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - '='
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 0.
|
25
|
+
version: 0.328.0
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: debug
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -362,7 +362,7 @@ licenses:
|
|
362
362
|
- MIT
|
363
363
|
metadata:
|
364
364
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
365
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
365
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.328.0
|
366
366
|
rdoc_options: []
|
367
367
|
require_paths:
|
368
368
|
- lib
|