diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f29ec28bec68..b3e4f1d80260 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,7 @@ jobs: fail-fast: false matrix: suite: - - { path: bundler, name: bundler1, ecosystem: bundler } - - { path: bundler, name: bundler2, ecosystem: bundler } + - { path: bundler, name: bundler, ecosystem: bundler } - { path: cargo, name: cargo, ecosystem: cargo } - { path: common, name: common, ecosystem: common} - { path: composer, name: composer, ecosystem: composer } diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 484548346017..65f73a7e62c0 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -56,7 +56,6 @@ jobs: languages: ${{ matrix.language }} config: | paths-ignore: - - 'bundler/spec/fixtures/projects/bundler1/invalid_ruby/Gemfile' - 'bundler/spec/fixtures/projects/bundler2/invalid_ruby/Gemfile' if: matrix.language == 'ruby' diff --git a/.rubocop.yml b/.rubocop.yml index 3a9503f0619b..ed7f1565c2b8 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -14,7 +14,6 @@ AllCops: - "*/spec/fixtures/**/*" - "vendor/**/*" - "dry-run/**/*" - - "bundler/helpers/v1/patched_bundler" - "bundler/helpers/spec_helpers/*" NewCops: enable TargetRubyVersion: 3.1 diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 64ea1d09a6ee..e7673987d004 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -9,7 +9,6 @@ # Offense count: 39 RSpec/AnyInstance: Exclude: - - 'bundler/helpers/v1/spec/shared_contexts.rb' - 'bundler/spec/dependabot/bundler/update_checker_spec.rb' - 'common/spec/dependabot/clients/codecommit_spec.rb' - 'common/spec/dependabot/file_fetchers/base_spec.rb' diff --git a/Gemfile.lock b/Gemfile.lock index 6e35b253e2ed..d4ecddad3e70 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,20 +1,20 @@ PATH remote: bundler specs: - dependabot-bundler (0.280.0) - dependabot-common (= 0.280.0) + dependabot-bundler (0.281.0) + dependabot-common (= 0.281.0) parallel (~> 1.24) PATH remote: cargo specs: - dependabot-cargo (0.280.0) - dependabot-common (= 0.280.0) + dependabot-cargo (0.281.0) + dependabot-common (= 0.281.0) PATH remote: common specs: - dependabot-common (0.280.0) + dependabot-common (0.281.0) aws-sdk-codecommit (~> 1.28) aws-sdk-ecr (~> 1.5) bundler (>= 1.16, < 3.0.0) @@ -38,107 +38,107 @@ PATH PATH remote: composer specs: - dependabot-composer (0.280.0) - dependabot-common (= 0.280.0) + dependabot-composer (0.281.0) + dependabot-common (= 0.281.0) PATH remote: devcontainers specs: - dependabot-devcontainers (0.280.0) - dependabot-common (= 0.280.0) + dependabot-devcontainers (0.281.0) + dependabot-common (= 0.281.0) PATH remote: docker specs: - dependabot-docker (0.280.0) - dependabot-common (= 0.280.0) + dependabot-docker (0.281.0) + dependabot-common (= 0.281.0) PATH remote: elm specs: - dependabot-elm (0.280.0) - dependabot-common (= 0.280.0) + dependabot-elm (0.281.0) + dependabot-common (= 0.281.0) PATH remote: git_submodules specs: - dependabot-git_submodules (0.280.0) - dependabot-common (= 0.280.0) + dependabot-git_submodules (0.281.0) + dependabot-common (= 0.281.0) parseconfig (~> 1.0, < 1.1.0) PATH remote: github_actions specs: - dependabot-github_actions (0.280.0) - dependabot-common (= 0.280.0) + dependabot-github_actions (0.281.0) + dependabot-common (= 0.281.0) PATH remote: go_modules specs: - dependabot-go_modules (0.280.0) - dependabot-common (= 0.280.0) + dependabot-go_modules (0.281.0) + dependabot-common (= 0.281.0) PATH remote: gradle specs: - dependabot-gradle (0.280.0) - dependabot-common (= 0.280.0) - dependabot-maven (= 0.280.0) + dependabot-gradle (0.281.0) + dependabot-common (= 0.281.0) + dependabot-maven (= 0.281.0) PATH remote: hex specs: - dependabot-hex (0.280.0) - dependabot-common (= 0.280.0) + dependabot-hex (0.281.0) + dependabot-common (= 0.281.0) PATH remote: maven specs: - dependabot-maven (0.280.0) - dependabot-common (= 0.280.0) + dependabot-maven (0.281.0) + dependabot-common (= 0.281.0) PATH remote: npm_and_yarn specs: - dependabot-npm_and_yarn (0.280.0) - dependabot-common (= 0.280.0) + dependabot-npm_and_yarn (0.281.0) + dependabot-common (= 0.281.0) PATH remote: nuget specs: - dependabot-nuget (0.280.0) - dependabot-common (= 0.280.0) + dependabot-nuget (0.281.0) + dependabot-common (= 0.281.0) rubyzip (>= 2.3.2, < 3.0) PATH remote: pub specs: - dependabot-pub (0.280.0) - dependabot-common (= 0.280.0) + dependabot-pub (0.281.0) + dependabot-common (= 0.281.0) PATH remote: python specs: - dependabot-python (0.280.0) - dependabot-common (= 0.280.0) + dependabot-python (0.281.0) + dependabot-common (= 0.281.0) PATH remote: silent specs: - dependabot-silent (0.280.0) - dependabot-common (= 0.280.0) + dependabot-silent (0.281.0) + dependabot-common (= 0.281.0) PATH remote: swift specs: - dependabot-swift (0.280.0) - dependabot-common (= 0.280.0) + dependabot-swift (0.281.0) + dependabot-common (= 0.281.0) PATH remote: terraform specs: - dependabot-terraform (0.280.0) - dependabot-common (= 0.280.0) + dependabot-terraform (0.281.0) + dependabot-common (= 0.281.0) GEM remote: https://rubygems.org/ diff --git a/bin/ci-test b/bin/ci-test index 1747d07fea2e..30662e3d0f26 100755 --- a/bin/ci-test +++ b/bin/ci-test @@ -10,17 +10,15 @@ function print_usage() { function handle_args() { export SUITE_NAME=$1 - case $SUITE_NAME in - bundler1 | bundler2) - export MODULE=bundler - ;; - "") - print_usage - exit 1 - ;; - *) - export MODULE=$SUITE_NAME - esac + + # Only allow "bundler" as a valid SUITE_NAME + if [[ "$SUITE_NAME" != "bundler" ]]; then + echo "Error: Only 'bundler' is allowed as SUITE_NAME." + print_usage + exit 1 + fi + + export MODULE="bundler" if ! [ -d "$MODULE" ]; then print_usage diff --git a/bundler/Dockerfile b/bundler/Dockerfile index 928a98c4b5fb..3e30b2edb1a2 100644 --- a/bundler/Dockerfile +++ b/bundler/Dockerfile @@ -3,8 +3,7 @@ FROM ghcr.io/dependabot/dependabot-updater-core USER dependabot COPY --chown=dependabot:dependabot bundler/helpers /opt/bundler/helpers -RUN bash /opt/bundler/helpers/v1/build \ - && bash /opt/bundler/helpers/v2/build +RUN bash /opt/bundler/helpers/v2/build COPY --chown=dependabot:dependabot bundler $DEPENDABOT_HOME/bundler COPY --chown=dependabot:dependabot common $DEPENDABOT_HOME/common diff --git a/bundler/helpers/v1/.gitignore b/bundler/helpers/v1/.gitignore deleted file mode 100644 index c88c5c24353b..000000000000 --- a/bundler/helpers/v1/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/.bundle -/.env -/tmp -/dependabot-*.gem -Gemfile.lock -spec/fixtures/projects/*/.bundle/ -!spec/fixtures/projects/**/Gemfile.lock -!spec/fixtures/projects/**/vendor diff --git a/bundler/helpers/v1/Gemfile b/bundler/helpers/v1/Gemfile deleted file mode 100644 index 7f0d0db26dc7..000000000000 --- a/bundler/helpers/v1/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "dependabot-common", path: "../../../common" - -gemspec path: "../.." diff --git a/bundler/helpers/v1/build b/bundler/helpers/v1/build deleted file mode 100755 index 5a38af68de8c..000000000000 --- a/bundler/helpers/v1/build +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -set -e - -helpers_dir=$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd) - -if [ -z "$DEPENDABOT_NATIVE_HELPERS_PATH" ]; then - install_dir="$helpers_dir" -else - install_dir="$DEPENDABOT_NATIVE_HELPERS_PATH/bundler/v1" - mkdir -p "$install_dir" - - cp -r \ - "$helpers_dir/lib" \ - "$helpers_dir/monkey_patches" \ - "$helpers_dir/run.rb" \ - "$helpers_dir/patched_bundler" \ - "$install_dir" -fi - -cd "$install_dir" - -export GEM_HOME=$install_dir/.bundle - -gem install bundler -v 1.17.3 --no-document - -if [ -z "$DEPENDABOT_NATIVE_HELPERS_PATH" ]; then - BUNDLER_VERSION=1.17.3 ./patched_bundler install -fi diff --git a/bundler/helpers/v1/lib/functions.rb b/bundler/helpers/v1/lib/functions.rb deleted file mode 100644 index 48bae5564242..000000000000 --- a/bundler/helpers/v1/lib/functions.rb +++ /dev/null @@ -1,172 +0,0 @@ -# typed: true -# frozen_string_literal: true - -require "functions/file_parser" -require "functions/force_updater" -require "functions/lockfile_updater" -require "functions/dependency_source" -require "functions/version_resolver" -require "functions/conflicting_dependency_resolver" - -module Functions - def self.parsed_gemfile(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: []) - FileParser.new(lockfile_name: args.fetch(:lockfile_name)) - .parsed_gemfile(gemfile_name: args.fetch(:gemfile_name)) - end - - def self.parsed_gemspec(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: []) - FileParser.new(lockfile_name: args.fetch(:lockfile_name)) - .parsed_gemspec(gemspec_name: args.fetch(:gemspec_name)) - end - - def self.vendor_cache_dir(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: []) - Bundler.settings.app_cache_path - end - - def self.update_lockfile(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - LockfileUpdater.new( - gemfile_name: args.fetch(:gemfile_name), - lockfile_name: args.fetch(:lockfile_name), - dependencies: args.fetch(:dependencies) - ).run - end - - def self.force_update(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - ForceUpdater.new( - dependency_name: args.fetch(:dependency_name), - target_version: args.fetch(:target_version), - gemfile_name: args.fetch(:gemfile_name), - lockfile_name: args.fetch(:lockfile_name), - update_multiple_dependencies: args.fetch(:update_multiple_dependencies) - ).run - end - - def self.dependency_source_type(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - - DependencySource.new( - gemfile_name: args.fetch(:gemfile_name), - dependency_name: args.fetch(:dependency_name) - ).type - end - - def self.dependency_source_latest_git_version(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - DependencySource.new( - gemfile_name: args.fetch(:gemfile_name), - dependency_name: args.fetch(:dependency_name) - ).latest_git_version( - dependency_source_url: args.fetch(:dependency_source_url), - dependency_source_branch: args.fetch(:dependency_source_branch) - ) - end - - def self.private_registry_versions(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - - DependencySource.new( - gemfile_name: args.fetch(:gemfile_name), - dependency_name: args.fetch(:dependency_name) - ).private_registry_versions - end - - def self.resolve_version(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - VersionResolver.new( - dependency_name: args.fetch(:dependency_name), - dependency_requirements: args.fetch(:dependency_requirements), - gemfile_name: args.fetch(:gemfile_name), - lockfile_name: args.fetch(:lockfile_name) - ).version_details - end - - def self.jfrog_source(**args) - # Set flags and credentials - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - - Bundler::Definition.build(args.fetch(:gemfile_name), nil, {}) - .send(:sources) - .rubygems_remotes - .find { |uri| uri.host.include?("jfrog") } - &.host - end - - def self.git_specs(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - - git_specs = Bundler::Definition.build(args.fetch(:gemfile_name), nil, {}).dependencies - .select do |spec| - spec.source.is_a?(Bundler::Source::Git) - end - git_specs.map do |spec| - # Piggy-back off some private Bundler methods to configure the - # URI with auth details in the same way Bundler does. - git_proxy = spec.source.send(:git_proxy) - auth_uri = spec.source.uri.gsub("git://", "https://") - auth_uri = git_proxy.send(:configured_uri_for, auth_uri) - auth_uri += ".git" unless auth_uri.end_with?(".git") - auth_uri += "/info/refs?service=git-upload-pack" - { - uri: spec.source.uri, - auth_uri: auth_uri - } - end - end - - def self.conflicting_dependencies(**args) - set_bundler_flags_and_credentials(dir: args.fetch(:dir), credentials: args.fetch(:credentials)) - ConflictingDependencyResolver.new( - dependency_name: args.fetch(:dependency_name), - target_version: args.fetch(:target_version), - lockfile_name: args.fetch(:lockfile_name) - ).conflicting_dependencies - end - - def self.set_bundler_flags_and_credentials(dir:, credentials:) - dir = Pathname.new(dir) if dir - Bundler.instance_variable_set(:@root, dir) - - # Remove installed gems from the default Rubygems index - Gem::Specification.all = - Gem::Specification.send(:default_stubs, "*.gemspec") - - # Set auth details - relevant_credentials(credentials).each do |cred| - token = cred["token"] || - "#{cred['username']}:#{cred['password']}" - - Bundler.settings.set_command_option( - cred.fetch("host"), - token.gsub("@", "%40F").gsub("?", "%3F") - ) - end - - # Use HTTPS for GitHub if lockfile - Bundler.settings.set_command_option("github.https", "true") - - # Native helpers rely on dependency unlocking, so Bundler should never be frozen - Bundler.settings.set_command_option("frozen", "false") - end - - def self.relevant_credentials(credentials) - [ - *git_source_credentials(credentials), - *private_registry_credentials(credentials) - ].select { |cred| cred["password"] || cred["token"] } - end - - def self.private_registry_credentials(credentials) - credentials - .select { |cred| cred["type"] == "rubygems_server" } - end - - def self.git_source_credentials(credentials) - credentials - .select { |cred| cred["type"] == "git_source" } - end -end diff --git a/bundler/helpers/v1/lib/functions/conflicting_dependency_resolver.rb b/bundler/helpers/v1/lib/functions/conflicting_dependency_resolver.rb deleted file mode 100644 index b031322aaa0c..000000000000 --- a/bundler/helpers/v1/lib/functions/conflicting_dependency_resolver.rb +++ /dev/null @@ -1,89 +0,0 @@ -# typed: true -# frozen_string_literal: true - -module Functions - class ConflictingDependencyResolver - def initialize(dependency_name:, target_version:, lockfile_name:) - @dependency_name = dependency_name - @target_version = target_version - @lockfile_name = lockfile_name - end - - # Finds any dependencies in the lockfile that have a subdependency on the - # given dependency that does not satisfly the target_version. - # @return [Array String}] - # * explanation [String] a sentence explaining the conflict - # * name [String] the blocking dependencies name - # * version [String] the version of the blocking dependency - # * requirement [String] the requirement on the target_dependency - def conflicting_dependencies - Bundler.settings.set_command_option("only_update_to_newer_versions", true) - - parent_specs.flat_map do |parent_spec| - top_level_specs_for(parent_spec).map do |top_level| - dependency = parent_spec.dependencies.find { |bd| bd.name == dependency_name } - { - "explanation" => explanation(parent_spec, dependency, top_level), - "name" => parent_spec.name, - "version" => parent_spec.version.to_s, - "requirement" => dependency.requirement.to_s - } - end - end - end - - private - - attr_reader :dependency_name - attr_reader :target_version - attr_reader :lockfile_name - - def parent_specs - version = Gem::Version.new(target_version) - parsed_lockfile.specs.filter do |spec| - spec.dependencies.any? do |dep| - dep.name == dependency_name && - !dep.requirement.satisfied_by?(version) - end - end - end - - def top_level_specs_for(parent_spec) - return [parent_spec] if top_level?(parent_spec) - - parsed_lockfile.specs.filter do |spec| - spec.dependencies.any? do |dep| - dep.name == parent_spec.name && top_level?(spec) - end - end - end - - def top_level?(spec) - parsed_lockfile.dependencies.key?(spec.name) - end - - def explanation(spec, dependency, top_level) - if spec.name == top_level.name - "#{spec.name} (#{spec.version}) requires #{dependency_name} (#{dependency.requirement})" - else - "#{top_level.name} (#{top_level.version}) requires #{dependency_name} " \ - "(#{dependency.requirement}) via #{spec.name} (#{spec.version})" - end - end - - def parsed_lockfile - @parsed_lockfile ||= Bundler::LockfileParser.new(lockfile) - end - - def lockfile - return @lockfile if defined?(@lockfile) - - @lockfile = - begin - return unless lockfile_name && File.exist?(lockfile_name) - - File.read(lockfile_name) - end - end - end -end diff --git a/bundler/helpers/v1/lib/functions/dependency_source.rb b/bundler/helpers/v1/lib/functions/dependency_source.rb deleted file mode 100644 index 235abe0a5f10..000000000000 --- a/bundler/helpers/v1/lib/functions/dependency_source.rb +++ /dev/null @@ -1,90 +0,0 @@ -# typed: true -# frozen_string_literal: true - -module Functions - class DependencySource - attr_reader :gemfile_name - attr_reader :dependency_name - - RUBYGEMS = "rubygems" - PRIVATE_REGISTRY = "private" - GIT = "git" - OTHER = "other" - - def initialize(gemfile_name:, dependency_name:) - @gemfile_name = gemfile_name - @dependency_name = dependency_name - end - - def type - bundler_source = specified_source || default_source - type_of(bundler_source) - end - - def latest_git_version(dependency_source_url:, dependency_source_branch:) - source = Bundler::Source::Git.new( - "uri" => dependency_source_url, - "branch" => dependency_source_branch, - "name" => dependency_name, - "submodules" => true - ) - - # Tell Bundler we're fine with fetching the source remotely - source.instance_variable_set(:@allow_remote, true) - - spec = source.specs.first - { version: spec.version, commit_sha: spec.source.revision } - end - - def private_registry_versions - bundler_source = specified_source || default_source - - bundler_source - .fetchers.flat_map do |fetcher| - fetcher - .specs_with_retry([dependency_name], bundler_source) - .search_all(dependency_name) - end - .map(&:version) - end - - private - - def type_of(bundler_source) - case bundler_source - when Bundler::Source::Rubygems - remote = bundler_source.remotes.first - if remote.nil? || remote.to_s == "https://rubygems.org/" - RUBYGEMS - else - PRIVATE_REGISTRY - end - when Bundler::Source::Git - GIT - else - OTHER - end - end - - def specified_source - return @specified_source if defined? @specified_source - - @specified_source = definition.dependencies - .find { |dep| dep.name == dependency_name }&.source - end - - def default_source - definition.send(:sources).default_source - end - - def definition - @definition ||= Bundler::Definition.build(gemfile_name, nil, {}) - end - - def serialize_bundler_source(source) - { - type: source.class.to_s - } - end - end -end diff --git a/bundler/helpers/v1/lib/functions/file_parser.rb b/bundler/helpers/v1/lib/functions/file_parser.rb deleted file mode 100644 index f0dc0ab8080f..000000000000 --- a/bundler/helpers/v1/lib/functions/file_parser.rb +++ /dev/null @@ -1,119 +0,0 @@ -# typed: true -# frozen_string_literal: true - -require "uri" - -module Functions - class FileParser - def initialize(lockfile_name:) - @lockfile_name = lockfile_name - end - - attr_reader :lockfile_name - - def parsed_gemfile(gemfile_name:) - Bundler::Definition.build(gemfile_name, nil, {}) - .dependencies.select(&:current_platform?) - .reject { |dep| local_sources.include?(dep.source.class) } - .map { |dep| serialize_bundler_dependency(dep) } - end - - def parsed_gemspec(gemspec_name:) - Bundler.load_gemspec_uncached(gemspec_name) - .dependencies - .map { |dep| serialize_bundler_dependency(dep) } - end - - private - - def lockfile - return @lockfile if defined?(@lockfile) - - @lockfile = - begin - return unless lockfile_name && File.exist?(lockfile_name) - - File.read(lockfile_name) - end - end - - def parsed_lockfile - return unless lockfile - - @parsed_lockfile ||= Bundler::LockfileParser.new(lockfile) - end - - def source_from_lockfile(dependency_name) - parsed_lockfile&.specs&.find { |s| s.name == dependency_name }&.source - end - - def source_for(dependency) - source = dependency.source - if lockfile && default_rubygems?(source) - # If there's a lockfile and the Gemfile doesn't have anything - # interesting to say about the source, check that. - source = source_from_lockfile(dependency.name) - end - raise "Bad source: #{source}" unless sources.include?(source.class) - - return nil if default_rubygems?(source) - - details = { type: source.class.name.split("::").last.downcase } - details.merge!(git_source_details(source)) if source.is_a?(Bundler::Source::Git) - details[:url] = source.remotes.first.to_s if source.is_a?(Bundler::Source::Rubygems) - details - end - - def git_source_details(source) - { - url: source.uri, - branch: source.branch, - ref: source.ref - } - end - - RUBYGEMS_HOSTS = [ - "rubygems.org", - "www.rubygems.org" - ].freeze - - def default_rubygems?(source) - return true if source.nil? - return false unless source.is_a?(Bundler::Source::Rubygems) - - source.remotes.any? do |r| - RUBYGEMS_HOSTS.include?(URI(r.to_s).host) - end - end - - def serialize_bundler_dependency(dependency) - { - name: dependency.name, - requirement: dependency.requirement, - groups: dependency.groups, - source: source_for(dependency), - type: dependency.type - } - end - - # Can't be a constant because some of these don't exist in bundler - # 1.15, which used to cause issues on Heroku (causing exception on boot). - # TODO: Check if this will be an issue with multiple bundler versions - def sources - [ - NilClass, - Bundler::Source::Rubygems, - Bundler::Source::Git, - *local_sources, - Bundler::Source::Metadata - ] - end - - def local_sources - [ - Bundler::Source::Path, - Bundler::Source::Gemspec - ] - end - end -end diff --git a/bundler/helpers/v1/lib/functions/force_updater.rb b/bundler/helpers/v1/lib/functions/force_updater.rb deleted file mode 100644 index 82946f146fb4..000000000000 --- a/bundler/helpers/v1/lib/functions/force_updater.rb +++ /dev/null @@ -1,173 +0,0 @@ -# typed: true -# frozen_string_literal: true - -module Functions - class ForceUpdater - class TransitiveDependencyError < StandardError; end - - def initialize(dependency_name:, target_version:, gemfile_name:, - lockfile_name:, update_multiple_dependencies:) - @dependency_name = dependency_name - @target_version = target_version - @gemfile_name = gemfile_name - @lockfile_name = lockfile_name - @update_multiple_dependencies = update_multiple_dependencies - end - - def run - # Only allow upgrades. Otherwise it's unlikely that this - # resolution will be found by the FileUpdater - Bundler.settings.set_command_option( - "only_update_to_newer_versions", - true - ) - - dependencies_to_unlock = [] - - begin - definition = build_definition(dependencies_to_unlock: dependencies_to_unlock) - definition.resolve_remotely! - specs = definition.resolve - updates = [{ name: dependency_name }] + - dependencies_to_unlock.map { |dep| { name: dep.name } } - specs = specs.map do |dep| - { - name: dep.name, - version: dep.version - } - end - [updates, specs] - rescue Bundler::VersionConflict => e - raise unless update_multiple_dependencies? - - # TODO: Not sure this won't unlock way too many things... - new_dependencies_to_unlock = - new_dependencies_to_unlock_from( - error: e, - already_unlocked: dependencies_to_unlock - ) - - raise if new_dependencies_to_unlock.none? - - dependencies_to_unlock += new_dependencies_to_unlock - retry - end - end - - private - - attr_reader :dependency_name - attr_reader :target_version - attr_reader :gemfile_name - attr_reader :lockfile_name - attr_reader :credentials - attr_reader :update_multiple_dependencies - alias update_multiple_dependencies? update_multiple_dependencies - - def new_dependencies_to_unlock_from(error:, already_unlocked:) - potentials_deps = - relevant_conflicts(error, already_unlocked) - .flat_map(&:requirement_trees) - .reject do |tree| - # If the final requirement wasn't specific, it can't be binding - next true if tree.last.requirement == Gem::Requirement.new(">= 0") - - # If the conflict wasn't for the dependency we're updating then - # we don't have enough info to reject it - next false unless tree.last.name == dependency_name - - # If the final requirement *was* for the dependency we're updating - # then we can ignore the tree if it permits the target version - tree.last.requirement.satisfied_by?( - Gem::Version.new(target_version) - ) - end.map(&:first) - - potentials_deps - .reject { |dep| already_unlocked.map(&:name).include?(dep.name) } - .reject { |dep| [dependency_name, "ruby\0"].include?(dep.name) } - .uniq - end - - def relevant_conflicts(error, dependencies_being_unlocked) - names = [*dependencies_being_unlocked.map(&:name), dependency_name] - - # For a conflict to be relevant to the updates we're making it must be - # 1) caused by a new requirement introduced by our unlocking, or - # 2) caused by an old requirement that prohibits the update. - # Hence, we look at the beginning and end of the requirement trees - error.cause.conflicts.values - .select do |conflict| - conflict.requirement_trees.any? do |t| - names.include?(t.last.name) || names.include?(t.first.name) - end - end - end - - def build_definition(dependencies_to_unlock:) - gems_to_unlock = dependencies_to_unlock.map(&:name) + [dependency_name] - definition = Bundler::Definition.build( - gemfile_name, - lockfile_name, - gems: gems_to_unlock + subdependencies, - lock_shared_dependencies: true - ) - - # Remove the Gemfile / gemspec requirements on the gems we're - # unlocking (i.e., completely unlock them) - gems_to_unlock.each do |gem_name| - unlock_gem(definition: definition, gem_name: gem_name) - end - - dep = definition.dependencies - .find { |d| d.name == dependency_name } - - # If the dependency is not found in the Gemfile it means this is a - # transitive dependency that we can't force update. - raise TransitiveDependencyError unless dep - - # Set the requirement for the gem we're forcing an update of - new_req = Gem::Requirement.create("= #{target_version}") - dep.instance_variable_set(:@requirement, new_req) - dep.source = nil if dep.source.is_a?(Bundler::Source::Git) - - definition - end - - def lockfile - return @lockfile if defined?(@lockfile) - - @lockfile = - begin - return unless lockfile_name && File.exist?(lockfile_name) - - File.read(lockfile_name) - end - end - - def subdependencies - # If there's no lockfile we don't need to worry about - # subdependencies - return [] unless lockfile - - all_deps = Bundler::LockfileParser.new(lockfile) - .specs.map { |x| x.name.to_s } - top_level = Bundler::Definition - .build(gemfile_name, lockfile_name, {}) - .dependencies.map { |x| x.name.to_s } - - all_deps - top_level - end - - def unlock_gem(definition:, gem_name:) - dep = definition.dependencies.find { |d| d.name == gem_name } - version = definition.locked_gems.specs - .find { |d| d.name == gem_name }.version - - dep&.instance_variable_set( - :@requirement, - Gem::Requirement.create(">= #{version}") - ) - end - end -end diff --git a/bundler/helpers/v1/lib/functions/lockfile_updater.rb b/bundler/helpers/v1/lib/functions/lockfile_updater.rb deleted file mode 100644 index 057f2de3ce2b..000000000000 --- a/bundler/helpers/v1/lib/functions/lockfile_updater.rb +++ /dev/null @@ -1,218 +0,0 @@ -# typed: true -# frozen_string_literal: true - -require "fileutils" - -module Functions - class LockfileUpdater - RETRYABLE_ERRORS = [Bundler::HTTPError].freeze - GEM_NOT_FOUND_ERROR_REGEX = - / - locked\sto\s(?[^\s]+)\s\(| - not\sfind\s(?[^\s]+)-\d| - has\s(?[^\s]+)\slocked\sat - /x - - def initialize(gemfile_name:, lockfile_name:, dependencies:) - @gemfile_name = gemfile_name - @lockfile_name = lockfile_name - @dependencies = dependencies - end - - def run - generate_lockfile - end - - private - - attr_reader :gemfile_name - attr_reader :lockfile_name - attr_reader :dependencies - - def generate_lockfile # rubocop:disable Metrics/PerceivedComplexity - dependencies_to_unlock = dependencies.map { |d| d.fetch("name") } - - begin - definition = build_definition(dependencies_to_unlock) - - old_reqs = lock_deps_being_updated_to_exact_versions(definition) - - definition.resolve_remotely! - - old_reqs.each do |dep_name, old_req| - d_dep = definition.dependencies.find { |d| d.name == dep_name } - if old_req == :none then definition.dependencies.delete(d_dep) - else - d_dep.instance_variable_set(:@requirement, old_req) - end - end - - cache_vendored_gems(definition) if Bundler.app_cache.exist? - - definition.to_lock - rescue Bundler::GemNotFound => e - unlock_yanked_gem(dependencies_to_unlock, e) && retry - rescue Bundler::VersionConflict => e - unlock_blocking_subdeps(dependencies_to_unlock, e) && retry - rescue *RETRYABLE_ERRORS - raise if @retrying - - @retrying = true - sleep(rand(1.0..5.0)) - retry - end - end - - def cache_vendored_gems(definition) - # Dependencies that have been unlocked for the update (including - # sub-dependencies) - unlocked_gems = definition.instance_variable_get(:@unlock) - .fetch(:gems) - bundler_opts = { - cache_all: true, - cache_all_platforms: true, - no_prune: true - } - - Bundler.settings.temporary(**bundler_opts) do - # Fetch and cache gems on all platforms without pruning - Bundler::Runtime.new(nil, definition).cache - - # Only prune unlocked gems (the original implementation is in - # Bundler::Runtime) - cache_path = Bundler.app_cache - resolve = definition.resolve - prune_gem_cache(resolve, cache_path, unlocked_gems) - prune_git_and_path_cache(resolve, cache_path) - end - end - - # Copied from Bundler::Runtime: Modified to only prune gems that have - # been unlocked - def prune_gem_cache(resolve, cache_path, unlocked_gems) - cached_gems = Dir["#{cache_path}/*.gem"] - - outdated_gems = cached_gems.reject do |path| - spec = Bundler.rubygems.spec_from_gem path - - !unlocked_gems.include?(spec.name) || resolve.any? do |s| - s.name == spec.name && s.version == spec.version && - !s.source.is_a?(Bundler::Source::Git) - end - end - - return unless outdated_gems.any? - - outdated_gems.each do |path| - File.delete(path) - end - end - - # Copied from Bundler::Runtime - def prune_git_and_path_cache(resolve, cache_path) - cached_git_and_path = Dir["#{cache_path}/*/.bundlecache"] - - outdated_git_and_path = cached_git_and_path.reject do |path| - name = File.basename(File.dirname(path)) - - resolve.any? do |s| - s.source.respond_to?(:app_cache_dirname) && - s.source.app_cache_dirname == name - end - end - - return unless outdated_git_and_path.any? - - outdated_git_and_path.each do |path| - path = File.dirname(path) - FileUtils.rm_rf(path) - end - end - - def unlock_yanked_gem(dependencies_to_unlock, error) - raise unless error.message.match?(GEM_NOT_FOUND_ERROR_REGEX) - - gem_name = error.message.match(GEM_NOT_FOUND_ERROR_REGEX) - .named_captures["name"] - raise if dependencies_to_unlock.include?(gem_name) - - dependencies_to_unlock << gem_name - end - - def unlock_blocking_subdeps(dependencies_to_unlock, error) - all_deps = Bundler::LockfileParser.new(lockfile) - .specs.map { |x| x.name.to_s } - top_level = build_definition([]).dependencies - .map { |x| x.name.to_s } - allowed_new_unlocks = all_deps - top_level - dependencies_to_unlock - - raise if allowed_new_unlocks.none? - - # Unlock any sub-dependencies that Bundler reports caused the - # conflict - potentials_deps = - error.cause.conflicts.values - .flat_map(&:requirement_trees) - .filter_map do |tree| - tree.find { |req| allowed_new_unlocks.include?(req.name) } - end.map(&:name) - - # If there are specific dependencies we can unlock, unlock them - return dependencies_to_unlock.append(*potentials_deps) if potentials_deps.any? - - # Fall back to unlocking *all* sub-dependencies. This is required - # because Bundler's VersionConflict objects don't include enough - # information to chart the full path through all conflicts unwound - dependencies_to_unlock.append(*allowed_new_unlocks) - end - - def build_definition(dependencies_to_unlock) - defn = Bundler::Definition.build( - gemfile_name, - lockfile_name, - gems: dependencies_to_unlock - ) - - # Bundler unlocks the sub-dependencies of gems it is passed even - # if those sub-deps are top-level dependencies. We only want true - # subdeps unlocked, like they were in the UpdateChecker, so we - # mutate the unlocked gems array. - unlocked = defn.instance_variable_get(:@unlock).fetch(:gems) - must_not_unlock = defn.dependencies.map { |x| x.name.to_s } - - dependencies_to_unlock - unlocked.reject! { |n| must_not_unlock.include?(n) } - - defn - end - - def lock_deps_being_updated_to_exact_versions(definition) - dependencies.each_with_object({}) do |dep, old_reqs| - defn_dep = definition.dependencies.find do |d| - d.name == dep.fetch("name") - end - - if defn_dep.nil? - definition.dependencies << - Bundler::Dependency.new(dep.fetch("name"), dep.fetch("version")) - old_reqs[dep.fetch("name")] = :none - elsif git_dependency?(dep) && - defn_dep.source.is_a?(Bundler::Source::Git) - defn_dep.source.unlock! - elsif Gem::Version.correct?(dep.fetch("version")) - new_req = Gem::Requirement.create("= #{dep.fetch('version')}") - old_reqs[dep.fetch("name")] = defn_dep.requirement - defn_dep.instance_variable_set(:@requirement, new_req) - end - end - end - - def git_dependency?(dep) - sources = dep.fetch("requirements").map { |r| r.fetch("source") } - sources.all? { |s| s&.fetch("type", nil) == "git" } - end - - def lockfile - @lockfile ||= File.read(lockfile_name) - end - end -end diff --git a/bundler/helpers/v1/lib/functions/version_resolver.rb b/bundler/helpers/v1/lib/functions/version_resolver.rb deleted file mode 100644 index 54330d52c31e..000000000000 --- a/bundler/helpers/v1/lib/functions/version_resolver.rb +++ /dev/null @@ -1,141 +0,0 @@ -# typed: true -# frozen_string_literal: true - -module Functions - class VersionResolver - GEM_NOT_FOUND_ERROR_REGEX = /locked to (?[^\s]+) \(/ - - attr_reader :dependency_name - attr_reader :dependency_requirements - attr_reader :gemfile_name - attr_reader :lockfile_name - - def initialize(dependency_name:, dependency_requirements:, - gemfile_name:, lockfile_name:) - @dependency_name = dependency_name - @dependency_requirements = dependency_requirements - @gemfile_name = gemfile_name - @lockfile_name = lockfile_name - end - - def version_details - dep = dependency_from_definition - - # If the dependency wasn't found in the definition, but *is* - # included in a gemspec, it's because the Gemfile didn't import - # the gemspec. This is unusual, but the correct behaviour if/when - # it happens is to behave as if the repo was gemspec-only. - return "latest" if dep.nil? && dependency_requirements.any? - - # Otherwise, if the dependency wasn't found it's because it is a - # subdependency that was removed when attempting to update it. - return nil if dep.nil? - - # If the dependency is Bundler itself then we can't trust the - # version that has been returned (it's the version Dependabot is - # running on, rather than the true latest resolvable version). - return nil if dep.name == "bundler" - - details = { - version: dep.version, - ruby_version: ruby_version, - fetcher: fetcher_class(dep) - } - details[:commit_sha] = dep.source.revision if dep.source.instance_of?(::Bundler::Source::Git) - details - end - - private - - # rubocop:disable Metrics/PerceivedComplexity - def dependency_from_definition(unlock_subdependencies: true) - dependencies_to_unlock = [dependency_name] - dependencies_to_unlock += subdependencies if unlock_subdependencies - begin - definition = build_definition(dependencies_to_unlock) - definition.resolve_remotely! - rescue ::Bundler::GemNotFound => e - unlock_yanked_gem(dependencies_to_unlock, e) && retry - rescue ::Bundler::HTTPError => e - # Retry network errors - # Note: in_a_native_bundler_context will also retry `Bundler::HTTPError` errors - # up to three times meaning we'll end up retrying this error up to six times - # TODO: Could we get rid of this retry logic and only rely on - # SharedBundlerHelpers.in_a_native_bundler_context - attempt ||= 1 - attempt += 1 - raise if attempt > 3 || !e.message.include?("Network error") - - retry - end - - dep = definition.resolve.find { |d| d.name == dependency_name } - return dep if dep - return if dependency_requirements.any? || !unlock_subdependencies - - # If no definition was found and we're updating a sub-dependency, - # try again but without unlocking any other sub-dependencies - dependency_from_definition(unlock_subdependencies: false) - end - # rubocop:enable Metrics/PerceivedComplexity - - def subdependencies - # If there's no lockfile we don't need to worry about - # subdependencies - return [] unless lockfile - - all_deps = ::Bundler::LockfileParser.new(lockfile) - .specs.map { |x| x.name.to_s }.uniq - top_level = build_definition([]).dependencies - .map { |x| x.name.to_s } - - all_deps - top_level - end - - def build_definition(dependencies_to_unlock) - # NOTE: we lock shared dependencies to avoid any top-level - # dependencies getting unlocked (which would happen if they were - # also subdependencies of the dependency being unlocked) - ::Bundler::Definition.build( - gemfile_name, - lockfile_name, - gems: dependencies_to_unlock, - lock_shared_dependencies: true - ) - end - - def unlock_yanked_gem(dependencies_to_unlock, error) - raise unless error.message.match?(GEM_NOT_FOUND_ERROR_REGEX) - - gem_name = error.message.match(GEM_NOT_FOUND_ERROR_REGEX) - .named_captures["name"] - raise if dependencies_to_unlock.include?(gem_name) - - dependencies_to_unlock << gem_name - end - - def lockfile - return @lockfile if defined?(@lockfile) - - @lockfile = - begin - return unless lockfile_name - return unless File.exist?(lockfile_name) - - File.read(lockfile_name) - end - end - - def fetcher_class(dep) - return unless dep.source.is_a?(::Bundler::Source::Rubygems) - - dep.source.fetchers.first.fetchers.first.class.to_s - end - - def ruby_version - return nil unless gemfile_name - - @ruby_version ||= build_definition([]).ruby_version&.gem_version - end - end -end diff --git a/bundler/helpers/v1/monkey_patches/definition_bundler_version_patch.rb b/bundler/helpers/v1/monkey_patches/definition_bundler_version_patch.rb deleted file mode 100644 index 8783e7693c02..000000000000 --- a/bundler/helpers/v1/monkey_patches/definition_bundler_version_patch.rb +++ /dev/null @@ -1,16 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "bundler/definition" - -# Ignore the Bundler version specified in the Gemfile (since the only Bundler -# version available to us is the one we're using). -module BundlerDefinitionBundlerVersionPatch - def expanded_dependencies - @expanded_dependencies ||= - expand_dependencies(dependencies + metadata_dependencies, @remote) - .reject { |d| d.name == "bundler" } - end -end - -Bundler::Definition.prepend(BundlerDefinitionBundlerVersionPatch) diff --git a/bundler/helpers/v1/monkey_patches/definition_ruby_version_patch.rb b/bundler/helpers/v1/monkey_patches/definition_ruby_version_patch.rb deleted file mode 100644 index bca11f2dc7c4..000000000000 --- a/bundler/helpers/v1/monkey_patches/definition_ruby_version_patch.rb +++ /dev/null @@ -1,22 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "bundler/definition" - -module BundlerDefinitionRubyVersionPatch - def index - @index ||= super.tap do - if ruby_version - requested_version = ruby_version.to_gem_version_with_patchlevel - sources.metadata_source.specs << - Gem::Specification.new("ruby\0", requested_version) - end - - %w(2.5.3p105 2.6.10p210 2.7.6p219 3.0.7p220 3.1.5p252 3.2.4p170).each do |version| - sources.metadata_source.specs << Gem::Specification.new("ruby\0", version) - end - end - end -end - -Bundler::Definition.prepend(BundlerDefinitionRubyVersionPatch) diff --git a/bundler/helpers/v1/monkey_patches/fileutils_keyword_splat_patch.rb b/bundler/helpers/v1/monkey_patches/fileutils_keyword_splat_patch.rb deleted file mode 100644 index 168b7d469c65..000000000000 --- a/bundler/helpers/v1/monkey_patches/fileutils_keyword_splat_patch.rb +++ /dev/null @@ -1,20 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "bundler/vendor/fileutils/lib/fileutils" - -# Port -# https://github.com/ruby/fileutils/commit/a5eca84a4240e29bb7886c3ef7085d464a972dd0 -# to fix keyword argument errors on Ruby 3.1 - -module BundlerFileUtilsKeywordSplatPatch - def entries - opts = {} - opts[:encoding] = ::Encoding::UTF_8 if fu_windows? - Dir.entries(path, **opts) - .reject { |n| n == "." || n == ".." } - .map { |n| self.class.new(prefix, join(rel, n.untaint)) } - end -end - -Bundler::FileUtils::Entry_.prepend(BundlerFileUtilsKeywordSplatPatch) diff --git a/bundler/helpers/v1/monkey_patches/git_source_patch.rb b/bundler/helpers/v1/monkey_patches/git_source_patch.rb deleted file mode 100644 index c878d582069a..000000000000 --- a/bundler/helpers/v1/monkey_patches/git_source_patch.rb +++ /dev/null @@ -1,62 +0,0 @@ -# typed: true -# frozen_string_literal: true - -require "bundler/source" - -module Bundler - class Source - class Git - class GitProxy - private - - # Bundler allows ssh authentication when talking to GitHub but there's - # no way for Dependabot to do so (it doesn't have any ssh keys). - # Instead, we convert all `git@github.com:` URLs to use HTTPS. - def configured_uri_for(uri) - uri = uri.gsub(%r{git@(.*?):/?}, 'https://\1/') - if uri.match?(/https?:/) - remote = ::URI.parse(uri) - config_auth = - Bundler.settings[remote.to_s] || Bundler.settings[remote.host] - remote.userinfo ||= config_auth - remote.to_s - else - uri - end - end - end - end - end -end - -module Bundler - class Source - class Git < Path - private - - def serialize_gemspecs_in(destination) - original_load_paths = $LOAD_PATH.dup - reduced_load_paths = original_load_paths - .reject { |p| p.include?("/gems/") } - - $LOAD_PATH.shift until $LOAD_PATH.empty? - reduced_load_paths.each { |p| $LOAD_PATH << p } - - destination = destination.expand_path(Bundler.root) if destination.relative? - Dir["#{destination}/#{@glob}"].each do |spec_path| - # Evaluate gemspecs and cache the result. Gemspecs - # in git might require git or other dependencies. - # The gemspecs we cache should already be evaluated. - spec = Bundler.load_gemspec(spec_path) - next unless spec - - Bundler.rubygems.set_installed_by_version(spec) - Bundler.rubygems.validate(spec) - File.binwrite(spec_path, spec.to_ruby) - end - $LOAD_PATH.shift until $LOAD_PATH.empty? - original_load_paths.each { |p| $LOAD_PATH << p } - end - end - end -end diff --git a/bundler/helpers/v1/monkey_patches/object_untaint_patch.rb b/bundler/helpers/v1/monkey_patches/object_untaint_patch.rb deleted file mode 100644 index 04b8c620f8ce..000000000000 --- a/bundler/helpers/v1/monkey_patches/object_untaint_patch.rb +++ /dev/null @@ -1,17 +0,0 @@ -# typed: false -# frozen_string_literal: true - -# Bundler v1 uses the `untaint` method on objects in `Bundler::SharedHelpers`. -# This method has been deprecated for a long time, and is actually a no-op in -# ruby versions 2.7+. In Ruby 3.3 it was finally removed, and it's now causing -# bundler v1 to error. -# -# In order to keep the old behavior, we're monkey patching `Object` to add a -# no-op implementation of untaint. -module ObjectUntaintPatch - def untaint - self - end -end - -Object.prepend(ObjectUntaintPatch) diff --git a/bundler/helpers/v1/monkey_patches/resolver_spec_group_sane_eql.rb b/bundler/helpers/v1/monkey_patches/resolver_spec_group_sane_eql.rb deleted file mode 100644 index c3e2e7012612..000000000000 --- a/bundler/helpers/v1/monkey_patches/resolver_spec_group_sane_eql.rb +++ /dev/null @@ -1,18 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "bundler/resolver/spec_group" - -# Port -# https://github.com/rubygems/bundler/commit/30a690edbdf5ee64ea54afc7d0c91d910ff2b80e -# to fix flaky failures on Bundler 1 - -module BundlerResolverSpecGroupSaneEql - def eql?(other) - return false unless other.is_a?(self.class) - - super - end -end - -Bundler::Resolver::SpecGroup.prepend(BundlerResolverSpecGroupSaneEql) diff --git a/bundler/helpers/v1/patched_bundler b/bundler/helpers/v1/patched_bundler deleted file mode 100755 index 15e4f86f0f5d..000000000000 --- a/bundler/helpers/v1/patched_bundler +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/local/bin/ruby -# -# This file was generated by RubyGems. -# It was then patched by Dependabot to add `Object#untaint` back -# in order to run bundler 1.17.3 using Ruby 3.3+. -# -# The application 'bundler' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -$LOAD_PATH.unshift(File.expand_path("./monkey_patches", __dir__)) -require "object_untaint_patch" - -require 'rubygems' - -version = ">= 0.a" - -str = ARGV.first -if str - str = str.b[/\A_(.*)_\z/, 1] - if str and Gem::Version.correct?(str) - version = str - ENV['BUNDLER_VERSION'] = str - - ARGV.shift - end -end - -if Gem.respond_to?(:activate_bin_path) -load Gem.activate_bin_path('bundler', 'bundle', version) -else -gem "bundler", version -load Gem.bin_path("bundler", "bundle", version) -end diff --git a/bundler/helpers/v1/run.rb b/bundler/helpers/v1/run.rb deleted file mode 100644 index 2b9345d60916..000000000000 --- a/bundler/helpers/v1/run.rb +++ /dev/null @@ -1,38 +0,0 @@ -# typed: strict -# frozen_string_literal: true - -gem "bundler", "~> 1.17" -require "bundler" -require "json" - -$LOAD_PATH.unshift(File.expand_path("./lib", __dir__)) -$LOAD_PATH.unshift(File.expand_path("./monkey_patches", __dir__)) - -trap "HUP" do - puts JSON.generate(error: "timeout", error_class: "Timeout::Error", trace: []) - exit 2 -end - -# Bundler monkey patches -require "definition_ruby_version_patch" -require "definition_bundler_version_patch" -require "fileutils_keyword_splat_patch" -require "git_source_patch" -require "resolver_spec_group_sane_eql" -require "object_untaint_patch" - -require "functions" - -begin - request = JSON.parse($stdin.read) - - function = request["function"] - args = request["args"].transform_keys(&:to_sym) - - print JSON.dump({ result: Functions.send(function, **args) }) -rescue StandardError => e - print JSON.dump( - { error: e.message, error_class: e.class, trace: e.backtrace } - ) - exit(1) -end diff --git a/bundler/helpers/v1/spec/functions/conflicting_dependency_resolver_spec.rb b/bundler/helpers/v1/spec/functions/conflicting_dependency_resolver_spec.rb deleted file mode 100644 index 5be15365c3cd..000000000000 --- a/bundler/helpers/v1/spec/functions/conflicting_dependency_resolver_spec.rb +++ /dev/null @@ -1,118 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "native_spec_helper" -require "shared_contexts" - -RSpec.describe Functions::ConflictingDependencyResolver do - include_context "when in a temporary bundler directory" - - let(:conflicting_dependency_resolver) do - described_class.new( - dependency_name: dependency_name, - target_version: target_version, - lockfile_name: "Gemfile.lock" - ) - end - - let(:dependency_name) { "dummy-pkg-a" } - let(:target_version) { "2.0.0" } - - let(:project_name) { "blocked_by_subdep" } - - describe "#conflicting_dependencies" do - subject(:conflicting_dependencies) do - in_tmp_folder { conflicting_dependency_resolver.conflicting_dependencies } - end - - it "returns a list of dependencies that block the update" do - expect(conflicting_dependencies).to eq( - [{ - "explanation" => "dummy-pkg-b (1.0.0) requires dummy-pkg-a (< 2.0.0)", - "name" => "dummy-pkg-b", - "version" => "1.0.0", - "requirement" => "< 2.0.0" - }] - ) - end - - context "when dealing with nested transitive dependencies" do - let(:project_name) { "transitive_blocking" } - let(:dependency_name) { "activesupport" } - let(:target_version) { "6.0.0" } - - it "returns a list of dependencies that block the update" do - expect(conflicting_dependencies).to contain_exactly({ - "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0)", - "name" => "rails", - "requirement" => "= 5.2.0", - "version" => "5.2.0" - }, { - "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via actionpack (5.2.0)", - "name" => "actionpack", - "version" => "5.2.0", - "requirement" => "= 5.2.0" - }, { - "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via actionview (5.2.0)", - "name" => "actionview", - "version" => "5.2.0", - "requirement" => "= 5.2.0" - }, { - "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activejob (5.2.0)", - "name" => "activejob", - "version" => "5.2.0", - "requirement" => "= 5.2.0" - }, { - "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activemodel (5.2.0)", - "name" => "activemodel", - "version" => "5.2.0", - "requirement" => "= 5.2.0" - }, { - "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activerecord (5.2.0)", - "name" => "activerecord", - "version" => "5.2.0", - "requirement" => "= 5.2.0" - }, { - "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via railties (5.2.0)", - "name" => "railties", - "version" => "5.2.0", - "requirement" => "= 5.2.0" - }) - end - end - - context "with multiple blocking dependencies" do - let(:dependency_name) { "activesupport" } - let(:current_version) { "5.0.0" } - let(:target_version) { "6.0.0" } - let(:project_name) { "multiple_blocking" } - - it "returns all of the blocking dependencies" do - expect(conflicting_dependencies).to contain_exactly({ - "explanation" => "actionmailer (5.0.0) requires activesupport (= 5.0.0) via actionpack (5.0.0)", - "name" => "actionpack", - "version" => "5.0.0", - "requirement" => "= 5.0.0" - }, { - "explanation" => "actionview (5.0.0) requires activesupport (= 5.0.0)", - "name" => "actionview", - "version" => "5.0.0", - "requirement" => "= 5.0.0" - }, { - "explanation" => "actionmailer (5.0.0) requires activesupport (= 5.0.0) via activejob (5.0.0)", - "name" => "activejob", - "version" => "5.0.0", - "requirement" => "= 5.0.0" - }) - end - end - - context "without any blocking dependencies" do - let(:target_version) { "1.0.0" } - - it "returns an empty list" do - expect(conflicting_dependencies).to eq([]) - end - end - end -end diff --git a/bundler/helpers/v1/spec/functions/dependency_source_spec.rb b/bundler/helpers/v1/spec/functions/dependency_source_spec.rb deleted file mode 100644 index 53f5b7470c95..000000000000 --- a/bundler/helpers/v1/spec/functions/dependency_source_spec.rb +++ /dev/null @@ -1,188 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "native_spec_helper" -require "shared_contexts" - -RSpec.describe Functions::DependencySource do - include_context "when in a temporary bundler directory" - - let(:dependency_source) do - described_class.new( - gemfile_name: "Gemfile", - dependency_name: dependency_name - ) - end - - let(:dependency_name) { "business" } - - let(:project_name) { "specified_source_no_lockfile" } - let(:registry_url) { "https://repo.fury.io/greysteil/" } - let(:gemfury_business_url) do - "https://repo.fury.io/greysteil/api/v1/dependencies?gems=business" - end - - before do - stub_request(:get, registry_url + "versions") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 404) - stub_request(:get, registry_url + "api/v1/dependencies") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 200) - stub_request(:get, gemfury_business_url) - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 200, body: fixture("ruby", "gemfury_response")) - end - - describe "#private_registry_versions" do - subject(:private_registry_versions) do - in_tmp_folder { dependency_source.private_registry_versions } - end - - it "returns all versions from the private source" do - expect(private_registry_versions).to eq([ - Gem::Version.new("1.5.0"), - Gem::Version.new("1.9.0"), - Gem::Version.new("1.10.0.beta") - ]) - end - - context "when specified as the default source" do - let(:project_name) { "specified_default_source_no_lockfile" } - - it "returns all versions from the private source" do - expect(private_registry_versions).to eq([ - Gem::Version.new("1.5.0"), - Gem::Version.new("1.9.0"), - Gem::Version.new("1.10.0.beta") - ]) - end - end - - context "when we don't have authentication details for" do - before do - stub_request(:get, registry_url + "versions") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 401) - stub_request(:get, registry_url + "api/v1/dependencies") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 401) - stub_request(:get, registry_url + "specs.4.8.gz") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 401) - end - - it "blows up with a useful error" do - error_class = Bundler::Fetcher::AuthenticationRequiredError - error_message = "Authentication is required for repo.fury.io" - expect { private_registry_versions } - .to raise_error do |error| - expect(error).to be_a(error_class) - expect(error.message).to include(error_message) - end - end - end - - context "when we have bad authentication details" do - before do - stub_request(:get, registry_url + "versions") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 403) - stub_request(:get, registry_url + "api/v1/dependencies") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 403) - stub_request(:get, registry_url + "specs.4.8.gz") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 403) - end - - it "blows up with a useful error" do - error_class = Bundler::Fetcher::BadAuthenticationError - expect { private_registry_versions } - .to raise_error do |error| - expect(error).to be_a(error_class) - expect(error.message) - .to include("Bad username or password for") - end - end - end - - context "when bad-requested, but is a private repo" do - before do - stub_request(:get, registry_url + "versions") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 400) - stub_request(:get, registry_url + "api/v1/dependencies") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 400) - stub_request(:get, registry_url + "specs.4.8.gz") - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 400) - end - - it "blows up with a useful error" do - expect { private_registry_versions } - .to raise_error do |error| - expect(error).to be_a(Bundler::HTTPError) - expect(error.message) - .to include("Could not fetch specs from") - end - end - end - - context "when it doesn't have details of the gem" do - before do - stub_request(:get, gemfury_business_url) - .with(basic_auth: ["SECRET_CODES", ""]) - .to_return(status: 404) - - # Stub indexes to return details of other gems (but not this one) - stub_request(:get, registry_url + "specs.4.8.gz") - .to_return( - status: 200, - body: fixture("ruby", "contribsys_old_index_response") - ) - stub_request(:get, registry_url + "prerelease_specs.4.8.gz") - .to_return( - status: 200, - body: fixture("ruby", "contribsys_old_index_prerelease_response") - ) - end - - it { is_expected.to be_empty } - end - - context "when it only implements the old Bundler index format" do - let(:project_name) { "sidekiq_pro" } - let(:dependency_name) { "sidekiq-pro" } - let(:registry_url) { "https://gems.contribsys.com/" } - - before do - stub_request(:get, registry_url + "versions") - .with(basic_auth: %w(username password)) - .to_return(status: 404) - stub_request(:get, registry_url + "api/v1/dependencies") - .with(basic_auth: %w(username password)) - .to_return(status: 404) - stub_request(:get, registry_url + "specs.4.8.gz") - .with(basic_auth: %w(username password)) - .to_return( - status: 200, - body: fixture("ruby", "contribsys_old_index_response") - ) - stub_request(:get, registry_url + "prerelease_specs.4.8.gz") - .with(basic_auth: %w(username password)) - .to_return( - status: 200, - body: fixture("ruby", "contribsys_old_index_prerelease_response") - ) - end - - it "returns all versions from the private source" do - expect(private_registry_versions.length).to be(70) - expect(private_registry_versions.min).to eql(Gem::Version.new("1.0.0")) - expect(private_registry_versions.max).to eql(Gem::Version.new("3.5.2")) - end - end - end -end diff --git a/bundler/helpers/v1/spec/functions/file_parser_spec.rb b/bundler/helpers/v1/spec/functions/file_parser_spec.rb deleted file mode 100644 index db4c96ca8bc3..000000000000 --- a/bundler/helpers/v1/spec/functions/file_parser_spec.rb +++ /dev/null @@ -1,75 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "native_spec_helper" -require "shared_contexts" - -RSpec.describe Functions::FileParser do - include_context "when in a temporary bundler directory" - - let(:dependency_source) do - described_class.new( - lockfile_name: "Gemfile.lock" - ) - end - - describe "#parsed_gemfile" do - subject(:parsed_gemfile) do - in_tmp_folder do - dependency_source.parsed_gemfile(gemfile_name: "Gemfile") - end - end - - let(:project_name) { "gemfile" } - - it "parses gemfile" do - parsed_gemfile = [ - { - groups: [:default], - name: "business", - requirement: Gem::Requirement.new("~> 1.4.0"), - source: nil, - type: :runtime - }, - { - groups: [:default], - name: "statesman", - requirement: Gem::Requirement.new("~> 1.2.0"), - source: nil, - type: :runtime - } - ] - expect(parsed_gemfile).not_to be_nil # to get past IdenticalEqualityAssertion - end - end - - describe "#parsed_gemspec" do - subject(:parsed_gemspec) do - in_tmp_folder do |_tmp_path| - dependency_source.parsed_gemspec(gemspec_name: "example.gemspec") - end - end - - let(:project_name) { "gemfile_exact" } - - it "parses gemspec" do - parsed_gemspec = [ - { - groups: nil, - name: "business", - requirement: Gem::Requirement.new("= 1.0.0"), - source: nil, - type: :runtime - }, - { - groups: nil, - name: "statesman", - requirement: Gem::Requirement.new("= 1.0.0"), - source: nil, - type: :runtime - } - ] - expect(parsed_gemspec).not_to be_nil # to get past IdenticalEqualityAssertion - end - end -end diff --git a/bundler/helpers/v1/spec/functions/force_updater_spec.rb b/bundler/helpers/v1/spec/functions/force_updater_spec.rb deleted file mode 100644 index fd9ba6338e6e..000000000000 --- a/bundler/helpers/v1/spec/functions/force_updater_spec.rb +++ /dev/null @@ -1,59 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "native_spec_helper" -require "shared_contexts" - -RSpec.describe Functions::ForceUpdater do - include_context "when in a temporary bundler directory" - include_context "when stubbing rubygems compact index" - - let(:force_updater) do - described_class.new( - dependency_name: dependency_name, - target_version: target_version, - gemfile_name: gemfile_name, - lockfile_name: lockfile_name, - update_multiple_dependencies: update_multiple_dependencies - ) - end - let(:gemfile_name) { "Gemfile" } - let(:lockfile_name) { "Gemfile.lock" } - let(:update_multiple_dependencies) { true } - - describe "#run" do - subject(:force_update) do - in_tmp_folder { force_updater.run } - end - - context "with a version conflict" do - let(:target_version) { "3.6.0" } - let(:dependency_name) { "rspec-support" } - let(:project_name) { "version_conflict" } - - it "updates the conflicting dependencies" do - updated_deps, _specs = force_update - expect(updated_deps).to eq([{ name: "rspec-support" }, { name: "rspec-mocks" }]) - end - - context "when updating a single dependency" do - let(:update_multiple_dependencies) { false } - - it { expect { force_update }.to raise_error(Bundler::VersionConflict) } - end - end - - context "with a version conflict in gems rb" do - let(:target_version) { "3.6.0" } - let(:dependency_name) { "rspec-support" } - let(:project_name) { "version_conflict_gems_rb" } - let(:gemfile_name) { "gems.rb" } - let(:lockfile_name) { "gems.locked" } - - it "updates the conflicting dependencies" do - updated_deps, _specs = force_update - expect(updated_deps).to eq([{ name: "rspec-support" }, { name: "rspec-mocks" }]) - end - end - end -end diff --git a/bundler/helpers/v1/spec/functions/version_resolver_spec.rb b/bundler/helpers/v1/spec/functions/version_resolver_spec.rb deleted file mode 100644 index afa017a963f8..000000000000 --- a/bundler/helpers/v1/spec/functions/version_resolver_spec.rb +++ /dev/null @@ -1,105 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "native_spec_helper" -require "shared_contexts" - -RSpec.describe Functions::VersionResolver do - include_context "when in a temporary bundler directory" - include_context "when stubbing rubygems compact index" - - let(:version_resolver) do - described_class.new( - dependency_name: dependency_name, - dependency_requirements: dependency_requirements, - gemfile_name: "Gemfile", - lockfile_name: "Gemfile.lock" - ) - end - - let(:dependency_name) { "business" } - let(:dependency_requirements) do - [{ - file: "Gemfile", - requirement: requirement_string, - groups: [], - source: source - }] - end - let(:source) { nil } - - let(:rubygems_url) { "https://index.rubygems.org/api/v1/" } - let(:old_index_url) { rubygems_url + "dependencies" } - - describe "#version_details" do - subject do - in_tmp_folder { version_resolver.version_details } - end - - let(:project_name) { "gemfile" } - let(:requirement_string) { " >= 0" } - - its([:version]) { is_expected.to eq(Gem::Version.new("1.4.0")) } - its([:fetcher]) { is_expected.to eq("Bundler::Fetcher::CompactIndex") } - - context "with a private gemserver source" do - include_context "when stubbing rubygems compact index" - - let(:project_name) { "specified_source" } - let(:requirement_string) { ">= 0" } - - before do - gemfury_url = "https://repo.fury.io/greysteil/" - gemfury_deps_url = gemfury_url + "api/v1/dependencies" - - stub_request(:get, gemfury_url + "versions") - .to_return(status: 200, body: fixture("ruby", "gemfury-index")) - stub_request(:get, gemfury_url + "info/business").to_return(status: 404) - stub_request(:get, gemfury_deps_url).to_return(status: 200) - stub_request(:get, gemfury_deps_url + "?gems=business,statesman") - .to_return(status: 200, body: fixture("ruby", "gemfury_response")) - stub_request(:get, gemfury_deps_url + "?gems=business") - .to_return(status: 200, body: fixture("ruby", "gemfury_response")) - stub_request(:get, gemfury_deps_url + "?gems=statesman") - .to_return(status: 200, body: fixture("ruby", "gemfury_response")) - end - - its([:version]) { is_expected.to eq(Gem::Version.new("1.9.0")) } - its([:fetcher]) { is_expected.to eq("Bundler::Fetcher::Dependency") } - end - - context "with a git source" do - let(:project_name) { "git_source" } - - its([:version]) { is_expected.to eq(Gem::Version.new("1.6.0")) } - its([:fetcher]) { is_expected.to be_nil } - end - - context "when Bundler's compact index is down" do - before do - stub_request(:get, "https://index.rubygems.org/versions") - .to_return(status: 500, body: "We'll be back soon") - stub_request(:get, "https://index.rubygems.org/info/public_suffix") - .to_return(status: 500, body: "We'll be back soon") - stub_request(:get, old_index_url).to_return(status: 200) - stub_request(:get, old_index_url + "?gems=business,statesman") - .to_return( - status: 200, - body: fixture("rubygems_responses", - "dependencies-default-gemfile") - ) - end - - its([:version]) { is_expected.to eq(Gem::Version.new("1.4.0")) } - its([:fetcher]) { is_expected.to eq("Bundler::Fetcher::Dependency") } - end - - context "with no update possible due to a version conflict" do - let(:project_name) { "version_conflict_with_listed_subdep" } - let(:dependency_name) { "rspec-mocks" } - let(:requirement_string) { ">= 0" } - - its([:version]) { is_expected.to eq(Gem::Version.new("3.6.0")) } - end - end -end diff --git a/bundler/helpers/v1/spec/native_spec_helper.rb b/bundler/helpers/v1/spec/native_spec_helper.rb deleted file mode 100644 index 4e041f5fc54c..000000000000 --- a/bundler/helpers/v1/spec/native_spec_helper.rb +++ /dev/null @@ -1,56 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "rspec/its" -require "webmock/rspec" -require "tmpdir" - -$LOAD_PATH.unshift(File.expand_path("../lib", __dir__)) -$LOAD_PATH.unshift(File.expand_path("../monkey_patches", __dir__)) -$LOAD_PATH.unshift(File.expand_path("../../spec_helpers", __dir__)) - -# Bundler monkey patches -require "definition_ruby_version_patch" -require "definition_bundler_version_patch" -require "fileutils_keyword_splat_patch" -require "git_source_patch" -require "resolver_spec_group_sane_eql" - -require "functions" - -require "gem_net_http_adapter" - -RSpec.configure do |config| - config.color = true - config.order = :rand - config.mock_with(:rspec) { |mocks| mocks.verify_partial_doubles = true } - config.raise_errors_for_deprecations! -end - -# Duplicated in lib/dependabot/bundler/file_updater/lockfile_updater.rb -# TODO: Stop sanitizing the lockfile once we have bundler 2 installed -LOCKFILE_ENDING = /(?\s*(?:RUBY VERSION|BUNDLED WITH).*)/m - -def project_dependency_files(project) - project_path = File.expand_path(File.join("../../spec/fixtures/projects/bundler1", project)) - - raise "Fixture does not exist for project: '#{project}'" unless Dir.exist?(project_path) - - Dir.chdir(project_path) do - # NOTE: Include dotfiles (e.g. .npmrc) - files = Dir.glob("**/*", File::FNM_DOTMATCH) - files = files.select { |f| File.file?(f) } - files.map do |filename| - content = File.read(filename) - content = content.gsub(LOCKFILE_ENDING, "") if filename == "Gemfile.lock" - { - name: filename, - content: content - } - end - end -end - -def fixture(*name) - File.read(File.join("../../spec/fixtures", File.join(*name))) -end diff --git a/bundler/helpers/v1/spec/shared_contexts.rb b/bundler/helpers/v1/spec/shared_contexts.rb deleted file mode 100644 index 3588d6ca9a03..000000000000 --- a/bundler/helpers/v1/spec/shared_contexts.rb +++ /dev/null @@ -1,60 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "bundler/compact_index_client" -require "bundler/compact_index_client/updater" - -TMP_DIR_PATH = File.expand_path("../tmp", __dir__) - -RSpec.shared_context "when in a temporary bundler directory" do - let(:project_name) { "gemfile" } - - let(:tmp_path) do - FileUtils.mkdir_p(TMP_DIR_PATH) - dir = Dir.mktmpdir("native_helper_spec_", TMP_DIR_PATH) - Pathname.new(dir).expand_path - end - - before do - project_dependency_files(project_name).each do |file| - File.write(File.join(tmp_path, file[:name]), file[:content]) - end - end - - def in_tmp_folder(&block) - Dir.chdir(tmp_path, &block) - end -end - -RSpec.shared_context "without caching rubygems" do - before do - # Stub Bundler to stop it using a cached versions of Rubygems - allow_any_instance_of(Bundler::CompactIndexClient::Updater) - .to receive(:etag_for).and_return("") - end -end - -RSpec.shared_context "when stubbing rubygems compact index" do - include_context "without caching rubygems" - - before do - # Stub the Rubygems index - stub_request(:get, "https://index.rubygems.org/versions") - .to_return( - status: 200, - body: fixture("rubygems_responses", "index") - ) - - # Stub the Rubygems response for each dependency we have a fixture for - fixtures = - Dir[File.join("../../spec", "fixtures", "rubygems_responses", "info-*")] - fixtures.each do |path| - dep_name = path.split("/").last.gsub("info-", "") - stub_request(:get, "https://index.rubygems.org/info/#{dep_name}") - .to_return( - status: 200, - body: fixture("rubygems_responses", "info-#{dep_name}") - ) - end - end -end diff --git a/bundler/lib/dependabot/bundler/helpers.rb b/bundler/lib/dependabot/bundler/helpers.rb index 6bd5d504a24a..7583f04c301d 100644 --- a/bundler/lib/dependabot/bundler/helpers.rb +++ b/bundler/lib/dependabot/bundler/helpers.rb @@ -20,23 +20,11 @@ def self.bundler_version(lockfile) if (matches = lockfile.content&.match(BUNDLER_MAJOR_VERSION_REGEX)) matches[:version].to_i >= 2 ? V2 : V1 - elsif Dependabot::Experiments.enabled?(:bundler_v1_unsupported_error) - DEFAULT else - failover_version + DEFAULT end end - # If we are updating a project with a Gemfile.lock that does not specify - # the version it was bundled with, we failover to V1 on the assumption - # it was created with an old version that didn't add this information - sig { returns(String) } - def self.failover_version - return V2 if Dependabot::Experiments.enabled?(:bundler_v1_unsupported_error) - - V1 - end - sig { params(lockfile: T.nilable(Dependabot::DependencyFile)).returns(String) } def self.detected_bundler_version(lockfile) return "unknown" unless lockfile diff --git a/bundler/lib/dependabot/bundler/package_manager.rb b/bundler/lib/dependabot/bundler/package_manager.rb index 6e33bd9f2e52..b5c2816ab0bf 100644 --- a/bundler/lib/dependabot/bundler/package_manager.rb +++ b/bundler/lib/dependabot/bundler/package_manager.rb @@ -12,9 +12,11 @@ module Bundler # Keep versions in ascending order SUPPORTED_BUNDLER_VERSIONS = T.let([Version.new("2")].freeze, T::Array[Dependabot::Version]) - DEPRECATED_BUNDLER_VERSIONS = T.let([ - Version.new("1") - ].freeze, T::Array[Dependabot::Version]) + # Currently, we don't support any deprecated versions of Bundler + # When a version is going to be unsupported, it will be added here for a while to give users time to upgrade + # Example for deprecation: + # DEPRECATED_BUNDLER_VERSIONS = T.let([Version.new("1")].freeze, T::Array[Dependabot::Version]) + DEPRECATED_BUNDLER_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version]) class PackageManager < PackageManagerBase extend T::Sig @@ -41,9 +43,7 @@ def initialize(version) sig { override.returns(T::Boolean) } def unsupported? - # Check if the feature flag for Bundler v1 unsupported error is enabled. - return false unless Dependabot::Experiments.enabled?(:bundler_v1_unsupported_error) - + # Check if the version is not supported supported_versions.all? { |supported| supported > version } end end diff --git a/bundler/lib/dependabot/bundler/update_checker/shared_bundler_helpers.rb b/bundler/lib/dependabot/bundler/update_checker/shared_bundler_helpers.rb index 186370fdf36d..5ddd1a92cb4b 100644 --- a/bundler/lib/dependabot/bundler/update_checker/shared_bundler_helpers.rb +++ b/bundler/lib/dependabot/bundler/update_checker/shared_bundler_helpers.rb @@ -31,8 +31,7 @@ module SharedBundlerHelpers PATH_REGEX = /The path `(?.*)` does not exist/ module BundlerErrorPatterns - # The `set --global` optional part can be made required when Bundler 1 support is dropped - MISSING_AUTH_REGEX = /bundle config (?:set --global )?(?.*) username:password/ + MISSING_AUTH_REGEX = /bundle config set --global (?.*) username:password/ BAD_AUTH_REGEX = /Bad username or password for (?.*)\.$/ FORBIDDEN_AUTH_REGEX = /Access token could not be authenticated for (?.*)\.$/ diff --git a/bundler/script/ci-test b/bundler/script/ci-test index a04d01a8e008..ecab00746b32 100755 --- a/bundler/script/ci-test +++ b/bundler/script/ci-test @@ -8,14 +8,7 @@ bundle exec turbo_tests --verbose # NOTE: Don't use `if` branches without `else` part, since the code in some of # then seems to not abort the script regardless of `set -e` -if [[ "$SUITE_NAME" == "bundler1" ]]; then - # shellcheck source=../helpers/v1/build - DEPENDABOT_NATIVE_HELPERS_PATH="" source helpers/v1/build \ - && BUNDLER_VERSION=1.17.3 ./patched_bundler exec rspec spec\ - && cd - -else - # shellcheck source=../helpers/v2/build - DEPENDABOT_NATIVE_HELPERS_PATH="" source helpers/v2/build \ - && bundle exec rspec spec \ - && cd - -fi +# shellcheck source=../helpers/v2/build +DEPENDABOT_NATIVE_HELPERS_PATH="" source helpers/v2/build \ + && bundle exec rspec spec \ + && cd - diff --git a/bundler/spec/dependabot/bundler/file_parser/file_preparer_spec.rb b/bundler/spec/dependabot/bundler/file_parser/file_preparer_spec.rb index 80b98ab8c961..aa2317e6e48f 100644 --- a/bundler/spec/dependabot/bundler/file_parser/file_preparer_spec.rb +++ b/bundler/spec/dependabot/bundler/file_parser/file_preparer_spec.rb @@ -19,15 +19,7 @@ its(:content) { is_expected.to include('gem "business", "~> 1.4.0"') } end - describe "the updated lockfile", :bundler_v1_only do - subject do - prepared_dependency_files.find { |f| f.name == "Gemfile.lock" } - end - - its(:content) { is_expected.to include("1.10.6") } - end - - describe "the updated lockfile", :bundler_v2_only do + describe "the updated lockfile" do subject do prepared_dependency_files.find { |f| f.name == "Gemfile.lock" } end diff --git a/bundler/spec/dependabot/bundler/file_parser_spec.rb b/bundler/spec/dependabot/bundler/file_parser_spec.rb index ea0b8d2b2c1d..4d2281a30a32 100644 --- a/bundler/spec/dependabot/bundler/file_parser_spec.rb +++ b/bundler/spec/dependabot/bundler/file_parser_spec.rb @@ -172,32 +172,7 @@ its(:length) { is_expected.to eq(5) } - describe "an untagged dependency", :bundler_v1_only do - subject { dependencies.find { |d| d.name == "uk_phone_numbers" } } - - let(:expected_requirements) do - [{ - requirement: ">= 0", - file: "Gemfile", - source: { - type: "git", - url: "https://github.com/dependabot-fixtures/uk_phone_numbers", - branch: nil, - ref: "master" - }, - groups: [:default] - }] - end - - it { is_expected.to be_a(Dependabot::Dependency) } - its(:requirements) { is_expected.to eq(expected_requirements) } - - its(:version) do - is_expected.to eq("1530024bd6a68d36ac18e04836ce110e0d433c36") - end - end - - describe "an untagged dependency", :bundler_v2_only do + describe "an untagged dependency" do subject { dependencies.find { |d| d.name == "uk_phone_numbers" } } let(:expected_requirements) do @@ -247,34 +222,7 @@ end end - describe "a github dependency", :bundler_v1_only do - subject { dependencies.find { |d| d.name == "business" } } - - let(:dependency_files) { bundler_project_dependency_files("github_source") } - - let(:expected_requirements) do - [{ - requirement: ">= 0", - file: "Gemfile", - source: { - type: "git", - url: "https://github.com/dependabot-fixtures/business.git", - branch: nil, - ref: "master" - }, - groups: [:default] - }] - end - - it { is_expected.to be_a(Dependabot::Dependency) } - its(:requirements) { is_expected.to eq(expected_requirements) } - - its(:version) do - is_expected.to eq("d31e445215b5af70c1604715d97dd953e868380e") - end - end - - describe "a github dependency", :bundler_v2_only do + describe "a github dependency" do subject { dependencies.find { |d| d.name == "business" } } let(:dependency_files) { bundler_project_dependency_files("github_source") } @@ -301,31 +249,7 @@ end end - context "with a subdependency of a git source", :bundler_v1_only do - subject { dependencies.find { |d| d.name == "kaminari-actionview" } } - - let(:dependency_files) { bundler_project_dependency_files("git_source_undeclared") } - - let(:expected_requirements) do - [{ - requirement: ">= 0", - file: "Gemfile", - source: { - type: "git", - url: "https://github.com/dependabot-fixtures/kaminari", - branch: nil, - ref: "master" - }, - groups: [:default] - }] - end - - it { is_expected.to be_a(Dependabot::Dependency) } - its(:name) { is_expected.to eq("kaminari-actionview") } - its(:requirements) { is_expected.to eq(expected_requirements) } - end - - context "with a subdependency of a git source", :bundler_v2_only do + context "with a subdependency of a git source" do subject { dependencies.find { |d| d.name == "kaminari-actionview" } } let(:dependency_files) { bundler_project_dependency_files("git_source_undeclared") } @@ -589,48 +513,6 @@ end end - context "with an unparseable git dep that also appears in the gemspec", :bundler_v1_only do - let(:dependency_files) { bundler_project_dependency_files("git_source_unparseable") } - - it "includes source details on the gemspec requirement" do - expect(dependencies.map(&:name)).to match_array(%w(business)) - expect(dependencies.first.name).to eq("business") - expect(dependencies.first.version) - .to eq("1378a2b0b446d991b7567efbc7eeeed2720e4d8f") - expect(dependencies.first.requirements) - .to contain_exactly({ - file: "example.gemspec", - requirement: "~> 1.0", - groups: ["runtime"], - source: { - type: "git", - url: "git@github.com:dependabot-fixtures/business", - branch: nil, - ref: "master" - } - }) - end - - it "includes source details on the gemspec requirement", :bundler_v2_only do - expect(dependencies.map(&:name)).to match_array(%w(business)) - expect(dependencies.first.name).to eq("business") - expect(dependencies.first.version) - .to eq("1378a2b0b446d991b7567efbc7eeeed2720e4d8f") - expect(dependencies.first.requirements) - .to contain_exactly({ - file: "example.gemspec", - requirement: "~> 1.0", - groups: ["runtime"], - source: { - type: "git", - url: "git@github.com:dependabot-fixtures/business", - branch: nil, - ref: nil - } - }) - end - end - context "with two gemspecs" do let(:dependency_files) { bundler_project_dependency_files("imports_two_gemspecs") } diff --git a/bundler/spec/dependabot/bundler/file_updater_spec.rb b/bundler/spec/dependabot/bundler/file_updater_spec.rb index 391866828f9a..2b364f451a4d 100644 --- a/bundler/spec/dependabot/bundler/file_updater_spec.rb +++ b/bundler/spec/dependabot/bundler/file_updater_spec.rb @@ -378,11 +378,7 @@ expect(file.content).to include("statesman (1.3.1)") end - it "locks the yanked gem to the latest version allowed by the Gemfile", :bundler_v1_only do - expect(file.content).to include("business (1.18.0)") - end - - it "does not touch the yanked gem", :bundler_v2_only do + it "does not touch the yanked gem" do expect(file.content).to include("business (1.4.1)") end end @@ -399,11 +395,7 @@ expect(file.content).to include("statesman (1.2.1)") end - it "preserves the BUNDLED WITH line in the lockfile", :bundler_v1_only do - expect(file.content).to include("BUNDLED WITH\n 1.10.6") - end - - it "preserves the BUNDLED WITH line in the lockfile", :bundler_v2_only do + it "preserves the BUNDLED WITH line in the lockfile" do expect(file.content).to include("BUNDLED WITH\n 2.2.0") end @@ -1513,11 +1505,7 @@ }] end - it "raises an error", :bundler_v1_only do - expect { updated_gemfile }.to raise_error(/Bundler could not find compatible versions for gem "bundler"/) - end - - it "returns the latest version", :bundler_v2_only do + it "returns the latest version" do expect(updated_gemfile.content).to include("\"guard-bundler\", \"~> 2.2.1\"") end end diff --git a/bundler/spec/dependabot/bundler/helper_spec.rb b/bundler/spec/dependabot/bundler/helper_spec.rb index 7f165ebe8557..247ae784f57b 100644 --- a/bundler/spec/dependabot/bundler/helper_spec.rb +++ b/bundler/spec/dependabot/bundler/helper_spec.rb @@ -50,8 +50,8 @@ def described_method(lockfile) expect(described_method(no_lockfile)).to eql("2") end - it "is 1 if there is no bundled with string" do - expect(described_method(lockfile_bundled_with_missing)).to eql("1") + it "is 2 if there is no bundled with string" do + expect(described_method(lockfile_bundled_with_missing)).to eql("2") end it "is 1 if it was bundled with a v1.x version" do diff --git a/bundler/spec/dependabot/bundler/package_manager_spec.rb b/bundler/spec/dependabot/bundler/package_manager_spec.rb index da93cd63a73c..35b69eaba926 100644 --- a/bundler/spec/dependabot/bundler/package_manager_spec.rb +++ b/bundler/spec/dependabot/bundler/package_manager_spec.rb @@ -58,24 +58,17 @@ end describe "#deprecated?" do - before do - allow(Dependabot::Experiments).to receive(:enabled?) - .with(:bundler_v1_unsupported_error) - .and_return(feature_flag_enabled) - end - context "when version is deprecated but not unsupported" do let(:version) { "1" } - let(:feature_flag_enabled) { false } it "returns true" do + allow(package_manager).to receive_messages(deprecated?: true) expect(package_manager.deprecated?).to be true end end context "when version is unsupported" do let(:version) { "0.9" } - let(:feature_flag_enabled) { true } it "returns false, as unsupported takes precedence" do expect(package_manager.deprecated?).to be false @@ -84,59 +77,34 @@ end describe "#unsupported?" do - before do - allow(Dependabot::Experiments).to receive(:enabled?) - .with(:bundler_v1_unsupported_error) - .and_return(feature_flag_enabled) - end - - context "when feature flag is enabled and version is unsupported" do - let(:version) { "0.9" } - let(:feature_flag_enabled) { true } - - it "returns true" do - expect(package_manager.unsupported?).to be true - end - end - - context "when feature flag is enabled and version is supported" do + context "when version is supported" do let(:version) { "2" } - let(:feature_flag_enabled) { true } it "returns false" do expect(package_manager.unsupported?).to be false end end - context "when feature flag is disabled" do + context "when version is not supported" do let(:version) { "0.9" } - let(:feature_flag_enabled) { false } - it "returns false" do - expect(package_manager.unsupported?).to be false + it "returns true" do + expect(package_manager.unsupported?).to be true end end end describe "#raise_if_unsupported!" do - before do - allow(Dependabot::Experiments).to receive(:enabled?) - .with(:bundler_v1_unsupported_error) - .and_return(feature_flag_enabled) - end - - context "when feature flag is enabled and version is unsupported" do + context "when version is unsupported" do let(:version) { "0.9" } - let(:feature_flag_enabled) { true } it "raises a ToolVersionNotSupported error" do expect { package_manager.raise_if_unsupported! }.to raise_error(Dependabot::ToolVersionNotSupported) end end - context "when feature flag is disabled" do - let(:version) { "0.9" } - let(:feature_flag_enabled) { false } + context "when version is supported" do + let(:version) { "2.1" } it "does not raise an error" do expect { package_manager.raise_if_unsupported! }.not_to raise_error diff --git a/bundler/spec/dependabot/bundler/update_checker/latest_version_finder_spec.rb b/bundler/spec/dependabot/bundler/update_checker/latest_version_finder_spec.rb index 89a23ab046d5..e81ad5ea99b7 100644 --- a/bundler/spec/dependabot/bundler/update_checker/latest_version_finder_spec.rb +++ b/bundler/spec/dependabot/bundler/update_checker/latest_version_finder_spec.rb @@ -311,75 +311,6 @@ its([:version]) { is_expected.to eq(Gem::Version.new("1.5.0")) } end - context "when we don't have authentication details", :bundler_v1_only do - let(:error_message) do - <<~ERR - Authentication is required for repo.fury.io. - Please supply credentials for this source. You can do this by running: - bundle config repo.fury.io username:password - ERR - end - - let(:error_class) do - "Bundler::Fetcher::AuthenticationRequiredError" - end - - before do - allow(Dependabot::Bundler::NativeHelpers) - .to receive(:run_bundler_subprocess) - .with({ - bundler_version: bundler_version, - function: "private_registry_versions", - options: anything, - args: anything - }) - .and_raise(subprocess_error) - end - - it "blows up with a useful error" do - error_class = Dependabot::PrivateSourceAuthenticationFailure - expect { finder.latest_version_details } - .to raise_error do |error| - expect(error).to be_a(error_class) - expect(error.source).to eq("repo.fury.io") - end - end - end - - context "when we don't have authentication details", :bundler_v2_only do - let(:error_message) do - <<~ERR - Bad username or password for https://user:secret@repo.fury.io/greysteil/. - Please double-check your credentials and correct them. - ERR - end - - let(:error_class) do - "Bundler::Fetcher::BadAuthenticationError" - end - - before do - allow(Dependabot::Bundler::NativeHelpers) - .to receive(:run_bundler_subprocess) - .with({ - bundler_version: bundler_version, - function: "private_registry_versions", - options: anything, - args: anything - }) - .and_raise(subprocess_error) - end - - it "blows up with a useful error" do - error_class = Dependabot::PrivateSourceAuthenticationFailure - expect { finder.latest_version_details } - .to raise_error do |error| - expect(error).to be_a(error_class) - expect(error.source).to eq("https://repo.fury.io/") - end - end - end - context "when we have bad authentication details" do let(:error_message) do <<~ERR diff --git a/bundler/spec/dependabot/bundler/update_checker/version_resolver_spec.rb b/bundler/spec/dependabot/bundler/update_checker/version_resolver_spec.rb index d8293196eb47..f314da5868f4 100644 --- a/bundler/spec/dependabot/bundler/update_checker/version_resolver_spec.rb +++ b/bundler/spec/dependabot/bundler/update_checker/version_resolver_spec.rb @@ -89,11 +89,7 @@ let(:dependency_files) { bundler_project_dependency_files("blocked_by_subdep") } - it "only upgrades as far as the subdep allows", :bundler_v1_only do - expect(latest_resolvable_version_details[:version]).to eq(Gem::Version.new("1.1.0")) - end - - it "is still able to upgrade to the latest version by upgrading the subdep as well", :bundler_v2_only do + it "is still able to upgrade to the latest version by upgrading the subdep as well" do expect(latest_resolvable_version_details[:version]).to eq(Gem::Version.new("2.0.0")) end end @@ -119,44 +115,7 @@ end end - context "with a Bundler v1 version specified", :bundler_v1_only do - let(:requirement_string) { "~> 1.4.0" } - - let(:dependency_files) { bundler_project_dependency_files("bundler_specified") } - - its([:version]) { is_expected.to eq(Gem::Version.new("1.4.0")) } - - context "when attempting to update Bundler" do - let(:dependency_name) { "bundler" } - let(:dependency_files) { bundler_project_dependency_files("bundler_specified") } - - include_context "when stubbing rubygems versions api" - - its([:version]) { is_expected.to eq(Gem::Version.new("1.16.3")) } - - context "when wrapped in a source block" do - let(:dependency_files) do - bundler_project_dependency_files("bundler_specified_in_source_bundler_specified") - end - - its([:version]) { is_expected.to eq(Gem::Version.new("1.16.3")) } - end - - context "when required by another dependency" do - let(:gemfile_fixture_name) { "bundler_specified_and_required" } - let(:lockfile_fixture_name) do - "bundler_specified_and_required.lock" - end - - it "is nil" do - skip("skipped due to https://github.com/dependabot/dependabot-core/issues/2364") - expect(latest_resolvable_version_details).to be_nil - end - end - end - end - - context "with a Bundler v2 version specified", :bundler_v2_only do + context "with a Bundler v2 version specified" do let(:requirement_string) { "~> 1.4.0" } let(:dependency_files) { bundler_project_dependency_files("bundler_specified") } @@ -175,28 +134,7 @@ end end - context "with a dependency that requires bundler v1", :bundler_v1_only do - let(:dependency_name) { "guard-bundler" } - let(:requirement_string) { "2.2.1" } - - let(:dependency_files) { bundler_project_dependency_files("requires_bundler") } - - its([:version]) { is_expected.to eq(Gem::Version.new("2.2.1")) } - end - - context "when bundled with v1 and requesting a version that requires bundler v2", :bundler_v1_only do - let(:dependency_name) { "guard-bundler" } - let(:requirement_string) { "~> 3.0.0" } - - let(:dependency_files) { bundler_project_dependency_files("requires_bundler") } - - it "raises a DependencyFileNotResolvable error" do - expect { latest_resolvable_version_details } - .to raise_error(Dependabot::DependencyFileNotResolvable) - end - end - - context "with a dependency that requires bundler v2", :bundler_v2_only do + context "with a dependency that requires bundler v2" do let(:dependency_name) { "guard-bundler" } let(:requirement_string) { "3.0.0" } @@ -247,11 +185,7 @@ let(:dependency_files) { bundler_project_dependency_files("version_conflict_with_listed_subdep") } - it "does not allow the upgrade", :bundler_v1_only do - expect(latest_resolvable_version_details[:version]).to eq(Gem::Version.new("3.6.0")) - end - - it "is still able to upgrade", :bundler_v2_only do + it "is still able to upgrade" do expect(latest_resolvable_version_details[:version]).to be > Gem::Version.new("3.6.0") end end @@ -424,11 +358,7 @@ } end - it "is nil", :bundler_v1_only do - expect(resolver.latest_resolvable_version_details).to be_nil - end - - it "still resolves fine if the circular dependency does not cause any conflicts", :bundler_v2_only do + it "still resolves fine if the circular dependency does not cause any conflicts" do expect(resolver.latest_resolvable_version_details[:version].to_s).to eq("0.0.1") end end diff --git a/bundler/spec/dependabot/bundler/update_checker_spec.rb b/bundler/spec/dependabot/bundler/update_checker_spec.rb index 83352a9e32d2..2d6ecd78ee42 100644 --- a/bundler/spec/dependabot/bundler/update_checker_spec.rb +++ b/bundler/spec/dependabot/bundler/update_checker_spec.rb @@ -1339,7 +1339,7 @@ .to_return(status: 401) end - it "raises a helpful error", :bundler_v2_only do + it "raises a helpful error" do expect { checker.latest_resolvable_version } .to raise_error do |error| expect(error).to be_a(Dependabot::GitDependenciesNotReachable) @@ -1383,11 +1383,7 @@ let(:dependency_name) { "guard-bundler" } let(:current_version) { "2.2.1" } - context "when using bundler v1", :bundler_v1_only do - it { is_expected.to eq(Gem::Version.new("2.2.1")) } - end - - context "when using bundler v2", :bundler_v2_only do + context "when using bundler v2" do it { is_expected.to eq(Gem::Version.new("3.0.0")) } end end diff --git a/bundler/spec/fixtures/projects/bundler1/bad_branch/Gemfile b/bundler/spec/fixtures/projects/bundler1/bad_branch/Gemfile deleted file mode 100644 index b6cf85ff122c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bad_branch/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "prius", git: "https://github.com/dependabot-fixtures/prius", branch: "bad" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/bad_branch/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/bad_branch/Gemfile.lock deleted file mode 100644 index 973b58c891bf..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bad_branch/Gemfile.lock +++ /dev/null @@ -1,23 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - branch: bad - specs: - prius (1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/bad_branch_business/Gemfile b/bundler/spec/fixtures/projects/bundler1/bad_branch_business/Gemfile deleted file mode 100644 index 59ef4eb67a94..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bad_branch_business/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", git: "https://github.com/dependabot-fixtures/business", branch: "bad" -gem "statesman", "~> 1.2.0" -gem "prius", "~> 1.0.0" diff --git a/bundler/spec/fixtures/projects/bundler1/bad_branch_business/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/bad_branch_business/Gemfile.lock deleted file mode 100644 index 9b3fecdea723..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bad_branch_business/Gemfile.lock +++ /dev/null @@ -1,23 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/business - revision: d41e445215b5af70c1604715d97dd953e868380e - branch: bad_branch - specs: - business (1.10.0) - -GEM - remote: https://rubygems.org/ - specs: - prius (1.0.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business! - prius (~> 1.0.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.16.0.pre.2 diff --git a/bundler/spec/fixtures/projects/bundler1/bad_ref/Gemfile b/bundler/spec/fixtures/projects/bundler1/bad_ref/Gemfile deleted file mode 100644 index d77611ce2909..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bad_ref/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/bad_ref/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/bad_ref/Gemfile.lock deleted file mode 100644 index 96ad9f03e0de..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bad_ref/Gemfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce1 - specs: - prius (1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/block_source_rubygems/Gemfile b/bundler/spec/fixtures/projects/bundler1/block_source_rubygems/Gemfile deleted file mode 100644 index 316161ee3649..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/block_source_rubygems/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' do - gem 'statesman' - gem 'business' -end diff --git a/bundler/spec/fixtures/projects/bundler1/block_source_rubygems/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/block_source_rubygems/Gemfile.lock deleted file mode 100644 index e8c0ec5ae72c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/block_source_rubygems/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.10.0) - statesman (3.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - business! - statesman! - -BUNDLED WITH - 1.16.0.pre.3 diff --git a/bundler/spec/fixtures/projects/bundler1/blocked_by_subdep/Gemfile b/bundler/spec/fixtures/projects/bundler1/blocked_by_subdep/Gemfile deleted file mode 100644 index 31ab2eb1cff9..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/blocked_by_subdep/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "dummy-pkg-a" -gem "dummy-pkg-b" diff --git a/bundler/spec/fixtures/projects/bundler1/blocked_by_subdep/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/blocked_by_subdep/Gemfile.lock deleted file mode 100644 index 30740272d747..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/blocked_by_subdep/Gemfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - dummy-pkg-a (1.0.1) - dummy-pkg-b (1.0.0) - dummy-pkg-a (< 2.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - dummy-pkg-a (= 1.0.1) - dummy-pkg-b (= 1.0.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/bundler_specified_in_source_bundler_specified/Gemfile b/bundler/spec/fixtures/projects/bundler1/bundler_specified_in_source_bundler_specified/Gemfile deleted file mode 100644 index d9fd43ddf899..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bundler_specified_in_source_bundler_specified/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" do - gem "bundler", "~> 1.15.0" - - gem "business", "~> 1.4.0" - gem "statesman", "~> 1.2.0" -end diff --git a/bundler/spec/fixtures/projects/bundler1/bundler_specified_in_source_bundler_specified/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/bundler_specified_in_source_bundler_specified/Gemfile.lock deleted file mode 100644 index 7e5129246ac4..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/bundler_specified_in_source_bundler_specified/Gemfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - bundler (~> 1.15.0) - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.4 diff --git a/bundler/spec/fixtures/projects/bundler1/cant_unlock_subdep/Gemfile b/bundler/spec/fixtures/projects/bundler1/cant_unlock_subdep/Gemfile deleted file mode 100644 index 3fcd714d947b..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/cant_unlock_subdep/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "ibandit", "~> 0.6.0" -gem "i18n", git: "https://github.com/dependabot-fixtures/i18n" diff --git a/bundler/spec/fixtures/projects/bundler1/cant_unlock_subdep/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/cant_unlock_subdep/Gemfile.lock deleted file mode 100644 index 85a8667a8ff2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/cant_unlock_subdep/Gemfile.lock +++ /dev/null @@ -1,21 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/i18n - revision: d049c7115f59689efb123d61430c078c6feb7537 - specs: - i18n (0.7.0) - -GEM - remote: https://rubygems.org/ - specs: - ibandit (0.6.6) - i18n (~> 0.7.0) - -PLATFORMS - ruby - -DEPENDENCIES - i18n! - ibandit (~> 0.6.0) - -BUNDLED WITH - 1.16.3 diff --git a/bundler/spec/fixtures/projects/bundler1/comment_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/comment_gemfile/Gemfile deleted file mode 100644 index fb635a712c1b..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/comment_gemfile/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "prius", "1.0.0", git: "git_url" # My gem diff --git a/bundler/spec/fixtures/projects/bundler1/comment_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/comment_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/comment_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/comments_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/comments_no_lockfile/Gemfile deleted file mode 100644 index 41c480ffbead..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/comments_no_lockfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" # Business time -gem "statesman", "~> 1.2.0" # State machine diff --git a/bundler/spec/fixtures/projects/bundler1/conditional/Gemfile b/bundler/spec/fixtures/projects/bundler1/conditional/Gemfile deleted file mode 100644 index b672cd73c873..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/conditional/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" - -if ENV["STATESMAN_NEXT"] == "1" - gem "statesman", "~> 7.2.0" -else - gem "statesman", "~> 1.2.0" # rubocop:disable Bundler/DuplicatedGem -end diff --git a/bundler/spec/fixtures/projects/bundler1/conditional/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/conditional/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/conditional/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/business-1.4.0.gem b/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/business-1.4.0.gem deleted file mode 100644 index 2878bcd0ae6c..000000000000 Binary files a/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/business-1.4.0.gem and /dev/null differ diff --git a/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/statesman-1.2.1.gem b/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/statesman-1.2.1.gem deleted file mode 100644 index f9b34cd6dc2f..000000000000 Binary files a/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/statesman-1.2.1.gem and /dev/null differ diff --git a/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/statesman-7.2.0.gem b/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/statesman-7.2.0.gem deleted file mode 100644 index 94abbab8bbb9..000000000000 Binary files a/bundler/spec/fixtures/projects/bundler1/conditional/vendor/cache/statesman-7.2.0.gem and /dev/null differ diff --git a/bundler/spec/fixtures/projects/bundler1/custom_tag_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/custom_tag_gemfile/Gemfile deleted file mode 100644 index 44c200339538..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/custom_tag_gemfile/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "prius", "1.0.0", github: "git_url" diff --git a/bundler/spec/fixtures/projects/bundler1/custom_tag_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/custom_tag_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/custom_tag_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/default_gem_specified/Gemfile b/bundler/spec/fixtures/projects/bundler1/default_gem_specified/Gemfile deleted file mode 100644 index bdb3dbdcbc23..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/default_gem_specified/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "openssl", "~> 2.1.2" - -gem "business", "~> 1.4" -gem "statesman", "~> 1.2" diff --git a/bundler/spec/fixtures/projects/bundler1/default_gem_specified/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/default_gem_specified/Gemfile.lock deleted file mode 100644 index ef218622d90e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/default_gem_specified/Gemfile.lock +++ /dev/null @@ -1,17 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.18.0) - openssl (2.1.2) - statesman (1.3.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4) - openssl (~> 2.1.2) - statesman (~> 1.2) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/development_dependencies/Gemfile b/bundler/spec/fixtures/projects/bundler1/development_dependencies/Gemfile deleted file mode 100644 index f04c68bc2bf3..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/development_dependencies/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" - -group :development, :test do - gem "business", "~> 1.4.0" -end diff --git a/bundler/spec/fixtures/projects/bundler1/development_dependencies/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/development_dependencies/Gemfile.lock deleted file mode 100644 index 2fcfa9f3321e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/development_dependencies/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/Gemfile deleted file mode 100644 index e08aed36a110..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -eval_gemfile File.expand_path('backend/Gemfile', File.dirname(__FILE__)) - -gem "business", "~> 1.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/backend/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/backend/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_absolute/backend/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/Gemfile deleted file mode 100644 index 5febdf9583f8..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -eval_gemfile('backend/Gemfile') - -gem "business", "~> 1.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/backend/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/backend/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_gemfile/backend/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/Gemfile deleted file mode 100644 index 5febdf9583f8..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -eval_gemfile('backend/Gemfile') - -gem "business", "~> 1.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/backend/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/backend/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_nested/nested/backend/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/Gemfile deleted file mode 100644 index 25064841bbd0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -local_gemfile = File.dirname(__FILE__), 'backend/Gemfile' -eval_gemfile File.join(local_gemfile) - -gem "business", "~> 1.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/backend/Gemfile b/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/backend/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/eval_gemfile_variable/backend/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/exec_error_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/exec_error_gemfile/Gemfile deleted file mode 100644 index d438c188756a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/exec_error_gemfile/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -exec "curl https://example.com" - -source "https://rubygems.org" - -gem "business", "~> 1.0.0" -gem "uk_phone_numbers", "~> 0.1.0" diff --git a/bundler/spec/fixtures/projects/bundler1/exec_error_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/exec_error_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/exec_error_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/exec_error_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/exec_error_no_lockfile/Gemfile deleted file mode 100644 index d438c188756a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/exec_error_no_lockfile/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -exec "curl https://example.com" - -source "https://rubygems.org" - -gem "business", "~> 1.0.0" -gem "uk_phone_numbers", "~> 0.1.0" diff --git a/bundler/spec/fixtures/projects/bundler1/explicit_ruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/explicit_ruby/Gemfile deleted file mode 100644 index 19cbfcc4b7f3..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/explicit_ruby/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -ruby "2.2.0" -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/explicit_ruby/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/explicit_ruby/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/explicit_ruby/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_in_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/explicit_ruby_in_lockfile/Gemfile deleted file mode 100644 index 19cbfcc4b7f3..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_in_lockfile/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -ruby "2.2.0" -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_in_lockfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/explicit_ruby_in_lockfile/Gemfile.lock deleted file mode 100644 index 7be0c623b865..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_in_lockfile/Gemfile.lock +++ /dev/null @@ -1,18 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -RUBY VERSION - ruby 2.2.0p0 - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_old/Gemfile b/bundler/spec/fixtures/projects/bundler1/explicit_ruby_old/Gemfile deleted file mode 100644 index 2b0ebe4feb73..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_old/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -ruby "1.9.3" -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_old/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/explicit_ruby_old/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/explicit_ruby_old/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/function_version_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/function_version_gemfile/Gemfile deleted file mode 100644 index 43ddcac6fcfc..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/function_version_gemfile/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -version = ENV['BUSINESS_VERSION'] || '1.0.0' - -gem "business", version diff --git a/bundler/spec/fixtures/projects/bundler1/function_version_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/function_version_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/function_version_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gem_with_number/Gemfile b/bundler/spec/fixtures/projects/bundler1/gem_with_number/Gemfile deleted file mode 100644 index 80d3f33fcc6b..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gem_with_number/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gem "i18n", "~> 0.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gem_with_number/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gem_with_number/Gemfile.lock deleted file mode 100644 index fd18e69295c0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gem_with_number/Gemfile.lock +++ /dev/null @@ -1,13 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - i18n (0.4.2) - -PLATFORMS - ruby - -DEPENDENCIES - i18n (~> 0.4.0) - -BUNDLED WITH - 1.15.0 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_exact/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_exact/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_exact/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_exact/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_exact/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_exact/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_exact/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_exact/example.gemspec deleted file mode 100644 index 79ab4231bea9..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_exact/example.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '1.0.0' - spec.add_dependency 'statesman', '= 1.0.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_example/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_example/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_example/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_example/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_example/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_example/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_example/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_example/example.gemspec deleted file mode 100644 index bcc3ef45101c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_example/example.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", ["~> 0.55"] - spec.add_dependency("gemnasium-parser", "~> 0.1") - spec.add_dependency 'gems', '~> 1.0' - spec.add_dependency "octokit", "~> 4.6" - spec.add_dependency "gitlab", "~> 4.1" - - spec.add_development_dependency "webmock", "~> 2.3.1" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "rake" -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/example.gemspec deleted file mode 100644 index 142de29de153..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_function_name/example.gemspec +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -function_name = "unlucky" - -Gem::Specification.new do |spec| - spec.name = function_name - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/example.gemspec deleted file mode 100644 index da77199c39d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_gemspec_with_require/example.gemspec +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'example/version' - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = Example::VERSION - spec.summary = "Automated dependency management #{Example::VERSION}" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - Find.find("lib", "helpers") do |path| - if ignores.any? { |i| File.fnmatch(i, "/" + path, File::FNM_DOTMATCH) } - Find.prune - else - spec.files << path unless File.directory?(path) - end - end - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", "~> 0.55" - spec.add_dependency "gemnasium-parser", "~> 0.1" - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "octokit", "~> 4.6" - spec.add_dependency "gitlab", "~> 4.1" - - spec.add_development_dependency "webmock", "~> 2.3.1" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "rake" -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/example.gemspec deleted file mode 100644 index 00d9cbc8425d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_impossible_ruby/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 15.9.3" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_git_requirements/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_git_requirements/Gemfile deleted file mode 100644 index de75a07e91e1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_git_requirements/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "business", ">= 1", "< 3", require: true diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_git_requirements/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_git_requirements/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_git_requirements/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements/Gemfile deleted file mode 100644 index de75a07e91e1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "business", ">= 1", "< 3", require: true diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_array/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_array/Gemfile deleted file mode 100644 index 65e6a4ac20e5..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_array/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "business", [">= 1", "<3"], require: true diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_array/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_array/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_array/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/example.gemspec deleted file mode 100644 index 6b7414313e35..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_multiple_requirements_parenthesis/example.gemspec +++ /dev/null @@ -1 +0,0 @@ -spec.add_dependency("business", ">= 1", "< 3") diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/example.gemspec deleted file mode 100644 index 3288570e1cfb..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_no_required_ruby/example.gemspec +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/example.gemspec deleted file mode 100644 index a1543e7694d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_old_required_ruby/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 1.9.3" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/example.gemspec deleted file mode 100644 index 07f1eb623794..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3/example.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 3.0.1" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/example.gemspec deleted file mode 100644 index 76e2d25bc8df..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_1/example.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 3.1.1" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/example.gemspec deleted file mode 100644 index 19b5053b1d49..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_2/example.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 3.2.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/example.gemspec deleted file mode 100644 index 76e0ab9ba747..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/example.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 3.3.3" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_small_example/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/example.gemspec deleted file mode 100644 index 56f7e3e95012..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_unevaluatable_ruby/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = Some::Constant - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/example.gemspec deleted file mode 100644 index 186c9ecee3ec..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_with_nested_block/example.gemspec +++ /dev/null @@ -1,7 +0,0 @@ -# -*- encoding: utf-8 -*- - -Gem::Specification.new do |s| - s.files = `git ls-files`.split($/) - dev_files = %w(.gitignore bin/setup.sh bin/test.sh) - dev_files.each {|f| s.files.delete f } -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/example.gemspec deleted file mode 100644 index da77199c39d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemfile_with_require/example.gemspec +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'example/version' - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = Example::VERSION - spec.summary = "Automated dependency management #{Example::VERSION}" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - Find.find("lib", "helpers") do |path| - if ignores.any? { |i| File.fnmatch(i, "/" + path, File::FNM_DOTMATCH) } - Find.prune - else - spec.files << path unless File.directory?(path) - end - end - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", "~> 0.55" - spec.add_dependency "gemnasium-parser", "~> 0.1" - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "octokit", "~> 4.6" - spec.add_dependency "gitlab", "~> 4.1" - - spec.add_development_dependency "webmock", "~> 2.3.1" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "rake" -end diff --git a/bundler/spec/fixtures/projects/bundler1/gems_rb/gems.locked b/bundler/spec/fixtures/projects/bundler1/gems_rb/gems.locked deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gems_rb/gems.locked +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gems_rb/gems.rb b/bundler/spec/fixtures/projects/bundler1/gems_rb/gems.rb deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gems_rb/gems.rb +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_loads_another/another.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_loads_another/another.gemspec deleted file mode 100644 index 997bd60a94c6..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_loads_another/another.gemspec +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' - spec.add_dependency 'statesman', '= 1.0.0' - spec.add_development_dependency 'rake' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_loads_another/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_loads_another/example.gemspec deleted file mode 100644 index bec8987c9774..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_loads_another/example.gemspec +++ /dev/null @@ -1,30 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - another_gemspec = Bundler.load_gemspec_uncached("another.gemspec") - - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", "~> 0.55" - spec.add_development_dependency "webmock", "~> 2.3.1" - - another_gemspec.development_dependencies.each do |dep| - spec.add_development_dependency dep.name, *dep.requirement.as_list - end -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/Gemfile deleted file mode 100644 index de75a07e91e1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "business", ">= 1", "< 3", require: true diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/example.gemspec deleted file mode 100644 index 48ad347d63af..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements/example.gemspec +++ /dev/null @@ -1 +0,0 @@ -spec.add_dependency "business", ">= 1", "< 3" diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements_array/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements_array/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements_array/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements_array/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements_array/example.gemspec deleted file mode 100644 index 360854054f26..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_multiple_requirements_array/example.gemspec +++ /dev/null @@ -1 +0,0 @@ -spec.add_dependency "business", [">= 1", "<3"] diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_no_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemspec_no_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_no_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_no_gemfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_no_gemfile/example.gemspec deleted file mode 100644 index bcc3ef45101c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_no_gemfile/example.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", ["~> 0.55"] - spec.add_dependency("gemnasium-parser", "~> 0.1") - spec.add_dependency 'gems', '~> 1.0' - spec.add_dependency "octokit", "~> 4.6" - spec.add_dependency "gitlab", "~> 4.1" - - spec.add_development_dependency "webmock", "~> 2.3.1" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "rake" -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_no_lockfile/example.gemspec deleted file mode 100644 index bcc3ef45101c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_no_lockfile/example.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", ["~> 0.55"] - spec.add_dependency("gemnasium-parser", "~> 0.1") - spec.add_dependency 'gems', '~> 1.0' - spec.add_dependency "octokit", "~> 4.6" - spec.add_dependency "gitlab", "~> 4.1" - - spec.add_development_dependency "webmock", "~> 2.3.1" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "rake" -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/example.gemspec deleted file mode 100644 index da77199c39d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported/example.gemspec +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'example/version' - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = Example::VERSION - spec.summary = "Automated dependency management #{Example::VERSION}" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - Find.find("lib", "helpers") do |path| - if ignores.any? { |i| File.fnmatch(i, "/" + path, File::FNM_DOTMATCH) } - Find.prune - else - spec.files << path unless File.directory?(path) - end - end - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", "~> 0.55" - spec.add_dependency "gemnasium-parser", "~> 0.1" - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "octokit", "~> 4.6" - spec.add_dependency "gitlab", "~> 4.1" - - spec.add_development_dependency "webmock", "~> 2.3.1" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "rake" -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported_no_lockfile/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported_no_lockfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported_no_lockfile/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_not_imported_no_lockfile/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range/example.gemspec deleted file mode 100644 index 90e236e18cba..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.2, < 4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range_array/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range_array/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range_array/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range_array/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range_array/example.gemspec deleted file mode 100644 index 57312f3847ec..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_range_array/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = [">= 2.2", "< 4.0"] - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_requirement_class/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_requirement_class/Gemfile deleted file mode 100644 index be0f45dc3acd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_requirement_class/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_requirement_class/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_requirement_class/example.gemspec deleted file mode 100644 index a07f63f03458..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_required_ruby_version_requirement_class/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = Gem::Requirement.new(">= 2.1.8", "< 4.0.0") - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_small_example_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_small_example_no_lockfile/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_small_example_no_lockfile/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/gemspec_with_require_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemspec_with_require_no_lockfile/example.gemspec deleted file mode 100644 index 705e935a3ac7..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gemspec_with_require_no_lockfile/example.gemspec +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true - -require "find" - -lib = File.expand_path("lib", __dir__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "example/version" - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = Example::VERSION - spec.summary = "Automated dependency management #{Example::VERSION}" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - Find.find("lib", "helpers") do |path| - if ignores.any? { |i| File.fnmatch(i, "/" + path, File::FNM_DOTMATCH) } - Find.prune - else - spec.files << path unless File.directory?(path) - end - end - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", "~> 0.55" - spec.add_dependency "gemnasium-parser", "~> 0.1" - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "gitlab", "~> 4.1" - spec.add_dependency "octokit", "~> 4.6" - - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "webmock", "~> 2.3.1" -end diff --git a/bundler/spec/fixtures/projects/bundler1/git_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source/Gemfile deleted file mode 100644 index 4bfadcc3318f..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.6.0", - git: "git@github.com:dependabot-fixtures/business", - ref: "a1b78a9" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" -gem "que", git: "git@github.com:dependabot-fixtures/que", tag: "v0.11.6" -gem "statesman", "~> 1.2.0" -gem "uk_phone_numbers", git: "https://github.com/dependabot-fixtures/uk_phone_numbers" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source/Gemfile.lock deleted file mode 100644 index 571fd40d0488..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source/Gemfile.lock +++ /dev/null @@ -1,43 +0,0 @@ -GIT - remote: git@github.com:dependabot-fixtures/business - revision: a1b78a929dac93a52f08db4f2847d76d6cfe39bd - ref: a1b78a9 - specs: - business (1.6.0) - -GIT - remote: git@github.com:dependabot-fixtures/que - revision: 997d1a6ee76a1f254fd72ce16acbc8d347fcaee3 - tag: v0.11.6 - specs: - que (0.11.6) - -GIT - remote: https://github.com/dependabot-fixtures/uk_phone_numbers - revision: 1530024bd6a68d36ac18e04836ce110e0d433c36 - specs: - uk_phone_numbers (0.1.1) - -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.6.0)! - prius! - que! - statesman (~> 1.2.0) - uk_phone_numbers! - -BUNDLED WITH - 1.16.0.pre.2 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_circular/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_circular/Gemfile deleted file mode 100644 index 0aa8c132febb..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_circular/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "rubygems-circular-dependency", git: "https://github.com/dependabot-fixtures/rubygems-circular-dependency" -gem "business" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_circular/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_circular/Gemfile.lock deleted file mode 100644 index 1e55627e3a42..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_circular/Gemfile.lock +++ /dev/null @@ -1,20 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/rubygems-circular-dependency - revision: 3c85f0bd8d6977b4dfda6a12acf93a282c4f5bf1 - specs: - rubygems-circular-dependency (0.0.1) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - -PLATFORMS - ruby - -DEPENDENCIES - business - rubygems-circular-dependency! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_gemfile/Gemfile deleted file mode 100644 index 4bfadcc3318f..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_gemfile/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.6.0", - git: "git@github.com:dependabot-fixtures/business", - ref: "a1b78a9" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" -gem "que", git: "git@github.com:dependabot-fixtures/que", tag: "v0.11.6" -gem "statesman", "~> 1.2.0" -gem "uk_phone_numbers", git: "https://github.com/dependabot-fixtures/uk_phone_numbers" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_internal/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_internal/Gemfile deleted file mode 100644 index 754a6acd9f89..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_internal/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "parallel", git: "git@github.com:dependabot-fixtures/parallel", ref: "v1.12.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_internal/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_internal/Gemfile.lock deleted file mode 100644 index 9867e9c869c3..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_internal/Gemfile.lock +++ /dev/null @@ -1,21 +0,0 @@ -GIT - remote: git@github.com:dependabot-fixtures/parallel - revision: 5fa4406bcf0b3109f645550ca799fc7570501870 - ref: v1.12.0 - specs: - parallel (1.12.0) - -GEM - remote: https://rubygems.org/ - specs: - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - parallel! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_mismatched/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_mismatched/Gemfile deleted file mode 100644 index 874b8d1c7d2c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_mismatched/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", "~> 1.6.0" -gem "statesman", "~> 1.2.0" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" -gem "que", git: "git@github.com:dependabot-fixtures/que", tag: "v0.11.6" -gem "uk_phone_numbers", git: "https://github.com/dependabot-fixtures/uk_phone_numbers" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_mismatched/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_mismatched/Gemfile.lock deleted file mode 100644 index 571fd40d0488..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_mismatched/Gemfile.lock +++ /dev/null @@ -1,43 +0,0 @@ -GIT - remote: git@github.com:dependabot-fixtures/business - revision: a1b78a929dac93a52f08db4f2847d76d6cfe39bd - ref: a1b78a9 - specs: - business (1.6.0) - -GIT - remote: git@github.com:dependabot-fixtures/que - revision: 997d1a6ee76a1f254fd72ce16acbc8d347fcaee3 - tag: v0.11.6 - specs: - que (0.11.6) - -GIT - remote: https://github.com/dependabot-fixtures/uk_phone_numbers - revision: 1530024bd6a68d36ac18e04836ce110e0d433c36 - specs: - uk_phone_numbers (0.1.1) - -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.6.0)! - prius! - que! - statesman (~> 1.2.0) - uk_phone_numbers! - -BUNDLED WITH - 1.16.0.pre.2 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_no_ref/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_no_ref/Gemfile deleted file mode 100644 index 54834ed2d503..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_no_ref/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", "~> 1.6.0", git: "git@github.com:dependabot-fixtures/business" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_no_ref/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_no_ref/Gemfile.lock deleted file mode 100644 index 948f0399faa1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_no_ref/Gemfile.lock +++ /dev/null @@ -1,18 +0,0 @@ -GIT - remote: git@github.com:dependabot-fixtures/business - revision: a1b78a929dac93a52f08db4f2847d76d6cfe39bd - specs: - business (1.6.0) - -GEM - remote: https://rubygems.org/ - specs: - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.6.0)! - -BUNDLED WITH - 1.16.0.pre.2 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_outdated/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_outdated/Gemfile deleted file mode 100644 index 270582c73c90..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_outdated/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", "~> 1.6.0", - git: "git@github.com:dependabot-fixtures/business", - ref: "a1b78a9" -gem "statesman", "~> 1.2.0" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" -gem "que", git: "git@github.com:dependabot-fixtures/que", tag: "v0.11.6" -gem "uk_phone_numbers", git: "https://github.com/dependabot-fixtures/uk_phone_numbers" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_outdated/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_outdated/Gemfile.lock deleted file mode 100644 index ba0bb68051f1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_outdated/Gemfile.lock +++ /dev/null @@ -1,43 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/uk_phone_numbers - revision: 1530024bd6a68d36ac18e04836ce110e0d433c36 - specs: - uk_phone_numbers (0.1.1) - -GIT - remote: git@github.com:dependabot-fixtures/business - revision: a1b78a929dac93a52f08db4f2847d76d6cfe39bd - ref: a1b78a9 - specs: - business (1.6.0) - -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -GIT - remote: git@github.com:dependabot-fixtures/que - revision: 997d1a6ee76a1f254fd72ce16acbc8d347fcaee3 - tag: v0.11.6 - specs: - que (0.11.6) - -GEM - remote: https://rubygems.org/ - specs: - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.6.0)! - prius! - que! - statesman (~> 1.2.0) - uk_phone_numbers! - -BUNDLED WITH - 1.16.0.pre.2 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_reordered/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_reordered/Gemfile deleted file mode 100644 index 270582c73c90..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_reordered/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", "~> 1.6.0", - git: "git@github.com:dependabot-fixtures/business", - ref: "a1b78a9" -gem "statesman", "~> 1.2.0" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" -gem "que", git: "git@github.com:dependabot-fixtures/que", tag: "v0.11.6" -gem "uk_phone_numbers", git: "https://github.com/dependabot-fixtures/uk_phone_numbers" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_reordered/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_reordered/Gemfile.lock deleted file mode 100644 index ba0bb68051f1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_reordered/Gemfile.lock +++ /dev/null @@ -1,43 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/uk_phone_numbers - revision: 1530024bd6a68d36ac18e04836ce110e0d433c36 - specs: - uk_phone_numbers (0.1.1) - -GIT - remote: git@github.com:dependabot-fixtures/business - revision: a1b78a929dac93a52f08db4f2847d76d6cfe39bd - ref: a1b78a9 - specs: - business (1.6.0) - -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -GIT - remote: git@github.com:dependabot-fixtures/que - revision: 997d1a6ee76a1f254fd72ce16acbc8d347fcaee3 - tag: v0.11.6 - specs: - que (0.11.6) - -GEM - remote: https://rubygems.org/ - specs: - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.6.0)! - prius! - que! - statesman (~> 1.2.0) - uk_phone_numbers! - -BUNDLED WITH - 1.16.0.pre.2 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_undeclared/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_undeclared/Gemfile deleted file mode 100644 index f9dab1ae5b0a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_undeclared/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source "https://rubygems.org" - -git "https://github.com/dependabot-fixtures/kaminari" do - gem "kaminari-core" -end - -gem 'kaminari-actionview' diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_undeclared/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_undeclared/Gemfile.lock deleted file mode 100644 index c3c912e8f937..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_undeclared/Gemfile.lock +++ /dev/null @@ -1,54 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/kaminari - revision: 62ec743dcee69e02186e5f1a309b08e59d83f647 - specs: - kaminari-actionview (1.1.1) - actionview - kaminari-core (= 1.1.1) - kaminari-core (1.1.1) - -GEM - remote: https://rubygems.org/ - specs: - actionview (5.1.6) - activesupport (= 5.1.6) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activesupport (5.1.6) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - builder (3.2.3) - concurrent-ruby (1.0.5) - crass (1.0.3) - erubi (1.7.1) - i18n (1.0.0) - concurrent-ruby (~> 1.0) - loofah (2.2.2) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mini_portile2 (2.3.0) - minitest (5.11.3) - nokogiri (1.8.2) - mini_portile2 (~> 2.3.0) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.0.4) - loofah (~> 2.2, >= 2.2.2) - thread_safe (0.3.6) - tzinfo (1.2.5) - thread_safe (~> 0.1) - -PLATFORMS - ruby - -DEPENDENCIES - kaminari-actionview - kaminari-core! - -BUNDLED WITH - 1.16.1 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/Gemfile deleted file mode 100644 index fcae7c722cf0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -def git_gem(name, **options) - gem name, git: "git@github.com:dependabot-fixtures/business" -end - -git_gem 'business' - -gemspec diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/Gemfile.lock deleted file mode 100644 index b5a8cfa05c35..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/Gemfile.lock +++ /dev/null @@ -1,25 +0,0 @@ -GIT - remote: git@github.com:dependabot-fixtures/business - revision: 1378a2b0b446d991b7567efbc7eeeed2720e4d8f - specs: - business (1.16.0) - -PATH - remote: . - specs: - example (0.9.3) - business (~> 1.0) - -GEM - remote: https://rubygems.org/ - specs: - -PLATFORMS - ruby - -DEPENDENCIES - business! - example! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/example.gemspec b/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_unparseable/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_unreleased/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_unreleased/Gemfile deleted file mode 100644 index fbdc6ef59cf1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_unreleased/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "dummy-git-dependency", - git: "git@github.com:dependabot-fixtures/ruby-dummy-git-dependency", - ref: "v1.0.0" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_unreleased/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_unreleased/Gemfile.lock deleted file mode 100644 index 80f8bc6ad1fe..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_unreleased/Gemfile.lock +++ /dev/null @@ -1,19 +0,0 @@ -GIT - remote: git@github.com:dependabot-fixtures/ruby-dummy-git-dependency - revision: 20151f9b67c8a04461fa0ee28385b6187b86587b - ref: v1.0.0 - specs: - dummy-git-dependency (1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - -PLATFORMS - ruby - -DEPENDENCIES - dummy-git-dependency! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_conflict/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_with_conflict/Gemfile deleted file mode 100644 index 899ac4d6a521..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_conflict/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "rest-client", "~> 1.8" -gem "onfido", git: "https://github.com/dependabot-fixtures/onfido" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_conflict/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_with_conflict/Gemfile.lock deleted file mode 100644 index af51d8778781..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_conflict/Gemfile.lock +++ /dev/null @@ -1,34 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/onfido - revision: 7b36eac82a7e42049052a58af0a7943fe0363714 - ref: v0.4.0 - specs: - onfido (0.4.0) - rest-client (~> 1.8.0) - -GEM - remote: https://rubygems.org/ - specs: - domain_name (0.5.20170404) - unf (>= 0.0.5, < 1.0.0) - http-cookie (1.0.3) - domain_name (~> 0.5) - mime-types (2.99.3) - netrc (0.11.0) - rest-client (1.8.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 3.0) - netrc (~> 0.7) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.4) - -PLATFORMS - ruby - -DEPENDENCIES - onfido! - rest-client (~> 1.8) - -BUNDLED WITH - 1.16.0.pre.3 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_multiple_deps/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_with_multiple_deps/Gemfile deleted file mode 100644 index 9ff8d43fd464..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_multiple_deps/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "elasticsearch-dsl", - github: "dependabot-fixtures/elasticsearch-ruby", - branch: "5.x", - require: "elasticsearch/dsl" -gem "elasticsearch-model", github: "dependabot-fixtures/elasticsearch-rails", branch: "5.x" -gem "elasticsearch-rails", github: "dependabot-fixtures/elasticsearch-rails", branch: "5.x" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_multiple_deps/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_with_multiple_deps/Gemfile.lock deleted file mode 100644 index bb068bb47756..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_multiple_deps/Gemfile.lock +++ /dev/null @@ -1,57 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/elasticsearch-rails.git - revision: 212b37a1e927015f2a095e0f841c897d377ad1c7 - branch: 5.x - specs: - elasticsearch-model (5.1.0) - activesupport (> 3) - elasticsearch (~> 5) - hashie - elasticsearch-rails (5.1.0) - -GIT - remote: https://github.com/dependabot-fixtures/elasticsearch-ruby.git - revision: 43f48b229a975b77c5339644d512c88389fefafa - branch: 5.x - specs: - elasticsearch (5.0.4) - elasticsearch-api (= 5.0.4) - elasticsearch-transport (= 5.0.4) - elasticsearch-api (5.0.4) - multi_json - elasticsearch-dsl (0.1.4) - elasticsearch-transport (5.0.4) - faraday - multi_json - -GEM - remote: https://rubygems.org/ - specs: - activesupport (5.2.0) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - concurrent-ruby (1.0.5) - faraday (0.15.2) - multipart-post (>= 1.2, < 3) - hashie (3.5.7) - i18n (1.0.1) - concurrent-ruby (~> 1.0) - minitest (5.11.3) - multi_json (1.13.1) - multipart-post (2.0.0) - thread_safe (0.3.6) - tzinfo (1.2.5) - thread_safe (~> 0.1) - -PLATFORMS - ruby - -DEPENDENCIES - elasticsearch-dsl! - elasticsearch-model! - elasticsearch-rails! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_tag_conflict/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_with_tag_conflict/Gemfile deleted file mode 100644 index 64283612f00a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_tag_conflict/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "rest-client", "~> 1.8" -gem "onfido", git: "https://github.com/dependabot-fixtures/onfido", ref: "v0.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_tag_conflict/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_with_tag_conflict/Gemfile.lock deleted file mode 100644 index af51d8778781..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_tag_conflict/Gemfile.lock +++ /dev/null @@ -1,34 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/onfido - revision: 7b36eac82a7e42049052a58af0a7943fe0363714 - ref: v0.4.0 - specs: - onfido (0.4.0) - rest-client (~> 1.8.0) - -GEM - remote: https://rubygems.org/ - specs: - domain_name (0.5.20170404) - unf (>= 0.0.5, < 1.0.0) - http-cookie (1.0.3) - domain_name (~> 0.5) - mime-types (2.99.3) - netrc (0.11.0) - rest-client (1.8.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 3.0) - netrc (~> 0.7) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.4) - -PLATFORMS - ruby - -DEPENDENCIES - onfido! - rest-client (~> 1.8) - -BUNDLED WITH - 1.16.0.pre.3 diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_version_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_source_with_version_gemfile/Gemfile deleted file mode 100644 index 7c42cfb2bd36..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_version_gemfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "dependabot-test-ruby-package", "~> 1.0.0", git: "https://github.com/dependabot-fixtures/dependabot-test-ruby-package" diff --git a/bundler/spec/fixtures/projects/bundler1/git_source_with_version_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_source_with_version_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_source_with_version_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/git_tags_on_newline_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/git_tags_on_newline_gemfile/Gemfile deleted file mode 100644 index c876180cc408..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_tags_on_newline_gemfile/Gemfile +++ /dev/null @@ -1,2 +0,0 @@ -gem "prius", "1.0.0", require: false, -git: "git_url" diff --git a/bundler/spec/fixtures/projects/bundler1/git_tags_on_newline_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/git_tags_on_newline_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/git_tags_on_newline_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/github_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/github_source/Gemfile deleted file mode 100644 index d296c477b65a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/github_source/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", github: "dependabot-fixtures/business" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/github_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/github_source/Gemfile.lock deleted file mode 100644 index 4fff9268c734..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/github_source/Gemfile.lock +++ /dev/null @@ -1,20 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/business.git - revision: d31e445215b5af70c1604715d97dd953e868380e - specs: - business (1.10.0) - -GEM - remote: https://rubygems.org/ - specs: - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.16.0.pre.3 diff --git a/bundler/spec/fixtures/projects/bundler1/gte_matcher/Gemfile b/bundler/spec/fixtures/projects/bundler1/gte_matcher/Gemfile deleted file mode 100644 index f44683ee945a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gte_matcher/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", ">= 1.4.0" -gem "statesman", ">= 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gte_matcher/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gte_matcher/Gemfile.lock deleted file mode 100644 index 8c9d0f36a150..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/gte_matcher/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (>= 1.4.0) - statesman (>= 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/guard_bundler/Gemfile b/bundler/spec/fixtures/projects/bundler1/guard_bundler/Gemfile deleted file mode 100644 index 686cbd2c37d8..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/guard_bundler/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "guard-bundler", "~> 2.2.1" diff --git a/bundler/spec/fixtures/projects/bundler1/guard_bundler/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/guard_bundler/Gemfile.lock deleted file mode 100644 index 694632ca4299..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/guard_bundler/Gemfile.lock +++ /dev/null @@ -1,46 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - coderay (1.1.3) - ffi (1.14.2) - formatador (0.2.5) - guard (2.16.2) - formatador (>= 0.2.4) - listen (>= 2.7, < 4.0) - lumberjack (>= 1.0.12, < 2.0) - nenv (~> 0.1) - notiffany (~> 0.0) - pry (>= 0.9.12) - shellany (~> 0.0) - thor (>= 0.18.1) - guard-bundler (2.2.1) - bundler (>= 1.3.0, < 3) - guard (~> 2.2) - guard-compat (~> 1.1) - guard-compat (1.2.1) - listen (3.4.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - lumberjack (1.2.8) - method_source (1.0.0) - nenv (0.3.0) - notiffany (0.1.3) - nenv (~> 0.1) - shellany (~> 0.0) - pry (0.14.0) - coderay (~> 1.1) - method_source (~> 1.0) - rb-fsevent (0.10.4) - rb-inotify (0.10.1) - ffi (~> 1.0) - shellany (0.0.1) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - guard-bundler (= 2.2.1) - -BUNDLED WITH - 1.7.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec/Gemfile.lock deleted file mode 100644 index f58baefbb9f4..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec/Gemfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -PATH - remote: . - specs: - example (0.9.3) - business (~> 1.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/Gemfile deleted file mode 100644 index c735e46b5d7b..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec path: 'subdir' - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/Gemfile.lock deleted file mode 100644 index 17163f014218..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/Gemfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -PATH - remote: subdir - specs: - example (0.9.3) - business (~> 1.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/subdir/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/subdir/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_nested_path/nested/subdir/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/Gemfile deleted file mode 100644 index c735e46b5d7b..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec path: 'subdir' - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/Gemfile.lock deleted file mode 100644 index 17163f014218..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/Gemfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -PATH - remote: subdir - specs: - example (0.9.3) - business (~> 1.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/subdir/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/subdir/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_from_path/subdir/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_gemfile/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_gemfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_git_override_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_git_override_no_lockfile/Gemfile deleted file mode 100644 index b433ef5f4810..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_git_override_no_lockfile/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0", git: "https://github.com/dependabot-fixtures/business" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_git_override_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_git_override_no_lockfile/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_git_override_no_lockfile/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/Gemfile.lock deleted file mode 100644 index 40c784e5ae69..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/Gemfile.lock +++ /dev/null @@ -1,96 +0,0 @@ -PATH - remote: . - specs: - example (0.9.3) - bundler (>= 1.12.0) - excon (~> 0.55) - gemnasium-parser (~> 0.1) - gems (~> 1.0) - gitlab (~> 4.1) - octokit (~> 4.6) - -GEM - remote: https://rubygems.org/ - specs: - addressable (2.5.1) - public_suffix (~> 2.0, >= 2.0.2) - ast (2.3.0) - business (1.4.0) - crack (0.4.3) - safe_yaml (~> 1.0.0) - diff-lcs (1.3) - excon (0.58.0) - faraday (0.12.2) - multipart-post (>= 1.2, < 3) - gemnasium-parser (0.1.9) - gems (1.0.0) - json - gitlab (4.2.0) - httparty - terminal-table - hashdiff (0.3.5) - httparty (0.15.6) - multi_xml (>= 0.5.2) - json (2.1.0) - multi_xml (0.6.0) - multipart-post (2.0.0) - octokit (4.7.0) - sawyer (~> 0.8.0, >= 0.5.3) - parser (2.4.0.0) - ast (~> 2.2) - powerpack (0.1.1) - public_suffix (2.0.5) - rainbow (2.2.2) - rake - rake (12.0.0) - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.4) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-its (1.2.0) - rspec-core (>= 3.0.0) - rspec-expectations (>= 3.0.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - rubocop (0.48.1) - parser (>= 2.3.3.1, < 3.0) - powerpack (~> 0.1) - rainbow (>= 1.99.1, < 3.0) - ruby-progressbar (~> 1.7) - unicode-display_width (~> 1.0, >= 1.0.1) - ruby-progressbar (1.8.1) - safe_yaml (1.0.4) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) - statesman (1.2.5) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - unicode-display_width (1.3.0) - webmock (2.3.2) - addressable (>= 2.3.6) - crack (>= 0.3.2) - hashdiff - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example! - rake - rspec (~> 3.5.0) - rspec-its (~> 1.2.0) - rubocop (~> 0.48.0) - statesman (~> 1.2.0) - webmock (~> 2.3.1) - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/example.gemspec deleted file mode 100644 index bcc3ef45101c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_imports_gemspec_large/example.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", ["~> 0.55"] - spec.add_dependency("gemnasium-parser", "~> 0.1") - spec.add_dependency 'gems', '~> 1.0' - spec.add_dependency "octokit", "~> 4.6" - spec.add_dependency "gitlab", "~> 4.1" - - spec.add_development_dependency "webmock", "~> 2.3.1" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "rake" -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_default_source_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_default_source_no_lockfile/Gemfile deleted file mode 100644 index ea5e86dc4684..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_default_source_no_lockfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" do - gem "business", "~> 1.4.0" - gem "statesman", "~> 1.2.0" -end - -gemspec diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_default_source_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_default_source_no_lockfile/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_default_source_no_lockfile/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_lockfile/Gemfile deleted file mode 100644 index 49322c661789..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_lockfile/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_lockfile/example.gemspec deleted file mode 100644 index a39e98a0f463..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_lockfile/example.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", ["~> 0.55"] - spec.add_dependency("gemnasium-parser", "~> 0.1") - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "gitlab", "~> 4.1" - spec.add_dependency "octokit", "~> 4.6" - - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "webmock", "~> 2.3.1" -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/Gemfile.lock deleted file mode 100644 index f58baefbb9f4..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/Gemfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -PATH - remote: . - specs: - example (0.9.3) - business (~> 1.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/example.gemspec deleted file mode 100644 index 330c138fd5ce..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_no_overlap/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'json', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_old_required_ruby_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_old_required_ruby_no_lockfile/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_old_required_ruby_no_lockfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_old_required_ruby_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_old_required_ruby_no_lockfile/example.gemspec deleted file mode 100644 index a1543e7694d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_old_required_ruby_no_lockfile/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 1.9.3" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_small_example_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_small_example_no_lockfile/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_small_example_no_lockfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_small_example_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_small_example_no_lockfile/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_small_example_no_lockfile/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/Gemfile.lock deleted file mode 100644 index f58baefbb9f4..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/Gemfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -PATH - remote: . - specs: - example (0.9.3) - business (~> 1.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/example.gemspec deleted file mode 100644 index c605f05bca65..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_unevaluatable/example.gemspec +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "1.0.0" - spec.summary = bad_code # <----- The bad code is here - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", "~> 0.55" - spec.add_dependency "gemnasium-parser", "~> 0.1" - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "gitlab", "~> 4.1" - spec.add_dependency "octokit", "~> 4.6" - - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "webmock", "~> 2.3.1" -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_as_float/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_as_float/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_as_float/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_as_float/version_as_float.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_as_float/version_as_float.gemspec deleted file mode 100644 index 5a3c734e27a9..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_as_float/version_as_float.gemspec +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "version_as_float" - spec.version = 1.0 - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_clash_old_required_ruby_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_clash_old_required_ruby_no_lockfile/Gemfile deleted file mode 100644 index dfe874a7f8d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_clash_old_required_ruby_no_lockfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 3.0.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_clash_old_required_ruby_no_lockfile/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_clash_old_required_ruby_no_lockfile/example.gemspec deleted file mode 100644 index a1543e7694d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_version_clash_old_required_ruby_no_lockfile/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 1.9.3" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/Gemfile deleted file mode 100644 index e1d94d6b9020..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/Gemfile.lock deleted file mode 100644 index 40c784e5ae69..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/Gemfile.lock +++ /dev/null @@ -1,96 +0,0 @@ -PATH - remote: . - specs: - example (0.9.3) - bundler (>= 1.12.0) - excon (~> 0.55) - gemnasium-parser (~> 0.1) - gems (~> 1.0) - gitlab (~> 4.1) - octokit (~> 4.6) - -GEM - remote: https://rubygems.org/ - specs: - addressable (2.5.1) - public_suffix (~> 2.0, >= 2.0.2) - ast (2.3.0) - business (1.4.0) - crack (0.4.3) - safe_yaml (~> 1.0.0) - diff-lcs (1.3) - excon (0.58.0) - faraday (0.12.2) - multipart-post (>= 1.2, < 3) - gemnasium-parser (0.1.9) - gems (1.0.0) - json - gitlab (4.2.0) - httparty - terminal-table - hashdiff (0.3.5) - httparty (0.15.6) - multi_xml (>= 0.5.2) - json (2.1.0) - multi_xml (0.6.0) - multipart-post (2.0.0) - octokit (4.7.0) - sawyer (~> 0.8.0, >= 0.5.3) - parser (2.4.0.0) - ast (~> 2.2) - powerpack (0.1.1) - public_suffix (2.0.5) - rainbow (2.2.2) - rake - rake (12.0.0) - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.4) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-its (1.2.0) - rspec-core (>= 3.0.0) - rspec-expectations (>= 3.0.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - rubocop (0.48.1) - parser (>= 2.3.3.1, < 3.0) - powerpack (~> 0.1) - rainbow (>= 1.99.1, < 3.0) - ruby-progressbar (~> 1.7) - unicode-display_width (~> 1.0, >= 1.0.1) - ruby-progressbar (1.8.1) - safe_yaml (1.0.4) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) - statesman (1.2.5) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - unicode-display_width (1.3.0) - webmock (2.3.2) - addressable (>= 2.3.6) - crack (>= 0.3.2) - hashdiff - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example! - rake - rspec (~> 3.5.0) - rspec-its (~> 1.2.0) - rubocop (~> 0.48.0) - statesman (~> 1.2.0) - webmock (~> 2.3.1) - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/example.gemspec deleted file mode 100644 index 705e935a3ac7..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_gemspec_with_require/example.gemspec +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true - -require "find" - -lib = File.expand_path("lib", __dir__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require "example/version" - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = Example::VERSION - spec.summary = "Automated dependency management #{Example::VERSION}" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - Find.find("lib", "helpers") do |path| - if ignores.any? { |i| File.fnmatch(i, "/" + path, File::FNM_DOTMATCH) } - Find.prune - else - spec.files << path unless File.directory?(path) - end - end - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", "~> 0.55" - spec.add_dependency "gemnasium-parser", "~> 0.1" - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "gitlab", "~> 4.1" - spec.add_dependency "octokit", "~> 4.6" - - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "webmock", "~> 2.3.1" -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/Gemfile b/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/Gemfile deleted file mode 100644 index 163bfebc906f..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gemspec name: 'example' -gemspec name: 'example2' diff --git a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/Gemfile.lock deleted file mode 100644 index 759f3628c564..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/Gemfile.lock +++ /dev/null @@ -1,23 +0,0 @@ -PATH - remote: . - specs: - example (0.9.3) - business (~> 1.0) - example2 (0.9.3) - statesman (~> 1.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.13.0) - statesman (1.3.1) - -PLATFORMS - ruby - -DEPENDENCIES - example! - example2! - -BUNDLED WITH - 1.16.1 diff --git a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/example.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/example.gemspec deleted file mode 100644 index f1d7674d9f9e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'business', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/example2.gemspec b/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/example2.gemspec deleted file mode 100644 index a768fc190638..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/imports_two_gemspecs/example2.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example2" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'statesman', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/nested/Gemfile b/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/nested/Gemfile deleted file mode 100644 index ff8bd34cc60a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/nested/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -require_relative "../some_other_file" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/nested/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/nested/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/nested/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/some_other_file.rb b/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/some_other_file.rb deleted file mode 100644 index 28f4f6180fca..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_gemfile/some_other_file.rb +++ /dev/null @@ -1 +0,0 @@ -SOME_CONSTANT = 5 diff --git a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/Gemfile b/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/Gemfile deleted file mode 100644 index cb5e001ec6f8..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -require_relative "./nested/some_other_file" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/nested/some_other_file.rb b/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/nested/some_other_file.rb deleted file mode 100644 index 28f4f6180fca..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_require_relative_nested/nested/some_other_file.rb +++ /dev/null @@ -1 +0,0 @@ -SOME_CONSTANT = 5 diff --git a/bundler/spec/fixtures/projects/bundler1/includes_requires_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/includes_requires_gemfile/Gemfile deleted file mode 100644 index 588eb8a91721..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_requires_gemfile/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source 'https://rubygems.org' - -%w[cli dependency].each do |path| - require File.expand_path("../lib/backup/#{path}", __FILE__) -end diff --git a/bundler/spec/fixtures/projects/bundler1/includes_requires_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/includes_requires_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/includes_requires_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/interpolated_version_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/interpolated_version_no_lockfile/Gemfile deleted file mode 100644 index b95313d3203f..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/interpolated_version_no_lockfile/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -version = ENV['BUSINESS_VERSION'] || '1.0.0' - -gem "business", "~> #{version}" diff --git a/bundler/spec/fixtures/projects/bundler1/invalid_ruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/invalid_ruby/Gemfile deleted file mode 100644 index 759c9ed2e5f0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/invalid_ruby/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' do - ruby -rubygems -e 'require "jekyll-import"; - end diff --git a/bundler/spec/fixtures/projects/bundler1/jfrog_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/jfrog_source/Gemfile deleted file mode 100644 index ad50e194e104..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/jfrog_source/Gemfile +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" - -source "https://test.jfrog.io/test/api/gems" do - gem "statesman", "~> 1.2.0" -end diff --git a/bundler/spec/fixtures/projects/bundler1/jruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/jruby/Gemfile deleted file mode 100644 index a832448206ad..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/jruby/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source 'https://rubygems.org' - -gem "json" diff --git a/bundler/spec/fixtures/projects/bundler1/jruby/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/jruby/Gemfile.lock deleted file mode 100644 index 9094522a791f..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/jruby/Gemfile.lock +++ /dev/null @@ -1,13 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - json (1.4.3-java) - -PLATFORMS - java - -DEPENDENCIES - json - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/legacy_ruby/Gemfile b/bundler/spec/fixtures/projects/bundler1/legacy_ruby/Gemfile deleted file mode 100644 index 4a72378eab4c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/legacy_ruby/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -ruby "1.9.3" -source "https://rubygems.org" - -gem "public_suffix" diff --git a/bundler/spec/fixtures/projects/bundler1/legacy_ruby/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/legacy_ruby/Gemfile.lock deleted file mode 100644 index 7a7b949342fe..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/legacy_ruby/Gemfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - public_suffix (1.4.0) - -PLATFORMS - ruby - -DEPENDENCIES - public_suffix - -RUBY VERSION - ruby 1.9.3p551 - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/Gemfile b/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/Gemfile deleted file mode 100644 index ee3fb9255677..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "dependabot-common", path: "common" diff --git a/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/Gemfile.lock deleted file mode 100644 index 9dcee84d6976..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/Gemfile.lock +++ /dev/null @@ -1,37 +0,0 @@ -PATH - remote: common - specs: - dependabot-common (0.218.0) - docker_registry2 (~> 1.14.0) - -GEM - remote: https://rubygems.org/ - specs: - docker_registry2 (1.14.0) - rest-client (>= 1.8.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) - http-accept (1.7.0) - http-cookie (1.0.5) - domain_name (~> 0.5) - mime-types (3.4.1) - mime-types-data (~> 3.2015) - mime-types-data (3.2023.0218.1) - netrc (0.11.0) - rest-client (2.1.0) - http-accept (>= 1.7.0, < 2.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 4.0) - netrc (~> 0.8) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - -PLATFORMS - ruby - -DEPENDENCIES - dependabot-common! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/common/dependabot-common.gemspec b/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/common/dependabot-common.gemspec deleted file mode 100644 index 137b55f996ac..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/local_gemspec_needs_updates/common/dependabot-common.gemspec +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "dependabot-common" - spec.summary = "Shared code used across Dependabot Core" - spec.description = "Dependabot-Common provides the shared code used across Dependabot. " \ - "If you want support for multiple package managers, you probably want the meta-gem " \ - "dependabot-omnibus." - - spec.author = "Dependabot" - spec.email = "opensource@github.com" - spec.homepage = "https://github.com/dependabot/dependabot-core" - spec.license = "Nonstandard" # License Zero Prosperity Public License - - spec.version = "0.218.0" - spec.required_ruby_version = ">= 3.1.0" - spec.required_rubygems_version = ">= 3.3.7" - - spec.add_dependency "docker_registry2", "~> 1.14.0" -end diff --git a/bundler/spec/fixtures/projects/bundler1/lockfile_only/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/lockfile_only/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/lockfile_only/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/lockfile_only_and_forced_updates/Gemfile b/bundler/spec/fixtures/projects/bundler1/lockfile_only_and_forced_updates/Gemfile deleted file mode 100644 index af3a7d5a3189..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/lockfile_only_and_forced_updates/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' -git_source(:github) { |repo| "https://github.com/#{repo}.git" } - -gem 'activeadmin', '4.0.0.beta6' diff --git a/bundler/spec/fixtures/projects/bundler1/lockfile_only_and_forced_updates/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/lockfile_only_and_forced_updates/Gemfile.lock deleted file mode 100644 index 914e7506a2c4..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/lockfile_only_and_forced_updates/Gemfile.lock +++ /dev/null @@ -1,147 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actionpack (7.1.3.4) - actionview (= 7.1.3.4) - activesupport (= 7.1.3.4) - nokogiri (>= 1.8.5) - racc - rack (>= 2.2.4) - rack-session (>= 1.0.1) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.2) - rails-html-sanitizer (~> 1.6) - actionview (7.1.3.4) - activesupport (= 7.1.3.4) - builder (~> 3.1) - erubi (~> 1.11) - rails-dom-testing (~> 2.2) - rails-html-sanitizer (~> 1.6) - activeadmin (4.0.0.beta6) - arbre (~> 2.0) - csv - formtastic (>= 3.1) - formtastic_i18n (>= 0.4) - inherited_resources (~> 1.7) - kaminari (>= 1.2.1) - railties (>= 6.1) - ransack (>= 4.0) - activemodel (7.1.3.4) - activesupport (= 7.1.3.4) - activerecord (7.1.3.4) - activemodel (= 7.1.3.4) - activesupport (= 7.1.3.4) - timeout (>= 0.4.0) - activesupport (7.1.3.4) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - arbre (2.0.0) - activesupport (>= 3.0.0) - ruby2_keywords (>= 0.0.2) - base64 (0.2.0) - bigdecimal (3.1.8) - builder (3.3.0) - concurrent-ruby (1.3.1) - connection_pool (2.4.1) - crass (1.0.6) - csv (3.3.0) - drb (2.2.1) - erubi (1.12.0) - formtastic (5.0.0) - actionpack (>= 6.0.0) - formtastic_i18n (0.7.0) - has_scope (0.8.2) - actionpack (>= 5.2) - activesupport (>= 5.2) - i18n (1.14.5) - concurrent-ruby (~> 1.0) - inherited_resources (1.14.0) - actionpack (>= 6.0) - has_scope (>= 0.6) - railties (>= 6.0) - responders (>= 2) - io-console (0.7.2) - irb (1.13.1) - rdoc (>= 4.0.0) - reline (>= 0.4.2) - kaminari (1.2.2) - activesupport (>= 4.1.0) - kaminari-actionview (= 1.2.2) - kaminari-activerecord (= 1.2.2) - kaminari-core (= 1.2.2) - kaminari-actionview (1.2.2) - actionview - kaminari-core (= 1.2.2) - kaminari-activerecord (1.2.2) - activerecord - kaminari-core (= 1.2.2) - kaminari-core (1.2.2) - loofah (2.22.0) - crass (~> 1.0.2) - nokogiri (>= 1.12.0) - minitest (5.23.1) - mutex_m (0.2.0) - nokogiri (1.16.5-arm64-darwin) - racc (~> 1.4) - psych (5.1.2) - stringio - racc (1.8.0) - rack (3.0.11) - rack-session (2.0.0) - rack (>= 3.0.0) - rack-test (2.1.0) - rack (>= 1.3) - rackup (2.1.0) - rack (>= 3) - webrick (~> 1.8) - rails-dom-testing (2.2.0) - activesupport (>= 5.0.0) - minitest - nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) - loofah (~> 2.21) - nokogiri (~> 1.14) - railties (7.1.3.4) - actionpack (= 7.1.3.4) - activesupport (= 7.1.3.4) - irb - rackup (>= 1.0.0) - rake (>= 12.2) - thor (~> 1.0, >= 1.2.2) - zeitwerk (~> 2.6) - rake (13.2.1) - ransack (4.1.1) - activerecord (>= 6.1.5) - activesupport (>= 6.1.5) - i18n - rdoc (6.7.0) - psych (>= 4.0.0) - reline (0.5.8) - io-console (~> 0.5) - responders (3.1.1) - actionpack (>= 5.2) - railties (>= 5.2) - ruby2_keywords (0.0.5) - stringio (3.1.0) - thor (1.3.1) - timeout (0.4.1) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - webrick (1.8.1) - zeitwerk (2.6.15) - -PLATFORMS - ruby - -DEPENDENCIES - activeadmin (= 4.0.0.beta6) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/minor_version_specified_gemfile/Gemfile deleted file mode 100644 index 52e3efa5920e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_gemfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4" -gem "statesman", "~> 1.2" diff --git a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/minor_version_specified_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_yanked_gem/Gemfile b/bundler/spec/fixtures/projects/bundler1/minor_version_specified_yanked_gem/Gemfile deleted file mode 100644 index 937f204c5712..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_yanked_gem/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -# The Gemfile.lock for this project has `business` at 1.4.1, which has been -# yanked -gem "business", "~> 1.4" -gem "statesman", "~> 1.2" diff --git a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_yanked_gem/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/minor_version_specified_yanked_gem/Gemfile.lock deleted file mode 100644 index f212c862e68a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/minor_version_specified_yanked_gem/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.1) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/multiple_blocking/Gemfile b/bundler/spec/fixtures/projects/bundler1/multiple_blocking/Gemfile deleted file mode 100644 index eb7111e1ad4d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/multiple_blocking/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gem "activesupport", "5.0.0" -gem "actionview", "5.0.0" -gem "actionmailer", "5.0.0" diff --git a/bundler/spec/fixtures/projects/bundler1/multiple_blocking/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/multiple_blocking/Gemfile.lock deleted file mode 100644 index 4d9431f430d3..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/multiple_blocking/Gemfile.lock +++ /dev/null @@ -1,70 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actionmailer (5.0.0) - actionpack (= 5.0.0) - actionview (= 5.0.0) - activejob (= 5.0.0) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (5.0.0) - actionview (= 5.0.0) - activesupport (= 5.0.0) - rack (~> 2.0) - rack-test (~> 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.0.0) - activesupport (= 5.0.0) - builder (~> 3.1) - erubis (~> 2.7.0) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - activejob (5.0.0) - activesupport (= 5.0.0) - globalid (>= 0.3.6) - activesupport (5.0.0) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (~> 0.7) - minitest (~> 5.1) - tzinfo (~> 1.1) - builder (3.2.4) - concurrent-ruby (1.1.7) - crass (1.0.6) - erubis (2.7.0) - globalid (0.4.2) - activesupport (>= 4.2.0) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - loofah (2.7.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) - mini_mime (>= 0.1.1) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.2) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - rack (2.2.3) - rack-test (0.6.3) - rack (>= 1.0) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) - loofah (~> 2.3) - thread_safe (0.3.6) - tzinfo (1.2.7) - thread_safe (~> 0.1) - -PLATFORMS - ruby - -DEPENDENCIES - actionmailer (= 5.0.0) - actionview (= 5.0.0) - activesupport (= 5.0.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/Gemfile b/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/Gemfile deleted file mode 100644 index 6b9ec13d3f6a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "couchrb", path: "vendor/couchrb" -gem "net-imap", path: "vendor/net-imap" diff --git a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/Gemfile.lock deleted file mode 100644 index eac945a863e3..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/Gemfile.lock +++ /dev/null @@ -1,25 +0,0 @@ -PATH - remote: vendor/couchrb - specs: - couchrb (0.9.0) - ice_nine - -PATH - remote: vendor/net-imap - specs: - net-imap (0.3.3) - -GEM - remote: https://rubygems.org/ - specs: - ice_nine (0.11.1) - -PLATFORMS - ruby - -DEPENDENCIES - couchrb! - net-imap! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/vendor/couchrb/couchrb.gemspec b/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/vendor/couchrb/couchrb.gemspec deleted file mode 100644 index 6b09f198c767..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/vendor/couchrb/couchrb.gemspec +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "couchrb" - spec.version = "0.9.0" - spec.authors = ["nicholas a. evans"] - spec.email = [""] - - spec.summary = %q{CouchDB client library.} - spec.description = %q{CouchRb provides a ruby-flavored interface to CouchDB. The basic resources try to follow the CouchDB API as closely as possible, but many additional features are available.} - spec.homepage = "https://github.com/410labs/couchrb" - - spec.add_dependency "ice_nine" -end diff --git a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/vendor/net-imap/net-imap.gemspec b/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/vendor/net-imap/net-imap.gemspec deleted file mode 100644 index f774eb2e0ce8..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/multiple_path_gems/vendor/net-imap/net-imap.gemspec +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -name = File.basename(__FILE__, ".gemspec") -version = "0.3.3" - -Gem::Specification.new do |spec| - spec.name = name - spec.version = version - spec.authors = ["Shugo Maeda", "nicholas a. evans"] - spec.email = ["shugo@ruby-lang.org", "nick@ekenosen.net"] - - spec.summary = %q{Ruby client api for Internet Message Access Protocol} - spec.description = %q{Ruby client api for Internet Message Access Protocol} - spec.homepage = "https://github.com/ruby/net-imap" -end diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/nested_gemfile/Gemfile deleted file mode 100644 index 7029d36a5b75..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -eval_gemfile("backend/Gemfile") - -gem "business", "~> 1.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/nested_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemfile/backend/Gemfile b/bundler/spec/fixtures/projects/bundler1/nested_gemfile/backend/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemfile/backend/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/Gemfile b/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/Gemfile deleted file mode 100644 index 3a258a2ac672..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business" -gem "statesman" diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/Gemfile.lock deleted file mode 100644 index 69318fc3b62d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business - statesman - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/nested/Gemfile b/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/nested/Gemfile deleted file mode 100644 index 3a258a2ac672..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemfile_version_not_specified/nested/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business" -gem "statesman" diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemspec/Gemfile b/bundler/spec/fixtures/projects/bundler1/nested_gemspec/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemspec/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemspec/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/nested_gemspec/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemspec/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/nested_gemspec/some/example.gemspec b/bundler/spec/fixtures/projects/bundler1/nested_gemspec/some/example.gemspec deleted file mode 100644 index 2a65bafba927..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_gemspec/some/example.gemspec +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency "business", "~> 1.0" -end diff --git a/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/Gemfile b/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/Gemfile deleted file mode 100644 index b2d90817699a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" -gem "example", ">= 0.9.0", path: "plugins/example" -gem "prius", git: "https://github.com/gocardless/prius" diff --git a/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/Gemfile.lock deleted file mode 100644 index 6803a685e5cc..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GIT - remote: https://github.com/gocardless/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -PATH - remote: plugins/example - specs: - example (0.9.3) - i18n (>= 0.3.3) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - i18n (0.8.4) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example (>= 0.9.0)! - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/example/example.gemspec b/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/example/example.gemspec deleted file mode 100644 index a39e98a0f463..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/nested_path_source/nested/example/example.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", ["~> 0.55"] - spec.add_dependency("gemnasium-parser", "~> 0.1") - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "gitlab", "~> 4.1" - spec.add_dependency "octokit", "~> 4.6" - - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "webmock", "~> 2.3.1" -end diff --git a/bundler/spec/fixtures/projects/bundler1/no_bundled_with/Gemfile b/bundler/spec/fixtures/projects/bundler1/no_bundled_with/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/no_bundled_with/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/no_bundled_with/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/no_bundled_with/Gemfile.lock deleted file mode 100644 index 74780ed56cca..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/no_bundled_with/Gemfile.lock +++ /dev/null @@ -1,12 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) diff --git a/bundler/spec/fixtures/projects/bundler1/no_downgrades/Gemfile b/bundler/spec/fixtures/projects/bundler1/no_downgrades/Gemfile deleted file mode 100644 index 3c96f18e75f0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/no_downgrades/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -source 'https://rubygems.org' -git_source(:github) { |repo| "https://github.com/#{repo}.git" } - -ruby '3.1.2' - -gem 'rails', '~> 7.0' - -gem 'db-query-matchers' diff --git a/bundler/spec/fixtures/projects/bundler1/no_downgrades/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/no_downgrades/Gemfile.lock deleted file mode 100644 index 99514b9de095..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/no_downgrades/Gemfile.lock +++ /dev/null @@ -1,174 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actioncable (7.0.8) - actionpack (= 7.0.8) - activesupport (= 7.0.8) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (7.0.8) - actionpack (= 7.0.8) - activejob (= 7.0.8) - activerecord (= 7.0.8) - activestorage (= 7.0.8) - activesupport (= 7.0.8) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.8) - actionpack (= 7.0.8) - actionview (= 7.0.8) - activejob (= 7.0.8) - activesupport (= 7.0.8) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.8) - actionview (= 7.0.8) - activesupport (= 7.0.8) - rack (~> 2.0, >= 2.2.4) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8) - actionpack (= 7.0.8) - activerecord (= 7.0.8) - activestorage (= 7.0.8) - activesupport (= 7.0.8) - globalid (>= 0.6.0) - nokogiri (>= 1.8.5) - actionview (7.0.8) - activesupport (= 7.0.8) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8) - activesupport (= 7.0.8) - globalid (>= 0.3.6) - activemodel (7.0.8) - activesupport (= 7.0.8) - activerecord (7.0.8) - activemodel (= 7.0.8) - activesupport (= 7.0.8) - activestorage (7.0.8) - actionpack (= 7.0.8) - activejob (= 7.0.8) - activerecord (= 7.0.8) - activesupport (= 7.0.8) - marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.8) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - builder (3.2.4) - concurrent-ruby (1.2.2) - crass (1.0.6) - date (3.3.3) - db-query-matchers (0.11.0) - activesupport (>= 4.0, < 7.1) - rspec (>= 3.0) - diff-lcs (1.5.0) - erubi (1.12.0) - globalid (1.2.1) - activesupport (>= 6.1) - i18n (1.14.1) - concurrent-ruby (~> 1.0) - loofah (2.21.4) - crass (~> 1.0.2) - nokogiri (>= 1.12.0) - mail (2.8.1) - mini_mime (>= 0.1.1) - net-imap - net-pop - net-smtp - marcel (1.0.2) - method_source (1.0.0) - mini_mime (1.1.5) - mini_portile2 (2.8.5) - minitest (5.20.0) - net-imap (0.4.2) - date - net-protocol - net-pop (0.1.2) - net-protocol - net-protocol (0.2.1) - timeout - net-smtp (0.4.0) - net-protocol - nio4r (2.5.9) - nokogiri (1.15.4) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) - racc (1.7.1) - rack (2.2.8) - rack-test (2.1.0) - rack (>= 1.3) - rails (7.0.8) - actioncable (= 7.0.8) - actionmailbox (= 7.0.8) - actionmailer (= 7.0.8) - actionpack (= 7.0.8) - actiontext (= 7.0.8) - actionview (= 7.0.8) - activejob (= 7.0.8) - activemodel (= 7.0.8) - activerecord (= 7.0.8) - activestorage (= 7.0.8) - activesupport (= 7.0.8) - bundler (>= 1.15.0) - railties (= 7.0.8) - rails-dom-testing (2.2.0) - activesupport (>= 5.0.0) - minitest - nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) - loofah (~> 2.21) - nokogiri (~> 1.14) - railties (7.0.8) - actionpack (= 7.0.8) - activesupport (= 7.0.8) - method_source - rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.0.6) - rspec (3.12.0) - rspec-core (~> 3.12.0) - rspec-expectations (~> 3.12.0) - rspec-mocks (~> 3.12.0) - rspec-core (3.12.2) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.3) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-mocks (3.12.5) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-support (3.12.1) - thor (1.2.2) - timeout (0.4.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - websocket-driver (0.7.6) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - zeitwerk (2.6.12) - -PLATFORMS - ruby - -DEPENDENCIES - db-query-matchers - rails (~> 7.0) - -RUBY VERSION - ruby 3.1.2p20 - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/no_lockfile/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/no_lockfile/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_end_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_end_gemfile/Gemfile deleted file mode 100644 index f481e70aa4ff..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_end_gemfile/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "prius", "1.0.0", git: "git_url", require: false diff --git a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_end_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_end_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_end_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_start_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_start_gemfile/Gemfile deleted file mode 100644 index 40050f9da15a..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_start_gemfile/Gemfile +++ /dev/null @@ -1 +0,0 @@ -gem "prius", "1.0.0", require: false, git: "git_url" diff --git a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_start_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_start_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/non_git_tags_at_start_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/non_git_tags_on_newline_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/non_git_tags_on_newline_gemfile/Gemfile deleted file mode 100644 index 0e182d6e47ea..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/non_git_tags_on_newline_gemfile/Gemfile +++ /dev/null @@ -1,2 +0,0 @@ -gem "prius", "1.0.0", git: "git_url", -require: false diff --git a/bundler/spec/fixtures/projects/bundler1/non_git_tags_on_newline_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/non_git_tags_on_newline_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/non_git_tags_on_newline_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/Gemfile deleted file mode 100644 index 803751f7d37d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "activesupport", ">= 6.0.2" # needs ruby >= 2.5 -gem "couchrb", path: "vendor/couchrb" # needs ruby >= 1.9.3 diff --git a/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/Gemfile.lock deleted file mode 100644 index 09996e318dca..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/Gemfile.lock +++ /dev/null @@ -1,34 +0,0 @@ -PATH - remote: vendor/couchrb - specs: - couchrb (0.9.0) - ice_nine - -GEM - remote: https://rubygems.org/ - specs: - activesupport (6.0.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2) - concurrent-ruby (1.2.2) - i18n (1.12.0) - concurrent-ruby (~> 1.0) - ice_nine (0.11.1) - minitest (5.18.0) - thread_safe (0.3.6) - tzinfo (1.2.11) - thread_safe (~> 0.1) - zeitwerk (2.6.7) - -PLATFORMS - ruby - -DEPENDENCIES - activesupport (>= 6.0.2) - couchrb! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/vendor/couchrb/couchrb.gemspec b/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/vendor/couchrb/couchrb.gemspec deleted file mode 100644 index 0a9e853ec214..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_gem_with_ruby_requirement/vendor/couchrb/couchrb.gemspec +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "couchrb" - spec.version = "0.9.0" - spec.authors = ["nicholas a. evans"] - spec.email = [""] - - spec.summary = %q{CouchDB client library.} - spec.description = %q{CouchRb provides a ruby-flavored interface to CouchDB. The basic resources try to follow the CouchDB API as closely as possible, but many additional features are available.} - spec.homepage = "https://github.com/410labs/couchrb" - - spec.required_ruby_version = ">= 1.9.3" - - spec.add_dependency "ice_nine" -end diff --git a/bundler/spec/fixtures/projects/bundler1/path_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_source/Gemfile deleted file mode 100644 index 1bc6443a9eeb..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" -gem "example", ">= 0.9.0", path: "plugins/example" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" diff --git a/bundler/spec/fixtures/projects/bundler1/path_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/path_source/Gemfile.lock deleted file mode 100644 index 77ac72f9f302..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -PATH - remote: plugins/example - specs: - example (0.9.3) - i18n (>= 0.3.3) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - i18n (0.8.4) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example (>= 0.9.0)! - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/path_source/plugins/example/example.gemspec b/bundler/spec/fixtures/projects/bundler1/path_source/plugins/example/example.gemspec deleted file mode 100644 index a39e98a0f463..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source/plugins/example/example.gemspec +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = "2019-08-01" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = Dir["lib"] - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_runtime_dependency "bundler", ">= 1.12.0" - spec.add_dependency "excon", ["~> 0.55"] - spec.add_dependency("gemnasium-parser", "~> 0.1") - spec.add_dependency "gems", "~> 1.0" - spec.add_dependency "gitlab", "~> 4.1" - spec.add_dependency "octokit", "~> 4.6" - - spec.add_development_dependency "rake" - spec.add_development_dependency "rspec", "~> 3.5.0" - spec.add_development_dependency "rspec-its", "~> 1.2.0" - spec.add_development_dependency "rubocop", "~> 0.48.0" - spec.add_development_dependency "webmock", "~> 2.3.1" -end diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_eval/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_source_eval/Gemfile deleted file mode 100644 index b492381b43db..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_eval/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" -gem "example", path: File.join(File.dirname(__FILE__), 'plugins/example') -gem "prius", git: "https://github.com/dependabot-fixtures/prius" diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_if/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_source_if/Gemfile deleted file mode 100644 index 9a218608c35d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_if/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -source "https://rubygems.org" - -if ENV['something'] - gem "example", path: "plugins/example" -else - gem "example" -end - -gem "statesman", "~> 1.2.0" -gem "business", "~> 1.4.0" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/Gemfile deleted file mode 100644 index 1bc6443a9eeb..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" -gem "example", ">= 0.9.0", path: "plugins/example" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/Gemfile.lock deleted file mode 100644 index 77ac72f9f302..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -PATH - remote: plugins/example - specs: - example (0.9.3) - i18n (>= 0.3.3) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - i18n (0.8.4) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example (>= 0.9.0)! - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/plugins/example/example.gemspec b/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/plugins/example/example.gemspec deleted file mode 100644 index 330c138fd5ce..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap/plugins/example/example.gemspec +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'json', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/Gemfile deleted file mode 100644 index 1bc6443a9eeb..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" -gem "example", ">= 0.9.0", path: "plugins/example" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/Gemfile.lock deleted file mode 100644 index 77ac72f9f302..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -PATH - remote: plugins/example - specs: - example (0.9.3) - i18n (>= 0.3.3) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - i18n (0.8.4) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example (>= 0.9.0)! - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/plugins/example/example.gemspec b/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/plugins/example/example.gemspec deleted file mode 100644 index 927d8d40051f..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_no_overlap_with_require/plugins/example/example.gemspec +++ /dev/null @@ -1,27 +0,0 @@ -# frozen_string_literal: true - -lib = File.expand_path('../lib', __FILE__) -$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'example/version' - -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = Example::VERSION - spec.summary = "Automated dependency management #{Example::VERSION}" - spec.description = "Core logic for updating a GitHub repos dependencies" - spec.date = Example::DATE - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 2.4.0" - spec.required_rubygems_version = ">= 2.6.11" - - spec.add_dependency 'json', '~> 1.0' -end diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_not_reachable/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_source_not_reachable/Gemfile deleted file mode 100644 index 1bc6443a9eeb..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_not_reachable/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" -gem "example", ">= 0.9.0", path: "plugins/example" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_not_reachable/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/path_source_not_reachable/Gemfile.lock deleted file mode 100644 index 77ac72f9f302..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_not_reachable/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -PATH - remote: plugins/example - specs: - example (0.9.3) - i18n (>= 0.3.3) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - i18n (0.8.4) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example (>= 0.9.0)! - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_statesman/Gemfile b/bundler/spec/fixtures/projects/bundler1/path_source_statesman/Gemfile deleted file mode 100644 index 113150701774..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_statesman/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "4.1.1", path: "vendor/gems/statesman-4.1.1" diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_statesman/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/path_source_statesman/Gemfile.lock deleted file mode 100644 index df2e0955bdb0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_statesman/Gemfile.lock +++ /dev/null @@ -1,19 +0,0 @@ -PATH - remote: vendor/gems/statesman-4.1.1 - specs: - statesman (4.1.1) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (= 4.1.1)! - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/path_source_statesman/vendor/gems/statesman-4.1.1/.specification b/bundler/spec/fixtures/projects/bundler1/path_source_statesman/vendor/gems/statesman-4.1.1/.specification deleted file mode 100644 index 9749eedb490c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/path_source_statesman/vendor/gems/statesman-4.1.1/.specification +++ /dev/null @@ -1,246 +0,0 @@ ---- !ruby/object:Gem::Specification -name: statesman -version: !ruby/object:Gem::Version - version: 4.1.1 -platform: ruby -authors: -- GoCardless -autorequire: -bindir: bin -cert_chain: [] -date: 2019-07-06 00:00:00.000000000 Z -dependencies: -- !ruby/object:Gem::Dependency - name: ammeter - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' -- !ruby/object:Gem::Dependency - name: bundler - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.3' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.3' -- !ruby/object:Gem::Dependency - name: gc_ruboconfig - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 2.3.9 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 2.3.9 -- !ruby/object:Gem::Dependency - name: mysql2 - requirement: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0.4' - - - "<" - - !ruby/object:Gem::Version - version: '0.6' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0.4' - - - "<" - - !ruby/object:Gem::Version - version: '0.6' -- !ruby/object:Gem::Dependency - name: pg - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '0.18' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '0.18' -- !ruby/object:Gem::Dependency - name: pry - requirement: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' -- !ruby/object:Gem::Dependency - name: rails - requirement: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '3.2' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '3.2' -- !ruby/object:Gem::Dependency - name: rake - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 12.3.0 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 12.3.0 -- !ruby/object:Gem::Dependency - name: rspec - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' -- !ruby/object:Gem::Dependency - name: rspec-its - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' -- !ruby/object:Gem::Dependency - name: rspec-rails - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' -- !ruby/object:Gem::Dependency - name: rspec_junit_formatter - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.4.0 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.4.0 -- !ruby/object:Gem::Dependency - name: sqlite3 - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 1.3.6 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 1.3.6 -- !ruby/object:Gem::Dependency - name: timecop - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.9.1 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.9.1 -description: A statesman-like state machine library -email: -- developers@gocardless.com -executables: [] -extensions: [] -extra_rdoc_files: [] -files: [] -homepage: https://github.com/gocardless/statesman -licenses: -- MIT -metadata: {} -post_install_message: -rdoc_options: [] -require_paths: -- lib -required_ruby_version: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '2.2' -required_rubygems_version: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' -requirements: [] -rubygems_version: 3.0.3 -signing_key: -specification_version: 4 -summary: A statesman-like state machine library -test_files: [] - diff --git a/bundler/spec/fixtures/projects/bundler1/platform_windows/Gemfile b/bundler/spec/fixtures/projects/bundler1/platform_windows/Gemfile deleted file mode 100644 index 74ccddd4b96b..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/platform_windows/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0", platform: [:mswin] diff --git a/bundler/spec/fixtures/projects/bundler1/platform_windows/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/platform_windows/Gemfile.lock deleted file mode 100644 index 35a6e4aba813..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/platform_windows/Gemfile.lock +++ /dev/null @@ -1,14 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/platform_windows_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/platform_windows_no_lockfile/Gemfile deleted file mode 100644 index 74ccddd4b96b..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/platform_windows_no_lockfile/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0", platform: [:mswin] diff --git a/bundler/spec/fixtures/projects/bundler1/prerelease_specified/Gemfile b/bundler/spec/fixtures/projects/bundler1/prerelease_specified/Gemfile deleted file mode 100644 index 11347d18efc5..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/prerelease_specified/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0.rc1" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/prerelease_specified/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/prerelease_specified/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/prerelease_specified/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/prerelease_with_dash_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/prerelease_with_dash_gemfile/Gemfile deleted file mode 100644 index 6904ab782d44..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/prerelease_with_dash_gemfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0-rc1" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/prerelease_with_dash_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/prerelease_with_dash_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/prerelease_with_dash_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/private_gem_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/private_gem_source/Gemfile deleted file mode 100644 index c0b8498e4464..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/private_gem_source/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "prius", source: "https://rubygems.pkg.github.com/dsp-testing" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/private_gem_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/private_gem_source/Gemfile.lock deleted file mode 100644 index 9a23ad55f7c2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/private_gem_source/Gemfile.lock +++ /dev/null @@ -1,18 +0,0 @@ -GEM - remote: https://rubygems.org/ - remote: https://rubygems.pkg.github.com/dsp-testing - specs: - business (1.4.0) - prius (1.0.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/private_git_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/private_git_source/Gemfile deleted file mode 100644 index 25fa890728dd..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/private_git_source/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "prius", git: "git@github.com:no-exist-sorry/prius" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/private_git_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/private_git_source/Gemfile.lock deleted file mode 100644 index 59f2428c1554..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/private_git_source/Gemfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -GIT - remote: git@github.com:no-exist-sorry/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/private_git_source_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/private_git_source_no_lockfile/Gemfile deleted file mode 100644 index 4eea76185481..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/private_git_source_no_lockfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "prius", git: "git@github.com:dependabot-fixtures/does-not-exist" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/private_github_source_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/private_github_source_no_lockfile/Gemfile deleted file mode 100644 index 69fce447abba..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/private_github_source_no_lockfile/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" -gem "prius", github: "dependabot-fixtures/does-not-exist" diff --git a/bundler/spec/fixtures/projects/bundler1/requires_bundler/Gemfile b/bundler/spec/fixtures/projects/bundler1/requires_bundler/Gemfile deleted file mode 100644 index 686cbd2c37d8..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/requires_bundler/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "guard-bundler", "~> 2.2.1" diff --git a/bundler/spec/fixtures/projects/bundler1/requires_bundler/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/requires_bundler/Gemfile.lock deleted file mode 100644 index af7181d4aba3..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/requires_bundler/Gemfile.lock +++ /dev/null @@ -1,46 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - coderay (1.1.3) - ffi (1.14.2) - formatador (0.2.5) - guard (2.16.2) - formatador (>= 0.2.4) - listen (>= 2.7, < 4.0) - lumberjack (>= 1.0.12, < 2.0) - nenv (~> 0.1) - notiffany (~> 0.0) - pry (>= 0.9.12) - shellany (~> 0.0) - thor (>= 0.18.1) - guard-bundler (2.2.1) - bundler (>= 1.3.0, < 3) - guard (~> 2.2) - guard-compat (~> 1.1) - guard-compat (1.2.1) - listen (3.4.1) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - lumberjack (1.2.8) - method_source (1.0.0) - nenv (0.3.0) - notiffany (0.1.3) - nenv (~> 0.1) - shellany (~> 0.0) - pry (0.14.0) - coderay (~> 1.1) - method_source (~> 1.0) - rb-fsevent (0.10.4) - rb-inotify (0.10.1) - ffi (~> 1.0) - shellany (0.0.1) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - guard-bundler (~> 2.2.1) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/ruby_version_file/.ruby-version b/bundler/spec/fixtures/projects/bundler1/ruby_version_file/.ruby-version deleted file mode 100644 index ccbccc3dc626..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/ruby_version_file/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -2.2.0 diff --git a/bundler/spec/fixtures/projects/bundler1/ruby_version_file/Gemfile b/bundler/spec/fixtures/projects/bundler1/ruby_version_file/Gemfile deleted file mode 100644 index d44cabeca5f5..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/ruby_version_file/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -ruby File.open('.ruby-version', 'rb') { |f| f.read.chomp } - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/ruby_version_file/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/ruby_version_file/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/ruby_version_file/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/sidekiq_pro/Gemfile b/bundler/spec/fixtures/projects/bundler1/sidekiq_pro/Gemfile deleted file mode 100644 index 5e5d48e7a7ad..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/sidekiq_pro/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source 'https://rubygems.org' - -source "https://username:password@gems.contribsys.com/" do - gem 'sidekiq-pro' -end diff --git a/bundler/spec/fixtures/projects/bundler1/sidekiq_pro/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/sidekiq_pro/Gemfile.lock deleted file mode 100644 index f3ba2930345d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/sidekiq_pro/Gemfile.lock +++ /dev/null @@ -1,26 +0,0 @@ -GEM - remote: https://rubygems.org/ - remote: https://username:password@gems.contribsys.com/ - specs: - concurrent-ruby (1.0.5) - connection_pool (2.2.1) - rack (1.4.7) - rack-protection (1.5.3) - rack - redis (3.3.3) - sidekiq (4.2.9) - concurrent-ruby (~> 1.0) - connection_pool (~> 2.2, >= 2.2.0) - rack-protection (>= 1.5.0) - redis (~> 3.2, >= 3.2.1) - sidekiq-pro (3.4.4) - sidekiq (>= 4.1.5) - -PLATFORMS - ruby - -DEPENDENCIES - sidekiq-pro! - -BUNDLED WITH - 1.15.3 diff --git a/bundler/spec/fixtures/projects/bundler1/source_block_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/source_block_gemfile/Gemfile deleted file mode 100644 index 0b7e64ec2fa2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/source_block_gemfile/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://example.com' do - gem "business", "~> 1.0", require: true -end diff --git a/bundler/spec/fixtures/projects/bundler1/source_block_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/source_block_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/source_block_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/specified_default_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/specified_default_source/Gemfile deleted file mode 100644 index bf5947034042..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_default_source/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://SECRET_CODES@repo.fury.io/greysteil/' - -gem 'business' diff --git a/bundler/spec/fixtures/projects/bundler1/specified_default_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/specified_default_source/Gemfile.lock deleted file mode 100644 index 226fd95669c2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_default_source/Gemfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -GEM - remote: https://rubygems.org/ - remote: https://SECRET_CODES@repo.fury.io/greysteil/ - specs: - business (1.5.0) - statesman (2.0.1) - -PLATFORMS - ruby - -DEPENDENCIES - business! - statesman - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/specified_default_source_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/specified_default_source_no_lockfile/Gemfile deleted file mode 100644 index bf5947034042..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_default_source_no_lockfile/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://SECRET_CODES@repo.fury.io/greysteil/' - -gem 'business' diff --git a/bundler/spec/fixtures/projects/bundler1/specified_plugin_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/specified_plugin_source/Gemfile deleted file mode 100644 index 6002285734f6..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_plugin_source/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gem 'statesman' - -source 's3://my-gems', type: 'aws-s3' do - gem 'business' -end diff --git a/bundler/spec/fixtures/projects/bundler1/specified_plugin_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/specified_plugin_source/Gemfile.lock deleted file mode 100644 index 0abaf3c89b1d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_plugin_source/Gemfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PLUGIN SOURCE - remote: s3://my-gems - type: aws-s3 - specs: - business (1.5.0) - statesman (2.0.1) - -PLATFORMS - ruby - -DEPENDENCIES - business! - statesman - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/specified_source/Gemfile b/bundler/spec/fixtures/projects/bundler1/specified_source/Gemfile deleted file mode 100644 index f933b8d77be6..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_source/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gem 'statesman' - -source 'https://SECRET_CODES@repo.fury.io/greysteil/' do - gem 'business' -end diff --git a/bundler/spec/fixtures/projects/bundler1/specified_source/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/specified_source/Gemfile.lock deleted file mode 100644 index 857e29c24732..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_source/Gemfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -GEM - remote: https://rubygems.org/ - remote: https://wxuokzLuQTRgMGtEYMPJ@repo.fury.io/greysteil/ - specs: - business (1.5.0) - statesman (2.0.1) - -PLATFORMS - ruby - -DEPENDENCIES - business! - statesman - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/specified_source_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/specified_source_no_lockfile/Gemfile deleted file mode 100644 index f933b8d77be6..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/specified_source_no_lockfile/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gem 'statesman' - -source 'https://SECRET_CODES@repo.fury.io/greysteil/' do - gem 'business' -end diff --git a/bundler/spec/fixtures/projects/bundler1/subdep_blocked_by_subdep/Gemfile b/bundler/spec/fixtures/projects/bundler1/subdep_blocked_by_subdep/Gemfile deleted file mode 100644 index 38e1bdd40eeb..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/subdep_blocked_by_subdep/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "dummy-pkg-b", "1.0.0" diff --git a/bundler/spec/fixtures/projects/bundler1/subdep_blocked_by_subdep/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/subdep_blocked_by_subdep/Gemfile.lock deleted file mode 100644 index 74d79e10aae0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/subdep_blocked_by_subdep/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - dummy-pkg-a (1.0.1) - dummy-pkg-b (1.0.0) - dummy-pkg-a (< 2.0.0) - -PLATFORMS - ruby - -DEPENDENCIES - dummy-pkg-b (= 1.0.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/subdependency/Gemfile b/bundler/spec/fixtures/projects/bundler1/subdependency/Gemfile deleted file mode 100644 index cb30b03aaeea..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/subdependency/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gem "ibandit", "~> 0.7.0" diff --git a/bundler/spec/fixtures/projects/bundler1/subdependency/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/subdependency/Gemfile.lock deleted file mode 100644 index 6a66ce5411a2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/subdependency/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - i18n (0.7.0.beta1) - ibandit (0.7.0) - i18n (~> 0.7.0) - -PLATFORMS - ruby - -DEPENDENCIES - ibandit (~> 0.7.0) - -BUNDLED WITH - 1.16.1 diff --git a/bundler/spec/fixtures/projects/bundler1/subdependency_gems_rb/gems.locked b/bundler/spec/fixtures/projects/bundler1/subdependency_gems_rb/gems.locked deleted file mode 100644 index 6a66ce5411a2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/subdependency_gems_rb/gems.locked +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - i18n (0.7.0.beta1) - ibandit (0.7.0) - i18n (~> 0.7.0) - -PLATFORMS - ruby - -DEPENDENCIES - ibandit (~> 0.7.0) - -BUNDLED WITH - 1.16.1 diff --git a/bundler/spec/fixtures/projects/bundler1/subdependency_gems_rb/gems.rb b/bundler/spec/fixtures/projects/bundler1/subdependency_gems_rb/gems.rb deleted file mode 100644 index cb30b03aaeea..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/subdependency_gems_rb/gems.rb +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gem "ibandit", "~> 0.7.0" diff --git a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/.gitignore b/bundler/spec/fixtures/projects/bundler1/tool_versions_file/.gitignore deleted file mode 100644 index 48238a337f50..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!.tool-versions diff --git a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/.tool-versions b/bundler/spec/fixtures/projects/bundler1/tool_versions_file/.tool-versions deleted file mode 100644 index 7e1bff112003..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -ruby 2.2.0 diff --git a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/Gemfile b/bundler/spec/fixtures/projects/bundler1/tool_versions_file/Gemfile deleted file mode 100644 index 34c4cf9e8f9d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -ruby File.open('.tool-versions', 'rb') { |f| f.read.match(/ruby (.*)\n/)[1] } - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/tool_versions_file/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/tool_versions_file/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/top_level_update/Gemfile b/bundler/spec/fixtures/projects/bundler1/top_level_update/Gemfile deleted file mode 100644 index 3a4d403c7496..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/top_level_update/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } - -gem "octicons", "~> 19.2" -gem "octicons_helper", "~> 19.2" diff --git a/bundler/spec/fixtures/projects/bundler1/top_level_update/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/top_level_update/Gemfile.lock deleted file mode 100644 index dda2e5040f32..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/top_level_update/Gemfile.lock +++ /dev/null @@ -1,74 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actionpack (7.0.6) - actionview (= 7.0.6) - activesupport (= 7.0.6) - rack (~> 2.0, >= 2.2.4) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (7.0.6) - activesupport (= 7.0.6) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activesupport (7.0.6) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - builder (3.2.4) - concurrent-ruby (1.2.2) - crass (1.0.6) - erubi (1.12.0) - i18n (1.14.1) - concurrent-ruby (~> 1.0) - loofah (2.21.3) - crass (~> 1.0.2) - nokogiri (>= 1.12.0) - method_source (1.0.0) - mini_portile2 (2.8.4) - minitest (5.18.1) - nokogiri (1.15.3) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) - octicons (19.2.0) - octicons_helper (19.2.0) - actionview - octicons (= 19.2.0) - railties - racc (1.7.1) - rack (2.2.7) - rack-test (2.1.0) - rack (>= 1.3) - rails-dom-testing (2.1.1) - activesupport (>= 5.0.0) - minitest - nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) - loofah (~> 2.21) - nokogiri (~> 1.14) - railties (7.0.6) - actionpack (= 7.0.6) - activesupport (= 7.0.6) - method_source - rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.0.6) - thor (1.2.2) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - zeitwerk (2.6.8) - -PLATFORMS - ruby - -DEPENDENCIES - octicons (~> 19.2) - octicons_helper (~> 19.2) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/top_level_update_with_git_gems/Gemfile b/bundler/spec/fixtures/projects/bundler1/top_level_update_with_git_gems/Gemfile deleted file mode 100644 index 471599ee58c0..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/top_level_update_with_git_gems/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" -git_source(:github) { |repo| "https://github.com/#{repo}.git" } - -# Add sentry gems -gem 'sentry-rails', '~> 5.10' -gem 'sentry-ruby', '~> 5.10' - -# Add a gem from a git source -gem 'annotate', github: 'robbevp/annotate_models', branch: 'enhc/support-virtual-columns' diff --git a/bundler/spec/fixtures/projects/bundler1/top_level_update_with_git_gems/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/top_level_update_with_git_gems/Gemfile.lock deleted file mode 100644 index 175970fa110f..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/top_level_update_with_git_gems/Gemfile.lock +++ /dev/null @@ -1,122 +0,0 @@ -GIT - remote: https://github.com/robbevp/annotate_models.git - revision: 099acde2ff0c1b7e64f70c996a77f907ee1121be - branch: enhc/support-virtual-columns - specs: - annotate (3.1.1) - activerecord (>= 3.2, < 8.0) - rake (>= 10.4, < 14.0) - -GEM - remote: https://rubygems.org/ - specs: - actionpack (7.1.1) - actionview (= 7.1.1) - activesupport (= 7.1.1) - nokogiri (>= 1.8.5) - rack (>= 2.2.4) - rack-session (>= 1.0.1) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.2) - rails-html-sanitizer (~> 1.6) - actionview (7.1.1) - activesupport (= 7.1.1) - builder (~> 3.1) - erubi (~> 1.11) - rails-dom-testing (~> 2.2) - rails-html-sanitizer (~> 1.6) - activemodel (7.1.1) - activesupport (= 7.1.1) - activerecord (7.1.1) - activemodel (= 7.1.1) - activesupport (= 7.1.1) - timeout (>= 0.4.0) - activesupport (7.1.1) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - base64 (0.1.1) - bigdecimal (3.1.4) - builder (3.2.4) - concurrent-ruby (1.2.2) - connection_pool (2.4.1) - crass (1.0.6) - drb (2.1.1) - ruby2_keywords - erubi (1.12.0) - i18n (1.14.1) - concurrent-ruby (~> 1.0) - io-console (0.6.0) - irb (1.8.3) - rdoc - reline (>= 0.3.8) - loofah (2.21.4) - crass (~> 1.0.2) - nokogiri (>= 1.12.0) - mini_portile2 (2.8.5) - minitest (5.20.0) - mutex_m (0.1.2) - nokogiri (1.15.4) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) - psych (5.1.1) - stringio - racc (1.7.1) - rack (3.0.8) - rack-session (2.0.0) - rack (>= 3.0.0) - rack-test (2.1.0) - rack (>= 1.3) - rackup (2.1.0) - rack (>= 3) - webrick (~> 1.8) - rails-dom-testing (2.2.0) - activesupport (>= 5.0.0) - minitest - nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) - loofah (~> 2.21) - nokogiri (~> 1.14) - railties (7.1.1) - actionpack (= 7.1.1) - activesupport (= 7.1.1) - irb - rackup (>= 1.0.0) - rake (>= 12.2) - thor (~> 1.0, >= 1.2.2) - zeitwerk (~> 2.6) - rake (13.0.6) - rdoc (6.5.0) - psych (>= 4.0.0) - reline (0.3.9) - io-console (~> 0.5) - ruby2_keywords (0.0.5) - sentry-rails (5.10.0) - railties (>= 5.0) - sentry-ruby (~> 5.10.0) - sentry-ruby (5.10.0) - concurrent-ruby (~> 1.0, >= 1.0.2) - stringio (3.0.8) - thor (1.2.2) - timeout (0.4.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - webrick (1.8.1) - zeitwerk (2.6.12) - -PLATFORMS - ruby - -DEPENDENCIES - annotate! - sentry-rails (~> 5.10) - sentry-ruby (~> 5.10) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/transitive_blocking/Gemfile b/bundler/spec/fixtures/projects/bundler1/transitive_blocking/Gemfile deleted file mode 100644 index eba56af16006..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/transitive_blocking/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' - -gem 'rails', '5.2.0' diff --git a/bundler/spec/fixtures/projects/bundler1/transitive_blocking/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/transitive_blocking/Gemfile.lock deleted file mode 100644 index 1459e11cefad..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/transitive_blocking/Gemfile.lock +++ /dev/null @@ -1,119 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actioncable (5.2.0) - actionpack (= 5.2.0) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailer (5.2.0) - actionpack (= 5.2.0) - actionview (= 5.2.0) - activejob (= 5.2.0) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (5.2.0) - actionview (= 5.2.0) - activesupport (= 5.2.0) - rack (~> 2.0) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.0) - activesupport (= 5.2.0) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.2.0) - activesupport (= 5.2.0) - globalid (>= 0.3.6) - activemodel (5.2.0) - activesupport (= 5.2.0) - activerecord (5.2.0) - activemodel (= 5.2.0) - activesupport (= 5.2.0) - arel (>= 9.0) - activestorage (5.2.0) - actionpack (= 5.2.0) - activerecord (= 5.2.0) - marcel (~> 0.3.1) - activesupport (5.2.0) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - arel (9.0.0) - builder (3.2.4) - concurrent-ruby (1.1.7) - crass (1.0.6) - erubi (1.9.0) - globalid (0.4.2) - activesupport (>= 4.2.0) - i18n (1.8.5) - concurrent-ruby (~> 1.0) - loofah (2.7.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) - mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) - method_source (1.0.0) - mimemagic (0.3.5) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.2) - nio4r (2.5.4) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - rack (2.2.3) - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (5.2.0) - actioncable (= 5.2.0) - actionmailer (= 5.2.0) - actionpack (= 5.2.0) - actionview (= 5.2.0) - activejob (= 5.2.0) - activemodel (= 5.2.0) - activerecord (= 5.2.0) - activestorage (= 5.2.0) - activesupport (= 5.2.0) - bundler (>= 1.3.0) - railties (= 5.2.0) - sprockets-rails (>= 2.0.0) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) - loofah (~> 2.3) - railties (5.2.0) - actionpack (= 5.2.0) - activesupport (= 5.2.0) - method_source - rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) - rake (13.0.1) - sprockets (4.0.2) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.2) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) - thor (1.0.1) - thread_safe (0.3.6) - tzinfo (1.2.8) - thread_safe (~> 0.1) - websocket-driver (0.7.3) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - -PLATFORMS - ruby - -DEPENDENCIES - rails (= 5.2.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/unavailable_gem_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/unavailable_gem_gemfile/Gemfile deleted file mode 100644 index b4b41dc5c31c..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/unavailable_gem_gemfile/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4" -gem "statesman", "~> 1.2" -gem "dependabot-common", "999999" diff --git a/bundler/spec/fixtures/projects/bundler1/unavailable_gem_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/unavailable_gem_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/unavailable_gem_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/unevaluatable_japanese_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/unevaluatable_japanese_gemfile/Gemfile deleted file mode 100644 index bf38558ca62e..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/unevaluatable_japanese_gemfile/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -source 'https://rubygems.org' - -# という警告がでるため。 -bad_codes_man - -gem "statesman" diff --git a/bundler/spec/fixtures/projects/bundler1/unevaluatable_japanese_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/unevaluatable_japanese_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/unevaluatable_japanese_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/Gemfile b/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/Gemfile deleted file mode 100644 index 09c43d7ce768..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gemspec - -gem "business", "~> 1.4.0" diff --git a/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/Gemfile.lock deleted file mode 100644 index cc7fe84e1513..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/Gemfile.lock +++ /dev/null @@ -1,13 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/example.gemspec b/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/example.gemspec deleted file mode 100644 index a95f2b2d1f90..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/unsatisfied_required_ruby_version/example.gemspec +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true -Gem::Specification.new do |spec| - spec.name = "example" - spec.version = "0.9.3" - spec.summary = "Automated dependency management" - spec.description = "Core logic for updating a GitHub repos dependencies" - - spec.author = "Dependabot" - spec.email = "support@dependabot.com" - spec.homepage = "https://github.com/hmarr/example" - spec.license = "MIT" - - spec.require_path = "lib" - spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", - "lib/**/*", "helpers/**/*"] - - spec.required_ruby_version = ">= 99.0.0" -end diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems/Gemfile b/bundler/spec/fixtures/projects/bundler1/vendored_gems/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_gems/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/vendored_gems/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_gems/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems/vendor/cache/business-1.4.0.gem b/bundler/spec/fixtures/projects/bundler1/vendored_gems/vendor/cache/business-1.4.0.gem deleted file mode 100644 index 2878bcd0ae6c..000000000000 Binary files a/bundler/spec/fixtures/projects/bundler1/vendored_gems/vendor/cache/business-1.4.0.gem and /dev/null differ diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems/vendor/cache/statesman-1.2.1.gem b/bundler/spec/fixtures/projects/bundler1/vendored_gems/vendor/cache/statesman-1.2.1.gem deleted file mode 100644 index f9b34cd6dc2f..000000000000 Binary files a/bundler/spec/fixtures/projects/bundler1/vendored_gems/vendor/cache/statesman-1.2.1.gem and /dev/null differ diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/Gemfile b/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/Gemfile deleted file mode 100644 index bb897e7e7bb2..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/vendor/cache/business-1.4.0.gem b/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/vendor/cache/business-1.4.0.gem deleted file mode 100644 index 2878bcd0ae6c..000000000000 Binary files a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/vendor/cache/business-1.4.0.gem and /dev/null differ diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/vendor/cache/statesman-1.2.1.gem b/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/vendor/cache/statesman-1.2.1.gem deleted file mode 100644 index f9b34cd6dc2f..000000000000 Binary files a/bundler/spec/fixtures/projects/bundler1/vendored_gems_with_subdir/acceptance/vendor/cache/statesman-1.2.1.gem and /dev/null differ diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_git/Gemfile b/bundler/spec/fixtures/projects/bundler1/vendored_git/Gemfile deleted file mode 100644 index 7c42cfb2bd36..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_git/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true -source "https://rubygems.org" - -gem "dependabot-test-ruby-package", "~> 1.0.0", git: "https://github.com/dependabot-fixtures/dependabot-test-ruby-package" diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_git/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/vendored_git/Gemfile.lock deleted file mode 100644 index 141f061d7405..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_git/Gemfile.lock +++ /dev/null @@ -1,18 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/dependabot-test-ruby-package - revision: 81073f9462f228c6894e3e384d0718def310d99f - specs: - business (1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - -PLATFORMS - ruby - -DEPENDENCIES - dependabot-test-ruby-package (~> 1.0.0)! - -BUNDLED WITH - 1.16.0.pre.2 diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/.bundlecache b/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/.bundlecache deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/README.md b/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/README.md deleted file mode 100644 index f71de17053d1..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## dependabot-test-ruby-package v1.0.0 - -A dummy Ruby package for testing Dependabot. diff --git a/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/test-ruby-package.gemspec b/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/test-ruby-package.gemspec deleted file mode 100644 index 771f333f4931..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/vendored_git/vendor/cache/dependabot-test-ruby-package-81073f9462f2/test-ruby-package.gemspec +++ /dev/null @@ -1,19 +0,0 @@ -# -*- encoding: utf-8 -*- -# stub: dependabot-test-ruby-package 1.0.0 ruby lib - -Gem::Specification.new do |s| - s.name = "dependabot-test-ruby-package".freeze - s.version = "1.0.0" - - s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib".freeze] - s.authors = ["Dependabot".freeze] - s.date = "2020-08-25" - s.email = "noreply@github.com".freeze - s.homepage = "http://github.com/dependabot-fixtures/dependabot-test-ruby-package".freeze - s.licenses = ["MIT".freeze] - s.rubygems_version = "3.1.2".freeze - s.summary = "A dummy package for testing Dependabot".freeze - - s.installed_by_version = "3.1.2" if s.respond_to? :installed_by_version -end diff --git a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gemfile/Gemfile deleted file mode 100644 index 773a61998562..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gemfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "> 1.0.0", "< 1.5.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gems_rb/gems.locked b/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gems_rb/gems.locked deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gems_rb/gems.locked +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gems_rb/gems.rb b/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gems_rb/gems.rb deleted file mode 100644 index 773a61998562..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_between_bounds_gems_rb/gems.rb +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "> 1.0.0", "< 1.5.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_conflict/Gemfile deleted file mode 100644 index 99b4eeedc6da..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "rspec-mocks", "3.5.0" -gem "rspec-support", "3.5.0" - -gem "diff-lcs", "1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_conflict/Gemfile.lock deleted file mode 100644 index de968b2b14e4..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict/Gemfile.lock +++ /dev/null @@ -1,19 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - diff-lcs (1.2.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - -PLATFORMS - ruby - -DEPENDENCIES - diff-lcs (= 1.2.0) - rspec-mocks (= 3.5.0) - rspec-support (= 3.5.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_gems_rb/gems.locked b/bundler/spec/fixtures/projects/bundler1/version_conflict_gems_rb/gems.locked deleted file mode 100644 index de968b2b14e4..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_gems_rb/gems.locked +++ /dev/null @@ -1,19 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - diff-lcs (1.2.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - -PLATFORMS - ruby - -DEPENDENCIES - diff-lcs (= 1.2.0) - rspec-mocks (= 3.5.0) - rspec-support (= 3.5.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_gems_rb/gems.rb b/bundler/spec/fixtures/projects/bundler1/version_conflict_gems_rb/gems.rb deleted file mode 100644 index 99b4eeedc6da..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_gems_rb/gems.rb +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "rspec-mocks", "3.5.0" -gem "rspec-support", "3.5.0" - -gem "diff-lcs", "1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_mutual_sub/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_conflict_mutual_sub/Gemfile deleted file mode 100644 index 7d275fdc37f5..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_mutual_sub/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -gem 'rspec-expectations', '~> 3.5.0' -gem 'rspec-mocks', '~> 3.5.0' diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_mutual_sub/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_conflict_mutual_sub/Gemfile.lock deleted file mode 100644 index cc22499af066..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_mutual_sub/Gemfile.lock +++ /dev/null @@ -1,21 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - diff-lcs (1.3) - rspec-expectations (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - -PLATFORMS - ruby - -DEPENDENCIES - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - -BUNDLED WITH - 1.16.0 diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change/Gemfile deleted file mode 100644 index 49ba196f091d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "ibandit", "~> 0.1" -gem "i18n", "~> 0.6" diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change/Gemfile.lock deleted file mode 100644 index e7b685091b02..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - i18n (0.6.11) - ibandit (0.1.1) - -PLATFORMS - ruby - -DEPENDENCIES - i18n (~> 0.6) - ibandit (~> 0.1) - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change_gems_rb/gems.locked b/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change_gems_rb/gems.locked deleted file mode 100644 index e7b685091b02..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change_gems_rb/gems.locked +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - i18n (0.6.11) - ibandit (0.1.1) - -PLATFORMS - ruby - -DEPENDENCIES - i18n (~> 0.6) - ibandit (~> 0.1) - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change_gems_rb/gems.rb b/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change_gems_rb/gems.rb deleted file mode 100644 index 49ba196f091d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_no_req_change_gems_rb/gems.rb +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "ibandit", "~> 0.1" -gem "i18n", "~> 0.6" diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_with_listed_subdep/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_conflict_with_listed_subdep/Gemfile deleted file mode 100644 index 2cf229a0fa02..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_with_listed_subdep/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "rspec-mocks" -gem "rspec-support" diff --git a/bundler/spec/fixtures/projects/bundler1/version_conflict_with_listed_subdep/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_conflict_with_listed_subdep/Gemfile.lock deleted file mode 100644 index 9b4195afbf11..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_conflict_with_listed_subdep/Gemfile.lock +++ /dev/null @@ -1,18 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - diff-lcs (1.3) - rspec-mocks (3.6.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.6.0) - rspec-support (3.6.0) - -PLATFORMS - ruby - -DEPENDENCIES - rspec-mocks - rspec-support - -BUNDLED WITH - 1.16.3 diff --git a/bundler/spec/fixtures/projects/bundler1/version_not_specified/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_not_specified/Gemfile deleted file mode 100644 index 3a258a2ac672..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_not_specified/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business" -gem "statesman" diff --git a/bundler/spec/fixtures/projects/bundler1/version_not_specified/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_not_specified/Gemfile.lock deleted file mode 100644 index 69318fc3b62d..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_not_specified/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business - statesman - -BUNDLED WITH - 1.14.6 diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile/Gemfile deleted file mode 100644 index 381ba235a887..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile/Gemfile.lock deleted file mode 100644 index 65d23b6c7468..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile/Gemfile.lock +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/Gemfile deleted file mode 100644 index 5809430d1b85..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "example", ">= 0.9.0", path: "plugins/example" -gem "prius", git: "https://github.com/dependabot-fixtures/prius" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/Gemfile.lock deleted file mode 100644 index 77ac72f9f302..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GIT - remote: https://github.com/dependabot-fixtures/prius - revision: cff701b3bfb182afc99a85657d7c9f3d6c1ccce2 - specs: - prius (1.0.0) - -PATH - remote: plugins/example - specs: - example (0.9.3) - i18n (>= 0.3.3) - -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - i18n (0.8.4) - statesman (1.2.5) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - example (>= 0.9.0)! - prius! - statesman (~> 1.2.0) - -BUNDLED WITH - 1.15.1 diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/plugins/example/.specification b/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/plugins/example/.specification deleted file mode 100644 index 46f47914a0b9..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_gemfile_specification/plugins/example/.specification +++ /dev/null @@ -1,245 +0,0 @@ ---- !ruby/object:Gem::Specification -name: statesman -version: !ruby/object:Gem::Version - version: 4.1.1 -platform: ruby -authors: -- GoCardless -autorequire: -bindir: bin -cert_chain: [] -date: 2019-07-06 00:00:00.000000000 Z -dependencies: -- !ruby/object:Gem::Dependency - name: ammeter - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' -- !ruby/object:Gem::Dependency - name: bundler - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.3' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.3' -- !ruby/object:Gem::Dependency - name: gc_ruboconfig - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 2.3.9 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 2.3.9 -- !ruby/object:Gem::Dependency - name: mysql2 - requirement: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0.4' - - - "<" - - !ruby/object:Gem::Version - version: '0.6' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0.4' - - - "<" - - !ruby/object:Gem::Version - version: '0.6' -- !ruby/object:Gem::Dependency - name: pg - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '0.18' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '0.18' -- !ruby/object:Gem::Dependency - name: pry - requirement: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' -- !ruby/object:Gem::Dependency - name: rails - requirement: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '3.2' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '3.2' -- !ruby/object:Gem::Dependency - name: rake - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 12.3.0 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 12.3.0 -- !ruby/object:Gem::Dependency - name: rspec - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' -- !ruby/object:Gem::Dependency - name: rspec-its - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '1.1' -- !ruby/object:Gem::Dependency - name: rspec-rails - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: '3.1' -- !ruby/object:Gem::Dependency - name: rspec_junit_formatter - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.4.0 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.4.0 -- !ruby/object:Gem::Dependency - name: sqlite3 - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 1.3.6 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 1.3.6 -- !ruby/object:Gem::Dependency - name: timecop - requirement: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.9.1 - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - "~>" - - !ruby/object:Gem::Version - version: 0.9.1 -description: A statesman-like state machine library -email: -- developers@gocardless.com -executables: [] -extensions: [] -extra_rdoc_files: [] -files: [] -homepage: https://github.com/gocardless/statesman -licenses: -- MIT -metadata: {} -post_install_message: -rdoc_options: [] -require_paths: -- lib -required_ruby_version: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '2.2' -required_rubygems_version: !ruby/object:Gem::Requirement - requirements: - - - ">=" - - !ruby/object:Gem::Version - version: '0' -requirements: [] -rubygems_version: 3.0.3 -signing_key: -specification_version: 4 -summary: A statesman-like state machine library -test_files: [] diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_gems_rb/gems.locked b/bundler/spec/fixtures/projects/bundler1/version_specified_gems_rb/gems.locked deleted file mode 100644 index ff0f28700125..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_gems_rb/gems.locked +++ /dev/null @@ -1,15 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - business (1.4.0) - statesman (1.2.1) - -PLATFORMS - ruby - -DEPENDENCIES - business (~> 1.4.0) - statesman (~> 1.2.0) - -BUNDLED WITH - 1.17.3 diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_gems_rb/gems.rb b/bundler/spec/fixtures/projects/bundler1/version_specified_gems_rb/gems.rb deleted file mode 100644 index 381ba235a887..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_gems_rb/gems.rb +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/version_specified_no_lockfile/Gemfile b/bundler/spec/fixtures/projects/bundler1/version_specified_no_lockfile/Gemfile deleted file mode 100644 index 381ba235a887..000000000000 --- a/bundler/spec/fixtures/projects/bundler1/version_specified_no_lockfile/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source "https://rubygems.org" - -gem "business", "~> 1.4.0" -gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/spec_helper.rb b/bundler/spec/spec_helper.rb index 6e76d874e91e..aa5091c6e732 100644 --- a/bundler/spec/spec_helper.rb +++ b/bundler/spec/spec_helper.rb @@ -12,16 +12,8 @@ def require_common_spec(path) require "#{common_dir}/spec/spec_helper.rb" module PackageManagerHelper - def self.use_bundler_1? - ENV["SUITE_NAME"] == "bundler1" - end - - def self.use_bundler_2? - !use_bundler_1? - end - def self.bundler_version - use_bundler_2? ? "2" : "1" + "2" end end @@ -45,7 +37,7 @@ def bundler_project_dependency_file(project, filename:) end def bundler_build_tmp_repo(project) - build_tmp_repo(project, path: "projects/bundler1") + build_tmp_repo(project, path: "projects/bundler2") end def suppress_output @@ -60,16 +52,6 @@ def suppress_output end RSpec.configure do |config| - config.around do |example| - if PackageManagerHelper.use_bundler_2? && example.metadata[:bundler_v1_only] - example.skip - elsif PackageManagerHelper.use_bundler_1? && example.metadata[:bundler_v2_only] - example.skip - else - example.run - end - end - config.after do # Cleanup side effects from cloning git gems, so that they don't interfere # with other specs. diff --git a/common/lib/dependabot.rb b/common/lib/dependabot.rb index d4bc494b5d72..b056f04a4931 100644 --- a/common/lib/dependabot.rb +++ b/common/lib/dependabot.rb @@ -2,5 +2,5 @@ # frozen_string_literal: true module Dependabot - VERSION = "0.280.0" + VERSION = "0.281.0" end diff --git a/common/lib/dependabot/metadata_finders/base/release_finder.rb b/common/lib/dependabot/metadata_finders/base/release_finder.rb index 3e7a6b6d1d4b..d92c9c7ac742 100644 --- a/common/lib/dependabot/metadata_finders/base/release_finder.rb +++ b/common/lib/dependabot/metadata_finders/base/release_finder.rb @@ -75,7 +75,7 @@ def all_dep_releases releases_with_dependency_name = releases .reject { |r| r.tag_name.nil? } - .select { |r| r.tag_name.downcase.include?(dep_prefix) } + .select { |r| r.tag_name.start_with?(dep_prefix) } return releases unless releases_with_dependency_name.any? diff --git a/common/spec/dependabot/metadata_finders/base/release_finder_spec.rb b/common/spec/dependabot/metadata_finders/base/release_finder_spec.rb index ac130c447227..5e30dcf3f19f 100644 --- a/common/spec/dependabot/metadata_finders/base/release_finder_spec.rb +++ b/common/spec/dependabot/metadata_finders/base/release_finder_spec.rb @@ -493,6 +493,21 @@ end end + context "when there are tags containing the dependency name as a substring" do + let(:dependency_name) { "React" } + let(:dependency_version) { "18.3.1" } + let(:dependency_previous_version) { "18.3.0" } + let(:github_response) { fixture("github", "releases_with_mixed_tag_formats.json") } + + it "doesn't filter out the tag when there are unrelated tags containing the package name" do + expect(releases_text) + .to eq( + "## 18.3.1 (April 26, 2024)\n" \ + "- Export `act` from `react` [f1338f](https://github.com/facebook/react/commit/f1338f8080abd1386454a10bbf93d67bfe37ce85)" + ) + end + end + context "without GitHub credentials" do let(:credentials) do [{ diff --git a/common/spec/dependabot/notices_spec.rb b/common/spec/dependabot/notices_spec.rb index 407d34abf2b9..cde5924755d1 100644 --- a/common/spec/dependabot/notices_spec.rb +++ b/common/spec/dependabot/notices_spec.rb @@ -35,9 +35,6 @@ def deprecated? sig { override.returns(T::Boolean) } def unsupported? - # Check if the feature flag for Bundler v1 unsupported error is enabled. - return false unless Dependabot::Experiments.enabled?(:bundler_v1_unsupported_error) - # Determine if the Bundler version is unsupported. version < supported_versions.first end @@ -129,6 +126,7 @@ def unsupported? end it "returns the correct deprecation notice" do + allow(package_manager).to receive(:unsupported?).and_return(false) expect(generate_pm_deprecation_notice.to_hash) .to eq({ mode: "WARN", diff --git a/common/spec/dependabot/pull_request_creator/message_builder_spec.rb b/common/spec/dependabot/pull_request_creator/message_builder_spec.rb index b0f068ef6515..e8d5389a3f15 100644 --- a/common/spec/dependabot/pull_request_creator/message_builder_spec.rb +++ b/common/spec/dependabot/pull_request_creator/message_builder_spec.rb @@ -168,15 +168,6 @@ def commits_details(base:, head:) end end - before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) - end - - after do - Dependabot::Experiments.reset! - end - describe "#pr_name" do subject(:pr_name) { builder.pr_name } diff --git a/common/spec/fixtures/github/releases_with_mixed_tag_formats.json b/common/spec/fixtures/github/releases_with_mixed_tag_formats.json new file mode 100644 index 000000000000..b1352fc9ab82 --- /dev/null +++ b/common/spec/fixtures/github/releases_with_mixed_tag_formats.json @@ -0,0 +1,159 @@ +[ + { + "url": "https://api.github.com/repos/facebook/react/releases/179537491", + "assets_url": "https://api.github.com/repos/facebook/react/releases/179537491/assets", + "upload_url": "https://uploads.github.com/repos/facebook/react/releases/179537491/assets{?name,label}", + "html_url": "https://github.com/facebook/react/releases/tag/eslint-plugin-react-hooks%405.0.0", + "id": 179537491, + "author": { + "login": "eps1lon", + "id": 12292047, + "node_id": "MDQ6VXNlcjEyMjkyMDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/12292047?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/eps1lon", + "html_url": "https://github.com/eps1lon", + "followers_url": "https://api.github.com/users/eps1lon/followers", + "following_url": "https://api.github.com/users/eps1lon/following{/other_user}", + "gists_url": "https://api.github.com/users/eps1lon/gists{/gist_id}", + "starred_url": "https://api.github.com/users/eps1lon/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/eps1lon/subscriptions", + "organizations_url": "https://api.github.com/users/eps1lon/orgs", + "repos_url": "https://api.github.com/users/eps1lon/repos", + "events_url": "https://api.github.com/users/eps1lon/events{/privacy}", + "received_events_url": "https://api.github.com/users/eps1lon/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOAJy2Ks4Ks4ZT", + "tag_name": "eslint-plugin-react-hooks@5.0.0", + "target_commitish": "main", + "name": "eslint-plugin-react-hooks@5.0.0 (Oct 11, 2024)", + "draft": false, + "prerelease": false, + "created_at": "2024-10-11T13:20:25Z", + "published_at": "2024-10-11T13:32:09Z", + "assets": [ + ], + "tarball_url": "https://api.github.com/repos/facebook/react/tarball/eslint-plugin-react-hooks@5.0.0", + "zipball_url": "https://api.github.com/repos/facebook/react/zipball/eslint-plugin-react-hooks@5.0.0", + "body": "This release only contains `eslint-plugin-react-hooks`. Notably, new violations and support for ESLint v9 were added.\r\n\r\n## `eslint-plugin-react-hooks`\r\n\r\n* **New Violations:** Component names now need to start with an uppercase letter instead of a non-lowercase letter. This means `_Button` or `_component` are no longer valid. ([@kassens](https://github.com/kassens)) in [#25162](https://github.com/facebook/react/pull/25162)\r\n For example, in\r\n ```tsx\r\n function _Component() {\r\n useState()\r\n ^^^^^^^^ A React Hook \"useState\" is called in function \"_Component\" which is neither a Component nor a custom React Hook function.\r\n }\r\n ```\r\n `_Component` should be renamed to `Component`.\r\n \r\n\r\n- Add support for ESLint v9. ([@eps1lon](https://github.com/eps1lon) in [#28773](https://github.com/facebook/react/pull/28773))\r\n- Consider dispatch from `useActionState` stable. ([@eps1lon](https://github.com/eps1lon) in [#29665](https://github.com/facebook/react/pull/29665))\r\n- Accept `as` expression in callback. ([@StyleShit](https://github.com/StyleShit) in [#28202](https://github.com/facebook/react/pull/28202))\r\n- Accept `as` expressions in deps array. ([@StyleShit](https://github.com/StyleShit) in [#28189](https://github.com/facebook/react/pull/28189))\r\n- Treat `React.use()` the same as `use()`. ([@kassens](https://github.com/kassens) in [#27769](https://github.com/facebook/react/pull/27769))\r\n- Move `use()` lint to non-experimental. ([@kassens](https://github.com/kassens) in [#27768](https://github.com/facebook/react/pull/27768))\r\n- Support Flow `as` expressions. ([@cpojer](https://github.com/cpojer) in [#27590](https://github.com/facebook/react/pull/27590))\r\n- Allow `useEffect(fn, undefined)`. ([@kassens](https://github.com/kassens) in [#27525](https://github.com/facebook/react/pull/27525))\r\n- Disallow hooks in async functions. ([@acdlite](https://github.com/acdlite) in [#27045](https://github.com/facebook/react/pull/27045))\r\n- Rename experimental `useEvent` to `useEffectEvent`. ([@sebmarkbage](https://github.com/sebmarkbage) in [#25881](https://github.com/facebook/react/pull/25881))\r\n- Lint for presence of `useEvent` functions in dependency lists. ([@poteto](https://github.com/poteto) in [#25512](https://github.com/facebook/react/pull/25512))\r\n- Check `useEvent` references instead. ([@poteto](https://github.com/poteto) in [#25319](https://github.com/facebook/react/pull/25319))\r\n- Update `RulesOfHooks` with `useEvent` rules. ([@poteto](https://github.com/poteto) in [#25285](https://github.com/facebook/react/pull/25285))", + "reactions": { + "url": "https://api.github.com/repos/facebook/react/releases/179537491/reactions", + "total_count": 289, + "+1": 122, + "-1": 0, + "laugh": 0, + "hooray": 61, + "confused": 0, + "heart": 46, + "rocket": 43, + "eyes": 17 + } + }, + { + "url": "https://api.github.com/repos/facebook/react/releases/153049289", + "assets_url": "https://api.github.com/repos/facebook/react/releases/153049289/assets", + "upload_url": "https://uploads.github.com/repos/facebook/react/releases/153049289/assets{?name,label}", + "html_url": "https://github.com/facebook/react/releases/tag/v18.3.1", + "id": 153049289, + "author": { + "login": "rickhanlonii", + "id": 2440089, + "node_id": "MDQ6VXNlcjI0NDAwODk=", + "avatar_url": "https://avatars.githubusercontent.com/u/2440089?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rickhanlonii", + "html_url": "https://github.com/rickhanlonii", + "followers_url": "https://api.github.com/users/rickhanlonii/followers", + "following_url": "https://api.github.com/users/rickhanlonii/following{/other_user}", + "gists_url": "https://api.github.com/users/rickhanlonii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rickhanlonii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rickhanlonii/subscriptions", + "organizations_url": "https://api.github.com/users/rickhanlonii/orgs", + "repos_url": "https://api.github.com/users/rickhanlonii/repos", + "events_url": "https://api.github.com/users/rickhanlonii/events{/privacy}", + "received_events_url": "https://api.github.com/users/rickhanlonii/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOAJy2Ks4JH1jJ", + "tag_name": "v18.3.1", + "target_commitish": "18-3-1", + "name": "18.3.1 (April 26, 2024)", + "draft": false, + "prerelease": false, + "created_at": "2024-04-26T16:17:57Z", + "published_at": "2024-04-26T19:53:42Z", + "assets": [ + ], + "tarball_url": "https://api.github.com/repos/facebook/react/tarball/v18.3.1", + "zipball_url": "https://api.github.com/repos/facebook/react/zipball/v18.3.1", + "body": "- Export `act` from `react` [f1338f](https://github.com/facebook/react/commit/f1338f8080abd1386454a10bbf93d67bfe37ce85)", + "reactions": { + "url": "https://api.github.com/repos/facebook/react/releases/153049289/reactions", + "total_count": 637, + "+1": 284, + "-1": 0, + "laugh": 77, + "hooray": 79, + "confused": 0, + "heart": 95, + "rocket": 88, + "eyes": 14 + } + }, + { + "url": "https://api.github.com/repos/facebook/react/releases/153048806", + "assets_url": "https://api.github.com/repos/facebook/react/releases/153048806/assets", + "upload_url": "https://uploads.github.com/repos/facebook/react/releases/153048806/assets{?name,label}", + "html_url": "https://github.com/facebook/react/releases/tag/v18.3.0", + "id": 153048806, + "author": { + "login": "rickhanlonii", + "id": 2440089, + "node_id": "MDQ6VXNlcjI0NDAwODk=", + "avatar_url": "https://avatars.githubusercontent.com/u/2440089?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rickhanlonii", + "html_url": "https://github.com/rickhanlonii", + "followers_url": "https://api.github.com/users/rickhanlonii/followers", + "following_url": "https://api.github.com/users/rickhanlonii/following{/other_user}", + "gists_url": "https://api.github.com/users/rickhanlonii/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rickhanlonii/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rickhanlonii/subscriptions", + "organizations_url": "https://api.github.com/users/rickhanlonii/orgs", + "repos_url": "https://api.github.com/users/rickhanlonii/repos", + "events_url": "https://api.github.com/users/rickhanlonii/events{/privacy}", + "received_events_url": "https://api.github.com/users/rickhanlonii/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOAJy2Ks4JH1bm", + "tag_name": "v18.3.0", + "target_commitish": "18-3", + "name": "18.3.0 (April 25, 2024)", + "draft": false, + "prerelease": false, + "created_at": "2024-04-25T16:22:01Z", + "published_at": "2024-04-26T19:48:51Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/facebook/react/tarball/v18.3.0", + "zipball_url": "https://api.github.com/repos/facebook/react/zipball/v18.3.0", + "body": "This release is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19.\r\n\r\nRead the [React 19 Upgrade Guide](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) for more info.\r\n\r\n### React\r\n\r\n- Allow writing to `this.refs` to support string ref codemod [909071](https://github.com/facebook/react/commit/9090712fd3ca4e1099e1f92e67933c2cb4f32552)\r\n- Warn for deprecated `findDOMNode` outside StrictMode [c3b283](https://github.com/facebook/react/commit/c3b283964108b0e8dbcf1f9eb2e7e67815e39dfb)\r\n- Warn for deprecated `test-utils` methods [d4ea75](https://github.com/facebook/react/commit/d4ea75dc4258095593b6ac764289f42bddeb835c)\r\n- Warn for deprecated Legacy Context outside StrictMode [415ee0](https://github.com/facebook/react/commit/415ee0e6ea0fe3e288e65868df2e3241143d5f7f)\r\n- Warn for deprecated string refs outside StrictMode [#25383](https://github.com/facebook/react/pull/25383)\r\n- Warn for deprecated `defaultProps` for function components [#25699](https://github.com/facebook/react/pull/25699)\r\n- Warn when spreading `key` [#25697](https://github.com/facebook/react/pull/25697)\r\n- Warn when using `act` from `test-utils` [d4ea75](https://github.com/facebook/react/commit/d4ea75dc4258095593b6ac764289f42bddeb835c)\r\n\r\n### React DOM\r\n- Warn for deprecated `unmountComponentAtNode` [8a015b](https://github.com/facebook/react/commit/8a015b68cc060079878e426610e64e86fb328f8d)\r\n- Warn for deprecated `renderToStaticNodeStream` [#28874](https://github.com/facebook/react/pull/28874)\r\n", + "reactions": { + "url": "https://api.github.com/repos/facebook/react/releases/153048806/reactions", + "total_count": 289, + "+1": 113, + "-1": 0, + "laugh": 24, + "hooray": 39, + "confused": 0, + "heart": 48, + "rocket": 61, + "eyes": 4 + } + } +] diff --git a/npm_and_yarn/helpers/package-lock.json b/npm_and_yarn/helpers/package-lock.json index 4dd10e2bb6c7..c25b624fd781 100644 --- a/npm_and_yarn/helpers/package-lock.json +++ b/npm_and_yarn/helpers/package-lock.json @@ -8,14 +8,14 @@ "hasInstallScript": true, "dependencies": { "@dependabot/yarn-lib": "^1.22.22", - "@npmcli/arborist": "^7.5.4", + "@npmcli/arborist": "^8.0.0", "@pnpm/dependency-path": "^5.1.1", "@pnpm/lockfile-file": "^9.1.2", "detect-indent": "^6.1.0", - "nock": "^13.5.4", + "nock": "^13.5.5", "npm": "6.14.18", "patch-package": "^8.0.0", - "semver": "^7.6.2" + "semver": "^7.6.3" }, "bin": { "helper": "run.js" @@ -893,9 +893,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -965,6 +965,17 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", @@ -1904,11 +1915,11 @@ } }, "node_modules/@npmcli/agent/node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1932,9 +1943,9 @@ } }, "node_modules/@npmcli/agent/node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -1943,62 +1954,57 @@ "node": ">= 14" } }, - "node_modules/@npmcli/agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/@npmcli/agent/node_modules/socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", "dependencies": { "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" } }, "node_modules/@npmcli/arborist": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz", - "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-8.0.0.tgz", + "integrity": "sha512-APDXxtXGSftyXibl0dZ3CuZYmmVnkiN3+gkqwXshY4GKC2rof2+Lg0sGuj6H1p2YfBAKd7PRwuMVhu6Pf/nQ/A==", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.1", - "@npmcli/installed-package-contents": "^2.1.0", - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.1.1", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.1.0", - "@npmcli/query": "^3.1.0", - "@npmcli/redact": "^2.0.0", - "@npmcli/run-script": "^8.1.0", - "bin-links": "^4.0.4", - "cacache": "^18.0.3", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.2", - "json-parse-even-better-errors": "^3.0.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", "json-stringify-nice": "^1.1.4", "lru-cache": "^10.2.2", "minimatch": "^9.0.4", - "nopt": "^7.2.1", - "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.1", - "npm-registry-fetch": "^17.0.1", - "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.0", - "proc-log": "^4.2.0", - "proggy": "^2.0.0", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^3.0.2", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "ssri": "^10.0.6", + "ssri": "^12.0.0", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, @@ -2006,7 +2012,7 @@ "arborist": "bin/index.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/arborist/node_modules/brace-expansion": { @@ -2018,11 +2024,11 @@ } }, "node_modules/@npmcli/arborist/node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/arborist/node_modules/minimatch": { @@ -2040,43 +2046,52 @@ } }, "node_modules/@npmcli/arborist/node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dependencies": { "minipass": "^7.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", "dependencies": { "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/git": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.7.tgz", - "integrity": "sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.1.tgz", + "integrity": "sha512-BBWMMxeQzalmKadyimwb2/VVQyJB01PH0HhVSNLHNBDZN/M/h/02P6f8fxedIiFhpMj11SO9Ep5tKTBE7zL2nw==", "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^4.0.0" + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git/node_modules/ini": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/git/node_modules/isexe": { @@ -2088,9 +2103,9 @@ } }, "node_modules/@npmcli/git/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dependencies": { "isexe": "^3.1.1" }, @@ -2098,36 +2113,36 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/installed-package-contents": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", - "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "bin": { "installed-package-contents": "bin/index.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/map-workspaces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.2.tgz", - "integrity": "sha512-bCEC4PG7HbadtAYkW/TTUVNEOSr5Dhfmv6yGLgByJgCvdCqq7teq09cjvJ1LhzJU/euWjvYMcQxsfj7yDD2ikg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-4.0.1.tgz", + "integrity": "sha512-g5H8ljH7Z+4T1ASsfcL09gZl4YGw6M4GbjzPt6HgE+pCRSKC4nlNc4nY75zshi88eEHcdoh3Q8XgWFkGKoVOPw==", "dependencies": { - "@npmcli/name-from-folder": "^2.0.0", - "glob": "^8.0.1", - "minimatch": "^6.1.6", - "read-package-json-fast": "^3.0.0" + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { @@ -2139,102 +2154,92 @@ } }, "node_modules/@npmcli/map-workspaces/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=12" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/map-workspaces/node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz", - "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@npmcli/metavuln-calculator": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz", - "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-8.0.0.tgz", + "integrity": "sha512-zR2TGfhR8fH1u4VRz9fuC7r1nI9dweViRDsFnMH8J89OA90lJNwF6idTttEzYSWaOTW4NVoAIB6+ujV+/wI+kg==", "dependencies": { - "cacache": "^18.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^18.0.0", - "proc-log": "^4.1.0", + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/metavuln-calculator/node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", - "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-3.0.0.tgz", + "integrity": "sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/package-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", - "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.0.1.tgz", + "integrity": "sha512-YW6PZ99sc1Q4DINEY2td5z9Z3rwbbsx7CyCnOc7UXUUdePXh5gPi1UeaoQVmKQMVbIU7aOwX2l1OG5ZfjgGi5g==", "dependencies": { - "@npmcli/git": "^5.0.0", + "@npmcli/git": "^6.0.0", "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "normalize-package-data": "^7.0.0", + "proc-log": "^5.0.0", "semver": "^7.5.3" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/package-json/node_modules/brace-expansion": { @@ -2246,9 +2251,9 @@ } }, "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -2260,25 +2265,22 @@ "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2290,14 +2292,14 @@ } }, "node_modules/@npmcli/promise-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", - "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.1.tgz", + "integrity": "sha512-ZscqKtJqy7oj6MgXEJcHQ1om4utU0Q84QtC28UVuiO6ALSO9sDPanXdu6Wd1oYhItW8fx2u96zRFUE8BuPlAjA==", "dependencies": { - "which": "^4.0.0" + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/promise-spawn/node_modules/isexe": { @@ -2309,9 +2311,9 @@ } }, "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dependencies": { "isexe": "^3.1.1" }, @@ -2319,42 +2321,42 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/query": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", - "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-4.0.0.tgz", + "integrity": "sha512-3pPbese0fbCiFJ/7/X1GBgxAKYFE8sxBddA7GtuRmOgNseH4YbGsXJ807Ig3AEwNITjDUISHglvy89cyDJnAwA==", "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.1.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/redact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", - "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.0.0.tgz", + "integrity": "sha512-/1uFzjVcfzqrgCeGW7+SZ4hv0qLWmKXVzFahZGJ6QuJBj6Myt9s17+JL86i76NV9YSnJRcGXJYQbAU0rn1YTCQ==", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/run-script": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", - "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.0.1.tgz", + "integrity": "sha512-q9C0uHrb6B6cm3qXVM32UmpqTKuFGbtP23O2K5sLvPMz2hilKd0ptqGXSpuunOuOmPQb/aT5F/kCXFc1P2gO/A==", "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" + "proc-log": "^5.0.0", + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@npmcli/run-script/node_modules/isexe": { @@ -2366,9 +2368,9 @@ } }, "node_modules/@npmcli/run-script/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dependencies": { "isexe": "^3.1.1" }, @@ -2376,7 +2378,7 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@pkgjs/parseargs": { @@ -2878,6 +2880,14 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@sigstore/sign/node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@sigstore/tuf": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", @@ -2964,9 +2974,9 @@ } }, "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3600,17 +3610,41 @@ } }, "node_modules/bin-links": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz", - "integrity": "sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-5.0.0.tgz", + "integrity": "sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA==", "dependencies": { - "cmd-shim": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "read-cmd-shim": "^4.0.0", - "write-file-atomic": "^5.0.0" + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/bin-links/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/bin-links/node_modules/write-file-atomic": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz", + "integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/bl": { @@ -3768,11 +3802,11 @@ } }, "node_modules/cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", "dependencies": { - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", @@ -3780,13 +3814,13 @@ "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/cacache/node_modules/brace-expansion": { @@ -3798,9 +3832,9 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -3812,17 +3846,14 @@ "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3834,14 +3865,14 @@ } }, "node_modules/cacache/node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dependencies": { "minipass": "^7.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/call-bind": { @@ -3926,11 +3957,11 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/ci-info": { @@ -4031,11 +4062,11 @@ } }, "node_modules/cmd-shim": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.3.tgz", - "integrity": "sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-7.0.0.tgz", + "integrity": "sha512-rtpaCbr164TPPh+zFdkWpCyZuKkjpAzODfaZCf/SVJZzJN+4bHQb/LP3Jzq5/+84um3XXY8r548XiWKSborwVw==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/co": { @@ -5194,9 +5225,9 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -5579,14 +5610,14 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz", + "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==", "dependencies": { "lru-cache": "^10.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/html-escaper": { @@ -5718,14 +5749,14 @@ } }, "node_modules/ignore-walk": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", - "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz", + "integrity": "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==", "dependencies": { "minimatch": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/ignore-walk/node_modules/brace-expansion": { @@ -5737,9 +5768,9 @@ } }, "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -6354,15 +6385,12 @@ } }, "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -8240,14 +8268,14 @@ } }, "node_modules/just-diff": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.1.1.tgz", - "integrity": "sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ==" + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==" }, "node_modules/just-diff-apply": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.4.1.tgz", - "integrity": "sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g==" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==" }, "node_modules/keyv": { "version": "4.5.4", @@ -8394,12 +8422,9 @@ } }, "node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/make-dir": { "version": "4.0.0", @@ -8438,35 +8463,218 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dependencies": { - "minipass": "^7.0.3" + "semver": "^7.3.5" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, + "node_modules/make-fetch-happen/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "tmpl": "1.0.5" + "balanced-match": "^1.0.0" } }, - "node_modules/math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } }, - "node_modules/merge-stream": { + "node_modules/make-fetch-happen/node_modules/chownr": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/make-fetch-happen/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen/node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/make-fetch-happen/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-fetch-happen/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/micromatch": { "version": "2.3.11", @@ -8793,9 +9001,9 @@ "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==" }, "node_modules/nock": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz", - "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==", + "version": "13.5.5", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.5.tgz", + "integrity": "sha512-XKYnqUrCwXC8DGG1xX4YH5yNIrlh9c065uaMZZHUoeUUINTOyt+x/G+ezYk0Ft6ExSREVIs+qBJDK503viTfFA==", "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -8848,9 +9056,9 @@ } }, "node_modules/node-gyp": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", - "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", @@ -8858,9 +9066,9 @@ "graceful-fs": "^4.2.6", "make-fetch-happen": "^13.0.0", "nopt": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5", - "tar": "^6.1.2", + "tar": "^6.2.1", "which": "^4.0.0" }, "bin": { @@ -8878,10 +9086,40 @@ "balanced-match": "^1.0.0" } }, + "node_modules/node-gyp/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-gyp/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/node-gyp/node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -8893,9 +9131,6 @@ "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -8909,9 +9144,9 @@ } }, "node_modules/node-gyp/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -8922,14 +9157,63 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/node-gyp/node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/node-gyp/node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -8957,9 +9241,9 @@ "dev": true }, "node_modules/nopt": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.0.0.tgz", + "integrity": "sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw==", "dependencies": { "abbrev": "^2.0.0" }, @@ -8967,21 +9251,20 @@ "nopt": "bin/nopt.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/normalize-package-data": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", - "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.0.tgz", + "integrity": "sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==", "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", + "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/normalize-path": { @@ -9264,99 +9547,238 @@ "npx": "bin/npx-cli.js" }, "engines": { - "node": "6 >=6.2.0 || 8 || >=9.3.0" + "node": "6 >=6.2.0 || 8 || >=9.3.0" + } + }, + "node_modules/npm-bundled": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-install-checks": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.0.tgz", + "integrity": "sha512-bkTildVlofeMX7wiOaWk3PlW7YcBXAuEc7TWpOxwUgalG5ZvgT/ms+6OX9zt7iGLv4+VhKbRZhpOfgQJzk1YAw==", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-logical-tree": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz", + "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg==" + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-package-arg": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.0.tgz", + "integrity": "sha512-ZTE0hbwSdTNL+Stx2zxSqdu2KZfNDcrtrLdIk7XGnQFYBWYDho/ORvXtn5XEePcL3tFpGjHCV3X3xrtDh7eZ+A==", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-packlist": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz", + "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==", + "dependencies": { + "ignore-walk": "^7.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", + "dependencies": { + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.1.tgz", + "integrity": "sha512-5XKlWmVtfTTmnU6rKBjjQDMdnFOVAH9t7D4DG1ZcsIDwkGYBTUl0fMnbzsVSM0t/HZRpyE1VMLZv9O0Bvkj3UA==", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/npm-bundled": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", - "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "node_modules/npm-registry-fetch/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "ms": "^2.1.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/npm-install-checks": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dependencies": { - "semver": "^7.1.1" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 14" } }, - "node_modules/npm-logical-tree": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz", - "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg==" + "node_modules/npm-registry-fetch/node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", - "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.1.tgz", + "integrity": "sha512-Z1ndm71UQdcK362F5Wg4IFRBZq4MGeCz+uor5iPROkSjEWEoc1Zn7OSKPvmg01S9XOI8mr+GlRr+W4ABz4ZgdA==", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm-package-arg": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz", - "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==", + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.0.tgz", + "integrity": "sha512-2v6aXUXwLP1Epd/gc32HAMIWoczx+fZwEPRHm/VwtrJzRGwR1qGZXEYV3Zp8ZjjbwaZhMrM6uHV4KVkk+XCc2w==", "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/npm-packlist": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", - "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "node_modules/npm-registry-fetch/node_modules/minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", "dependencies": { - "ignore-walk": "^6.0.4" + "minipass": "^7.0.4", + "rimraf": "^5.0.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 18" } }, - "node_modules/npm-pick-manifest": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.1.tgz", - "integrity": "sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==", + "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", - "semver": "^7.3.5" + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 14" } }, - "node_modules/npm-registry-fetch": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", - "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "node_modules/npm-registry-fetch/node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dependencies": { - "@npmcli/redact": "^2.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm-run-path": { @@ -13624,14 +14046,11 @@ } }, "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", + "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -13647,49 +14066,114 @@ } }, "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, "node_modules/pacote": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", - "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", - "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-19.0.0.tgz", + "integrity": "sha512-953pUJqILTeaRvKFcQ78unsNc3Nl4PyVHTTsAUmvSmJ0NXs0LTWKAl5tMF2CXPRXA16RdCMYI9EKlV4CCi2T5g==", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^2.2.0", - "ssri": "^10.0.0", + "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "bin/index.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/pacote/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/pacote/node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dependencies": { "minipass": "^7.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/pacote/node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/pacote/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pacote/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" } }, "node_modules/pako": { @@ -13710,24 +14194,24 @@ } }, "node_modules/parse-conflict-json": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.0.tgz", - "integrity": "sha512-ipcKLCmZbAj7n+h9qQREvdvsBUMPetGk9mM4ljCvs5inZznAlkHPk5XPc7ROtknUKw7kO6Jnz10Y3Eec7tky/A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-4.0.0.tgz", + "integrity": "sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ==", "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "just-diff": "^5.0.1", + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/parse-conflict-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/parse-glob": { @@ -14030,9 +14514,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14108,11 +14592,11 @@ } }, "node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/process-nextick-args": { @@ -14121,11 +14605,11 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/proggy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/proggy/-/proggy-2.0.0.tgz", - "integrity": "sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proggy/-/proggy-3.0.0.tgz", + "integrity": "sha512-QE8RApCM3IaRRxVzxrjbgNMpQEX6Wu0p0KBeoSiSEw5/bsGwZHsshF4LCxH2jp/r6BU+bqA3LrMDEYNfJnpD8Q==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/promise-all-reject-late": { @@ -14356,31 +14840,31 @@ } }, "node_modules/read-cmd-shim": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", - "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-5.0.0.tgz", + "integrity": "sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/readable-stream": { @@ -14620,6 +15104,61 @@ "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.3.tgz", "integrity": "sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==" }, + "node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rsvp": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", @@ -14691,9 +15230,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -15132,19 +15671,19 @@ } }, "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/tar-fs": { @@ -15187,47 +15726,40 @@ }, "engines": { "node": ">= 0.8.0" - } - }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + } + }, + "node_modules/tar/node_modules/minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, "engines": { - "node": ">=8" + "node": ">= 18" } }, "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "bin": { - "mkdirp": "bin/cmd.js" + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "engines": { + "node": ">=18" } }, "node_modules/test-exclude": { @@ -15360,11 +15892,11 @@ } }, "node_modules/tuf-js/node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -15375,11 +15907,6 @@ } } }, - "node_modules/tuf-js/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -15418,25 +15945,25 @@ } }, "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", "dependencies": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/universalify": { @@ -15527,11 +16054,11 @@ } }, "node_modules/validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz", + "integrity": "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/verror": { @@ -16529,9 +17056,9 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" }, "ansi-styles": { "version": "6.2.1", @@ -16573,6 +17100,14 @@ } } }, + "@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "requires": { + "minipass": "^7.0.4" + } + }, "@isaacs/string-locale-compare": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", @@ -17277,11 +17812,11 @@ } }, "debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } }, "http-proxy-agent": { @@ -17294,69 +17829,64 @@ } }, "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "requires": { "agent-base": "^7.0.2", "debug": "4" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", "requires": { "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" } } } }, "@npmcli/arborist": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz", - "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-8.0.0.tgz", + "integrity": "sha512-APDXxtXGSftyXibl0dZ3CuZYmmVnkiN3+gkqwXshY4GKC2rof2+Lg0sGuj6H1p2YfBAKd7PRwuMVhu6Pf/nQ/A==", "requires": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.1", - "@npmcli/installed-package-contents": "^2.1.0", - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.1.1", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.1.0", - "@npmcli/query": "^3.1.0", - "@npmcli/redact": "^2.0.0", - "@npmcli/run-script": "^8.1.0", - "bin-links": "^4.0.4", - "cacache": "^18.0.3", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.2", - "json-parse-even-better-errors": "^3.0.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", "json-stringify-nice": "^1.1.4", "lru-cache": "^10.2.2", "minimatch": "^9.0.4", - "nopt": "^7.2.1", - "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.1", - "npm-registry-fetch": "^17.0.1", - "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.0", - "proc-log": "^4.2.0", - "proggy": "^2.0.0", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^3.0.2", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "ssri": "^10.0.6", + "ssri": "^12.0.0", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, @@ -17370,9 +17900,9 @@ } }, "json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==" }, "minimatch": { "version": "9.0.4", @@ -17383,9 +17913,9 @@ } }, "ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "requires": { "minipass": "^7.0.3" } @@ -17393,37 +17923,43 @@ } }, "@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", "requires": { "semver": "^7.3.5" } }, "@npmcli/git": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.7.tgz", - "integrity": "sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.1.tgz", + "integrity": "sha512-BBWMMxeQzalmKadyimwb2/VVQyJB01PH0HhVSNLHNBDZN/M/h/02P6f8fxedIiFhpMj11SO9Ep5tKTBE7zL2nw==", "requires": { - "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^4.0.0" + "which": "^5.0.0" }, "dependencies": { + "ini": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==" + }, "isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" }, "which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "requires": { "isexe": "^3.1.1" } @@ -17431,23 +17967,23 @@ } }, "@npmcli/installed-package-contents": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", - "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", "requires": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" } }, "@npmcli/map-workspaces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.2.tgz", - "integrity": "sha512-bCEC4PG7HbadtAYkW/TTUVNEOSr5Dhfmv6yGLgByJgCvdCqq7teq09cjvJ1LhzJU/euWjvYMcQxsfj7yDD2ikg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-4.0.1.tgz", + "integrity": "sha512-g5H8ljH7Z+4T1ASsfcL09gZl4YGw6M4GbjzPt6HgE+pCRSKC4nlNc4nY75zshi88eEHcdoh3Q8XgWFkGKoVOPw==", "requires": { - "@npmcli/name-from-folder": "^2.0.0", - "glob": "^8.0.1", - "minimatch": "^6.1.6", - "read-package-json-fast": "^3.0.0" + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0" }, "dependencies": { "brace-expansion": { @@ -17459,31 +17995,22 @@ } }, "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "dependencies": { - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" } }, "minimatch": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz", - "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } @@ -17491,45 +18018,45 @@ } }, "@npmcli/metavuln-calculator": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz", - "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-8.0.0.tgz", + "integrity": "sha512-zR2TGfhR8fH1u4VRz9fuC7r1nI9dweViRDsFnMH8J89OA90lJNwF6idTttEzYSWaOTW4NVoAIB6+ujV+/wI+kg==", "requires": { - "cacache": "^18.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^18.0.0", - "proc-log": "^4.1.0", + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5" }, "dependencies": { "json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==" } } }, "@npmcli/name-from-folder": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", - "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-3.0.0.tgz", + "integrity": "sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA==" }, "@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==" }, "@npmcli/package-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", - "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.0.1.tgz", + "integrity": "sha512-YW6PZ99sc1Q4DINEY2td5z9Z3rwbbsx7CyCnOc7UXUUdePXh5gPi1UeaoQVmKQMVbIU7aOwX2l1OG5ZfjgGi5g==", "requires": { - "@npmcli/git": "^5.0.0", + "@npmcli/git": "^6.0.0", "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "normalize-package-data": "^7.0.0", + "proc-log": "^5.0.0", "semver": "^7.5.3" }, "dependencies": { @@ -17542,9 +18069,9 @@ } }, "glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "requires": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -17555,14 +18082,14 @@ } }, "json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==" }, "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } @@ -17570,11 +18097,11 @@ } }, "@npmcli/promise-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", - "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.1.tgz", + "integrity": "sha512-ZscqKtJqy7oj6MgXEJcHQ1om4utU0Q84QtC28UVuiO6ALSO9sDPanXdu6Wd1oYhItW8fx2u96zRFUE8BuPlAjA==", "requires": { - "which": "^4.0.0" + "which": "^5.0.0" }, "dependencies": { "isexe": { @@ -17583,9 +18110,9 @@ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" }, "which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "requires": { "isexe": "^3.1.1" } @@ -17593,29 +18120,29 @@ } }, "@npmcli/query": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", - "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-4.0.0.tgz", + "integrity": "sha512-3pPbese0fbCiFJ/7/X1GBgxAKYFE8sxBddA7GtuRmOgNseH4YbGsXJ807Ig3AEwNITjDUISHglvy89cyDJnAwA==", "requires": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.1.2" } }, "@npmcli/redact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", - "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.0.0.tgz", + "integrity": "sha512-/1uFzjVcfzqrgCeGW7+SZ4hv0qLWmKXVzFahZGJ6QuJBj6Myt9s17+JL86i76NV9YSnJRcGXJYQbAU0rn1YTCQ==" }, "@npmcli/run-script": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", - "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.0.1.tgz", + "integrity": "sha512-q9C0uHrb6B6cm3qXVM32UmpqTKuFGbtP23O2K5sLvPMz2hilKd0ptqGXSpuunOuOmPQb/aT5F/kCXFc1P2gO/A==", "requires": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" + "proc-log": "^5.0.0", + "which": "^5.0.0" }, "dependencies": { "isexe": { @@ -17624,9 +18151,9 @@ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" }, "which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "requires": { "isexe": "^3.1.1" } @@ -17968,6 +18495,13 @@ "make-fetch-happen": "^13.0.1", "proc-log": "^4.2.0", "promise-retry": "^2.0.1" + }, + "dependencies": { + "proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==" + } } }, "@sigstore/tuf": { @@ -18041,9 +18575,9 @@ } }, "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } @@ -18542,14 +19076,31 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "bin-links": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz", - "integrity": "sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-5.0.0.tgz", + "integrity": "sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA==", "requires": { - "cmd-shim": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "read-cmd-shim": "^4.0.0", - "write-file-atomic": "^5.0.0" + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "write-file-atomic": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz", + "integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==", + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + } + } } }, "bl": { @@ -18677,11 +19228,11 @@ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, "cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", "requires": { - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", @@ -18689,10 +19240,10 @@ "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "dependencies": { "brace-expansion": { @@ -18704,9 +19255,9 @@ } }, "glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "requires": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -18717,17 +19268,17 @@ } }, "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } }, "ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "requires": { "minipass": "^7.0.3" } @@ -18787,9 +19338,9 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==" }, "ci-info": { "version": "1.6.0", @@ -18871,9 +19422,9 @@ } }, "cmd-shim": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.3.tgz", - "integrity": "sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-7.0.0.tgz", + "integrity": "sha512-rtpaCbr164TPPh+zFdkWpCyZuKkjpAzODfaZCf/SVJZzJN+4bHQb/LP3Jzq5/+84um3XXY8r548XiWKSborwVw==" }, "co": { "version": "4.6.0", @@ -19735,9 +20286,9 @@ } }, "foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "requires": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -20024,9 +20575,9 @@ } }, "hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz", + "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==", "requires": { "lru-cache": "^10.0.1" } @@ -20129,9 +20680,9 @@ "dev": true }, "ignore-walk": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", - "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz", + "integrity": "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==", "requires": { "minimatch": "^9.0.0" }, @@ -20145,9 +20696,9 @@ } }, "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } @@ -20601,9 +21152,9 @@ } }, "jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -21986,14 +22537,14 @@ } }, "just-diff": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.1.1.tgz", - "integrity": "sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ==" + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==" }, "just-diff-apply": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.4.1.tgz", - "integrity": "sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g==" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==" }, "keyv": { "version": "4.5.4", @@ -22115,9 +22666,9 @@ } }, "lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==" + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "make-dir": { "version": "4.0.0", @@ -22147,12 +22698,145 @@ "ssri": "^10.0.0" }, "dependencies": { + "@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "requires": { + "semver": "^7.3.5" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "requires": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==" + }, "ssri": { "version": "10.0.6", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "requires": { - "minipass": "^7.0.3" + "minipass": "^7.0.3" + } + }, + "tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + } + } + }, + "unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "requires": { + "unique-slug": "^4.0.0" + } + }, + "unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "requires": { + "imurmurhash": "^0.1.4" } } } @@ -22435,9 +23119,9 @@ "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==" }, "nock": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz", - "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==", + "version": "13.5.5", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.5.tgz", + "integrity": "sha512-XKYnqUrCwXC8DGG1xX4YH5yNIrlh9c065uaMZZHUoeUUINTOyt+x/G+ezYk0Ft6ExSREVIs+qBJDK503viTfFA==", "requires": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -22477,9 +23161,9 @@ } }, "node-gyp": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", - "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", "requires": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", @@ -22487,9 +23171,9 @@ "graceful-fs": "^4.2.6", "make-fetch-happen": "^13.0.0", "nopt": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5", - "tar": "^6.1.2", + "tar": "^6.2.1", "which": "^4.0.0" }, "dependencies": { @@ -22501,10 +23185,33 @@ "balanced-match": "^1.0.0" } }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, "glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "requires": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -22520,17 +23227,50 @@ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" }, "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "requires": { + "abbrev": "^2.0.0" + } + }, "proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==" + }, + "tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + } + } }, "which": { "version": "4.0.0", @@ -22555,20 +23295,19 @@ "dev": true }, "nopt": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.0.0.tgz", + "integrity": "sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw==", "requires": { "abbrev": "^2.0.0" } }, "normalize-package-data": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", - "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.0.tgz", + "integrity": "sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==", "requires": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", + "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } @@ -25817,17 +26556,17 @@ } }, "npm-bundled": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", - "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", "requires": { - "npm-normalize-package-bin": "^3.0.0" + "npm-normalize-package-bin": "^4.0.0" } }, "npm-install-checks": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.0.tgz", + "integrity": "sha512-bkTildVlofeMX7wiOaWk3PlW7YcBXAuEc7TWpOxwUgalG5ZvgT/ms+6OX9zt7iGLv4+VhKbRZhpOfgQJzk1YAw==", "requires": { "semver": "^7.1.1" } @@ -25838,53 +26577,157 @@ "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg==" }, "npm-normalize-package-bin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", - "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==" }, "npm-package-arg": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz", - "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.0.tgz", + "integrity": "sha512-ZTE0hbwSdTNL+Stx2zxSqdu2KZfNDcrtrLdIk7XGnQFYBWYDho/ORvXtn5XEePcL3tFpGjHCV3X3xrtDh7eZ+A==", "requires": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" } }, "npm-packlist": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", - "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz", + "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==", "requires": { - "ignore-walk": "^6.0.4" + "ignore-walk": "^7.0.0" } }, "npm-pick-manifest": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.1.tgz", - "integrity": "sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", "requires": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", "semver": "^7.3.5" } }, "npm-registry-fetch": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", - "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.1.tgz", + "integrity": "sha512-5XKlWmVtfTTmnU6rKBjjQDMdnFOVAH9t7D4DG1ZcsIDwkGYBTUl0fMnbzsVSM0t/HZRpyE1VMLZv9O0Bvkj3UA==", "requires": { - "@npmcli/redact": "^2.0.0", + "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", + "make-fetch-happen": "^14.0.0", "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "dependencies": { + "@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "requires": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + } + }, + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "requires": { + "debug": "^4.3.4" + } + }, + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "requires": { + "ms": "^2.1.3" + } + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "make-fetch-happen": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.1.tgz", + "integrity": "sha512-Z1ndm71UQdcK362F5Wg4IFRBZq4MGeCz+uor5iPROkSjEWEoc1Zn7OSKPvmg01S9XOI8mr+GlRr+W4ABz4ZgdA==", + "requires": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + } + }, + "minipass-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.0.tgz", + "integrity": "sha512-2v6aXUXwLP1Epd/gc32HAMIWoczx+fZwEPRHm/VwtrJzRGwR1qGZXEYV3Zp8ZjjbwaZhMrM6uHV4KVkk+XCc2w==", + "requires": { + "encoding": "^0.1.13", + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + } + }, + "minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "requires": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + } + }, + "socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "requires": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + } + }, + "ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "requires": { + "minipass": "^7.0.3" + } + } } }, "npm-run-path": { @@ -26012,12 +26855,9 @@ } }, "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", + "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==" }, "p-try": { "version": "2.2.0", @@ -26026,41 +26866,89 @@ "dev": true }, "package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, "pacote": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", - "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", - "requires": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-19.0.0.tgz", + "integrity": "sha512-953pUJqILTeaRvKFcQ78unsNc3Nl4PyVHTTsAUmvSmJ0NXs0LTWKAl5tMF2CXPRXA16RdCMYI9EKlV4CCi2T5g==", + "requires": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^2.2.0", - "ssri": "^10.0.0", + "ssri": "^12.0.0", "tar": "^6.1.11" }, "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, "ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "requires": { "minipass": "^7.0.3" } + }, + "tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + } + } } } }, @@ -26079,19 +26967,19 @@ } }, "parse-conflict-json": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.0.tgz", - "integrity": "sha512-ipcKLCmZbAj7n+h9qQREvdvsBUMPetGk9mM4ljCvs5inZznAlkHPk5XPc7ROtknUKw7kO6Jnz10Y3Eec7tky/A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-4.0.0.tgz", + "integrity": "sha512-37CN2VtcuvKgHUs8+0b1uJeEsbGn61GRHz469C94P5xiOoqpDYJYwjg4RY9Vmz39WyZAVkR5++nbJwLMIgOCnQ==", "requires": { - "json-parse-even-better-errors": "^3.0.0", - "just-diff": "^5.0.1", + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" }, "dependencies": { "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==" } } }, @@ -26308,9 +27196,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -26358,9 +27246,9 @@ } }, "proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==" }, "process-nextick-args": { "version": "2.0.1", @@ -26368,9 +27256,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "proggy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/proggy/-/proggy-2.0.0.tgz", - "integrity": "sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proggy/-/proggy-3.0.0.tgz", + "integrity": "sha512-QE8RApCM3IaRRxVzxrjbgNMpQEX6Wu0p0KBeoSiSEw5/bsGwZHsshF4LCxH2jp/r6BU+bqA3LrMDEYNfJnpD8Q==" }, "promise-all-reject-late": { "version": "1.0.1", @@ -26532,23 +27420,23 @@ } }, "read-cmd-shim": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", - "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-5.0.0.tgz", + "integrity": "sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw==" }, "read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", "requires": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "dependencies": { "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==" } } }, @@ -26739,6 +27627,45 @@ "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.3.tgz", "integrity": "sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==" }, + "rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "requires": { + "glob": "^10.3.7" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "rsvp": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", @@ -26787,9 +27714,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" }, "shebang-command": { "version": "2.0.0", @@ -27129,45 +28056,36 @@ } }, "tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "dependencies": { - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } + "minipass": "^7.0.4", + "rimraf": "^5.0.5" } }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" - }, "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==" + }, + "yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==" } } }, @@ -27320,17 +28238,12 @@ }, "dependencies": { "debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -27363,17 +28276,17 @@ "dev": true }, "unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", "requires": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" } }, "unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", "requires": { "imurmurhash": "^0.1.4" } @@ -27437,9 +28350,9 @@ } }, "validate-npm-package-name": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", - "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz", + "integrity": "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==" }, "verror": { "version": "1.10.0", diff --git a/npm_and_yarn/helpers/package.json b/npm_and_yarn/helpers/package.json index 3bf1b8c3c1d7..ae7e46177697 100644 --- a/npm_and_yarn/helpers/package.json +++ b/npm_and_yarn/helpers/package.json @@ -11,13 +11,13 @@ }, "dependencies": { "@dependabot/yarn-lib": "^1.22.22", - "@npmcli/arborist": "^7.5.4", + "@npmcli/arborist": "^8.0.0", "detect-indent": "^6.1.0", - "nock": "^13.5.4", + "nock": "^13.5.5", "npm": "6.14.18", "@pnpm/lockfile-file": "^9.1.2", "@pnpm/dependency-path": "^5.1.1", - "semver": "^7.6.2", + "semver": "^7.6.3", "patch-package": "^8.0.0" }, "devDependencies": { diff --git a/npm_and_yarn/spec/dependabot/npm_and_yarn/file_updater/pnpm_lockfile_updater_spec.rb b/npm_and_yarn/spec/dependabot/npm_and_yarn/file_updater/pnpm_lockfile_updater_spec.rb index f261c503369d..05608b328dc8 100644 --- a/npm_and_yarn/spec/dependabot/npm_and_yarn/file_updater/pnpm_lockfile_updater_spec.rb +++ b/npm_and_yarn/spec/dependabot/npm_and_yarn/file_updater/pnpm_lockfile_updater_spec.rb @@ -374,7 +374,7 @@ expect(error.dependency_urls) .to eq( [ - "https://github.com/Zelcord/electron-context-menu" + "https://github.com/dependabot-fixtures/pnpm_github_dependency_private" ] ) end @@ -419,7 +419,7 @@ expect(error.dependency_urls) .to eq( [ - "https://github.com/Zelcord/electron-context-menu" + "https://github.com/dependabot-fixtures/pnpm_github_dependency_private" ] ) end diff --git a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/package.json b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/package.json index a4181e0cba76..ca02d30f2d7e 100644 --- a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/package.json +++ b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/package.json @@ -18,6 +18,6 @@ "homepage": "https://github.com/Zelcord/Zelcord#readme", "dependencies": { "cross-fetch": "^3.1.5", - "electron-context-menu": "github:Zelcord/electron-context-menu" + "pnpm_github_dependency_private": "github:dependabot-fixtures/pnpm_github_dependency_private" } -} +} \ No newline at end of file diff --git a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/pnpm-lock.yaml b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/pnpm-lock.yaml index 08db1d3df60c..0397fa98ec47 100644 --- a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/pnpm-lock.yaml +++ b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private/pnpm-lock.yaml @@ -11,18 +11,18 @@ importers: cross-fetch: specifier: ^3.1.5 version: 3.1.5 - electron-context-menu: - specifier: github:Zelcord/electron-context-menu - version: https://codeload.github.com/Zelcord/electron-context-menu/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32 + pnpm_github_dependency_private: + specifier: github:dependabot-fixtures/pnpm_github_dependency_private + version: https://codeload.github.com/dependabot-fixtures/pnpm_github_dependency_private/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32 packages: cross-fetch@3.1.5: resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} - electron-context-menu@https://codeload.github.com/Zelcord/electron-context-menu/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32: - resolution: {tarball: https://codeload.github.com/Zelcord/electron-context-menu/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32} - name: electron-context-menu + pnpm_github_dependency_private@https://codeload.github.com/dependabot-fixtures/pnpm_github_dependency_private/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32: + resolution: {tarball: https://codeload.github.com/dependabot-fixtures/pnpm_github_dependency_private/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32} + name: pnpm_github_dependency_private version: 3.5.0 node-fetch@2.6.7: @@ -51,7 +51,7 @@ snapshots: transitivePeerDependencies: - encoding - electron-context-menu@https://codeload.github.com/Zelcord/electron-context-menu/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32: {} + pnpm_github_dependency_private@https://codeload.github.com/dependabot-fixtures/pnpm_github_dependency_private/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32: {} node-fetch@2.6.7: dependencies: diff --git a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/package.json b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/package.json index b6d9388ddf4b..ef7b5259d206 100644 --- a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/package.json +++ b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/package.json @@ -18,7 +18,7 @@ "homepage": "https://github.com/Zelcord/Zelcord#readme", "dependencies": { "cross-fetch": "^3.1.5", - "electron-context-menu": "github:Zelcord/electron-context-menu" + "pnpm_github_dependency_private": "github:dependabot-fixtures/pnpm_github_dependency_private" }, "packageManager": "pnpm@8.15.6" -} +} \ No newline at end of file diff --git a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/pnpm-lock.yaml b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/pnpm-lock.yaml index 8351e3bceed1..d426db936baa 100644 --- a/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/pnpm-lock.yaml +++ b/npm_and_yarn/spec/fixtures/projects/pnpm/github_dependency_private_v8/pnpm-lock.yaml @@ -8,9 +8,9 @@ dependencies: cross-fetch: specifier: ^3.1.5 version: 3.1.5 - electron-context-menu: - specifier: github:Zelcord/electron-context-menu - version: github.com/Zelcord/electron-context-menu/280c81398c02a063f46e3285a9708d8db1a7ce32 + pnpm_github_dependency_private: + specifier: github:dependabot-fixtures/pnpm_github_dependency_private + version: github.com/dependabot-fixtures/pnpm_github_dependency_private/280c81398c02a063f46e3285a9708d8db1a7ce32 packages: @@ -49,8 +49,8 @@ packages: webidl-conversions: 3.0.1 dev: false - github.com/Zelcord/electron-context-menu/280c81398c02a063f46e3285a9708d8db1a7ce32: - resolution: {tarball: https://codeload.github.com/Zelcord/electron-context-menu/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32} - name: electron-context-menu + github.com/dependabot-fixtures/pnpm_github_dependency_private/280c81398c02a063f46e3285a9708d8db1a7ce32: + resolution: {tarball: https://codeload.github.com/dependabot-fixtures/pnpm_github_dependency_private/tar.gz/280c81398c02a063f46e3285a9708d8db1a7ce32} + name: pnpm_github_dependency_private version: 3.5.0 dev: false diff --git a/nuget/.gitignore b/nuget/.gitignore index 072483d1e79f..e7256be2e6aa 100644 --- a/nuget/.gitignore +++ b/nuget/.gitignore @@ -4,3 +4,5 @@ /tmp /dependabot-*.gem Properties/ +bin/ +obj/ diff --git a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolverEnvironment.cs b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolverEnvironment.cs new file mode 100644 index 000000000000..7d47ff271ffa --- /dev/null +++ b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolverEnvironment.cs @@ -0,0 +1,12 @@ +namespace NuGetUpdater.Core.Test; + +/// +/// Prepares the environment to use the new dependency solver. +/// +public class DependencySolverEnvironment : TemporaryEnvironment +{ + public DependencySolverEnvironment(bool useDependencySolver = true) + : base([("UseNewNugetPackageResolver", useDependencySolver ? "true" : "false")]) + { + } +} diff --git a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs index bd10c23211bd..758a532647ca 100644 --- a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs +++ b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs @@ -54,12 +54,12 @@ await TestUpdateForProject("Some.Package", "9.0.1", "13.0.1", } [Theory] - [InlineData("true")] - [InlineData(null)] - public async Task UpdateVersionChildElement_InProjectFile_ForPackageReferenceIncludeTheory(string variableValue) + [InlineData(true)] + [InlineData(false)] + public async Task UpdateVersionChildElement_InProjectFile_ForPackageReferenceIncludeTheory(bool useDependencySolver) { // update Some.Package from 9.0.1 to 13.0.1 - using var env = new TemporaryEnvironment([("UseNewNugetPackageResolver", variableValue)]); + using var _ = new DependencySolverEnvironment(useDependencySolver); await TestUpdateForProject("Some.Package", "9.0.1", "13.0.1", packages: [ @@ -95,11 +95,72 @@ await TestUpdateForProject("Some.Package", "9.0.1", "13.0.1", ); } + [Theory] + [InlineData(true)] + [InlineData(false)] + public async Task PeerDependenciesAreUpdatedEvenWhenNotExplicit(bool useDependencySolver) + { + using var _ = new DependencySolverEnvironment(useDependencySolver); + await TestUpdateForProject("Some.Package", "1.0.0", "2.0.0", + packages: + [ + MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0", [(null, [("Transitive.Package", "[1.0.0]")])]), + MockNuGetPackage.CreateSimplePackage("Some.Package", "2.0.0", "net8.0", [(null, [("Transitive.Package", "[2.0.0]")])]), + MockNuGetPackage.CreateSimplePackage("Transitive.Package", "1.0.0", "net8.0"), + MockNuGetPackage.CreateSimplePackage("Transitive.Package", "2.0.0", "net8.0"), + ], + projectFile: ("a/a.csproj", """ + + + net8.0 + true + + + + + + """), + additionalFiles: + [ + ("Directory.Packages.props", """ + + + + + + + """) + ], + expectedProjectContents: """ + + + net8.0 + true + + + + + + """, + additionalFilesExpected: + [ + ("Directory.Packages.props", """ + + + + + + + """) + ] + ); + } + [Fact] public async Task CallingResolveDependencyConflictsNew() { // update Microsoft.CodeAnalysis.Common from 4.9.2 to 4.10.0 - using var env = new TemporaryEnvironment([("UseNewNugetPackageResolver", "true")]); + using var _ = new DependencySolverEnvironment(); await TestUpdateForProject("Microsoft.CodeAnalysis.Common", "4.9.2", "4.10.0", // initial projectContents: $""" @@ -535,11 +596,11 @@ await TestUpdateForProject("Some.Package", "9.0.1", "13.0.1", } [Theory] - [InlineData(null)] - [InlineData("true")] - public async Task AddPackageReference_InProjectFile_ForTransientDependency(string variableValue) + [InlineData(true)] + [InlineData(false)] + public async Task AddPackageReference_InProjectFile_ForTransientDependency(bool useDependencySolver) { - using var env = new TemporaryEnvironment([("UseNewNugetPackageResolver", variableValue)]); + using var _ = new DependencySolverEnvironment(useDependencySolver); // add transient package Some.Transient.Dependency from 5.0.1 to 5.0.2 await TestUpdateForProject("Some.Transient.Dependency", "5.0.1", "5.0.2", isTransitive: true, packages: @@ -2914,12 +2975,51 @@ await TestUpdateForProject("Some.Package", "12.0.1", "13.0.1", ); } + [Fact] + public async Task UpdatingTransitiveDependencyWithNewSolverCanUpdateJustTheTopLevelPackage() + { + // we've been asked to explicitly update a transitive dependency, but we can solve it by updating the top-level package instead + using var _ = new DependencySolverEnvironment(); + await TestUpdateForProject("Transitive.Package", "1.0.0", "2.0.0", + isTransitive: true, + packages: + [ + MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0", [("net8.0", [("Transitive.Package", "[1.0.0]")])]), + MockNuGetPackage.CreateSimplePackage("Some.Package", "2.0.0", "net8.0", [("net8.0", [("Transitive.Package", "[2.0.0]")])]), + MockNuGetPackage.CreateSimplePackage("Transitive.Package", "1.0.0", "net8.0"), + MockNuGetPackage.CreateSimplePackage("Transitive.Package", "2.0.0", "net8.0"), + ], + projectContents: """ + + + net8.0 + false + + + + + + """, + expectedProjectContents: """ + + + net8.0 + false + + + + + + """ + ); + } + [Theory] - [InlineData("true")] - [InlineData(null)] - public async Task NoChange_IfThereAreIncoherentVersions(string variableValue) + [InlineData(true)] + [InlineData(false)] + public async Task NoChange_IfThereAreIncoherentVersions(bool useDependencySolver) { - using var env = new TemporaryEnvironment([("UseNewNugetPackageResolver", variableValue)]); + using var _ = new DependencySolverEnvironment(useDependencySolver); // trying to update `Transitive.Dependency` to 1.1.0 would normally pull `Some.Package` from 1.0.0 to 1.1.0, // but the TFM doesn't allow it @@ -3005,11 +3105,11 @@ await TestUpdateForProject("Some.Package", "7.0.1", "13.0.1", } [Theory] - [InlineData("true")] - [InlineData(null)] - public async Task UnresolvablePropertyDoesNotStopOtherUpdates(string variableValue) + [InlineData(true)] + [InlineData(false)] + public async Task UnresolvablePropertyDoesNotStopOtherUpdates(bool useDependencySolver) { - using var env = new TemporaryEnvironment([("UseNewNugetPackageResolver", variableValue)]); + using var _ = new DependencySolverEnvironment(useDependencySolver); // the property `$(SomeUnresolvableProperty)` cannot be resolved await TestUpdateForProject("Some.Package", "7.0.1", "13.0.1", @@ -3045,11 +3145,11 @@ await TestUpdateForProject("Some.Package", "7.0.1", "13.0.1", } [Theory] - [InlineData("true")] - [InlineData(null)] - public async Task UpdatingPackageAlsoUpdatesAnythingWithADependencyOnTheUpdatedPackage(string variableValue) + [InlineData(true)] + [InlineData(false)] + public async Task UpdatingPackageAlsoUpdatesAnythingWithADependencyOnTheUpdatedPackage(bool useDependencySolver) { - using var env = new TemporaryEnvironment([("UseNewNugetPackageResolver", variableValue)]); + using var _ = new DependencySolverEnvironment(useDependencySolver); // updating Some.Package from 3.3.30 requires that Some.Package.Extensions also be updated await TestUpdateForProject("Some.Package", "3.3.30", "3.4.3", diff --git a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs index 337cc4f3fa95..c419bf9faba7 100644 --- a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +++ b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs @@ -442,9 +442,9 @@ [new Dependency("Package.A", "1.0.0", DependencyType.Unknown)] } [Fact] - public async Task DependencyConflictsCanBeResolved() + public async Task DependencyConflictsCanBeResolvedWithBruteForce() { - var repoRoot = Directory.CreateTempSubdirectory($"test_{nameof(DependencyConflictsCanBeResolved)}_"); + var repoRoot = Directory.CreateTempSubdirectory($"test_{nameof(DependencyConflictsCanBeResolvedWithBruteForce)}_"); MockNuGetPackage[] testPackages = [ // some base packages @@ -483,7 +483,7 @@ await File.WriteAllTextAsync(projectPath, """ { new Dependency("Some.Other.Package", "1.2.0", DependencyType.PackageReference), }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsWithBruteForce(repoRoot.FullName, projectPath, "net8.0", dependencies, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(2, resolvedDependencies.Length); Assert.Equal("Some.Package", resolvedDependencies[0].Name); @@ -533,7 +533,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("CS-Script.Core", "2.0.0", DependencyType.PackageReference), }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(3, resolvedDependencies.Length); Assert.Equal("CS-Script.Core", resolvedDependencies[0].Name); @@ -578,7 +578,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Microsoft.Bcl.AsyncInterfaces", "1.1.1", DependencyType.Unknown) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Single(resolvedDependencies); Assert.Equal("Azure.Core", resolvedDependencies[0].Name); @@ -621,7 +621,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Newtonsoft.Json", "13.0.1", DependencyType.Unknown) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(2, resolvedDependencies.Length); Assert.Equal("Newtonsoft.Json.Bson", resolvedDependencies[0].Name); @@ -671,7 +671,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Microsoft.CodeAnalysis.Common", "4.10.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(3, resolvedDependencies.Length); Assert.Equal("Microsoft.CodeAnalysis.Compilers", resolvedDependencies[0].Name); @@ -723,7 +723,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Microsoft.CodeAnalysis.Common", "4.10.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(4, resolvedDependencies.Length); Assert.Equal("Microsoft.CodeAnalysis.Compilers", resolvedDependencies[0].Name); @@ -779,7 +779,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Newtonsoft.Json", "13.0.1", DependencyType.Unknown) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(5, resolvedDependencies.Length); Assert.Equal("Microsoft.CodeAnalysis.Compilers", resolvedDependencies[0].Name); @@ -838,7 +838,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Buildalyzer", "7.0.1", DependencyType.PackageReference), }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(4, resolvedDependencies.Length); Assert.Equal("Buildalyzer", resolvedDependencies[0].Name); @@ -895,7 +895,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Azure.Core", "1.22.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(4, resolvedDependencies.Length); Assert.Equal("System.Collections.Immutable", resolvedDependencies[0].Name); @@ -952,7 +952,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Azure.Core", "1.22.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(5, resolvedDependencies.Length); Assert.Equal("System.Collections.Immutable", resolvedDependencies[0].Name); @@ -1007,7 +1007,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("AutoMapper.Collection", "10.0.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(3, resolvedDependencies.Length); Assert.Equal("AutoMapper.Extensions.Microsoft.DependencyInjection", resolvedDependencies[0].Name); @@ -1054,7 +1054,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Microsoft.Extensions.Caching.Memory", "8.0.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(2, resolvedDependencies.Length); Assert.Equal("Microsoft.EntityFrameworkCore", resolvedDependencies[0].Name); @@ -1104,7 +1104,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Microsoft.EntityFrameworkCore.Analyzers", "8.0.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(4, resolvedDependencies.Length); Assert.Equal("Microsoft.EntityFrameworkCore.Design", resolvedDependencies[0].Name); @@ -1156,7 +1156,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("Microsoft.EntityFrameworkCore.Analyzers", "8.0.0", DependencyType.PackageReference) }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(3, resolvedDependencies.Length); Assert.Equal("Microsoft.EntityFrameworkCore.Design", resolvedDependencies[0].Name); @@ -1208,7 +1208,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("System.Collections.Immutable", "8.0.0", DependencyType.PackageReference), }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(4, resolvedDependencies.Length); Assert.Equal("System.Collections.Immutable", resolvedDependencies[0].Name); @@ -1260,7 +1260,7 @@ await File.WriteAllTextAsync(projectPath, """ new Dependency("System.Collections.Immutable", "8.0.0", DependencyType.PackageReference), }; - var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsNew(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "net8.0", dependencies, update, new TestLogger()); Assert.NotNull(resolvedDependencies); Assert.Equal(3, resolvedDependencies.Length); Assert.Equal("Microsoft.CodeAnalysis.CSharp.Workspaces", resolvedDependencies[0].Name); diff --git a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs index 6bced8e4c058..f73371c7d6f1 100644 --- a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +++ b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs @@ -41,19 +41,26 @@ public static async Task UpdateDependencyAsync( return; } - if (isTransitive) + var peerDependencies = await GetUpdatedPeerDependenciesAsync(repoRootPath, projectPath, tfms, dependencyName, newDependencyVersion, logger); + if (MSBuildHelper.UseNewDependencySolver()) { - await UpdateTransitiveDependencyAsync(repoRootPath, projectPath, dependencyName, newDependencyVersion, buildFiles, logger); + await UpdateDependencyWithConflictResolution(repoRootPath, buildFiles, tfms, projectPath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive, peerDependencies, logger); } else { - var peerDependencies = await GetUpdatedPeerDependenciesAsync(repoRootPath, projectPath, tfms, dependencyName, newDependencyVersion, logger); - if (peerDependencies is null) + if (isTransitive) { - return; + await UpdateTransitiveDependencyAsync(repoRootPath, projectPath, dependencyName, newDependencyVersion, buildFiles, logger); } + else + { + if (peerDependencies is null) + { + return; + } - await UpdateTopLevelDepdendency(repoRootPath, buildFiles, tfms, dependencyName, previousDependencyVersion, newDependencyVersion, peerDependencies, logger); + await UpdateTopLevelDepdendency(repoRootPath, buildFiles, tfms, dependencyName, previousDependencyVersion, newDependencyVersion, peerDependencies, logger); + } } if (!await AreDependenciesCoherentAsync(repoRootPath, projectPath, dependencyName, logger, buildFiles, tfms)) @@ -64,6 +71,61 @@ public static async Task UpdateDependencyAsync( await SaveBuildFilesAsync(buildFiles, logger); } + public static async Task UpdateDependencyWithConflictResolution( + string repoRootPath, + ImmutableArray buildFiles, + string[] targetFrameworks, + string projectPath, + string dependencyName, + string previousDependencyVersion, + string newDependencyVersion, + bool isTransitive, + IDictionary peerDependencies, + ILogger logger) + { + var topLevelDependencies = MSBuildHelper.GetTopLevelPackageDependencyInfos(buildFiles).ToArray(); + var isDependencyTopLevel = topLevelDependencies.Any(d => d.Name.Equals(dependencyName, StringComparison.OrdinalIgnoreCase)); + var dependenciesToUpdate = new[] { new Dependency(dependencyName, newDependencyVersion, DependencyType.PackageReference) }; + + // update the initial dependency... + TryUpdateDependencyVersion(buildFiles, dependencyName, previousDependencyVersion, newDependencyVersion, logger); + + // ...and the peer dependencies... + foreach (var (packageName, packageVersion) in peerDependencies.Where(kvp => string.Compare(kvp.Key, dependencyName, StringComparison.OrdinalIgnoreCase) != 0)) + { + TryUpdateDependencyVersion(buildFiles, packageName, previousDependencyVersion: null, newDependencyVersion: packageVersion, logger); + } + + // ...and everything else + foreach (var projectFile in buildFiles) + { + foreach (var tfm in targetFrameworks) + { + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRootPath, projectFile.Path, tfm, topLevelDependencies, dependenciesToUpdate, logger); + if (resolvedDependencies is null) + { + logger.Log($" Unable to resolve dependency conflicts for {projectFile.Path}."); + continue; + } + + var isDependencyInResolutionSet = resolvedDependencies.Any(d => d.Name.Equals(dependencyName, StringComparison.OrdinalIgnoreCase)); + if (isTransitive && !isDependencyTopLevel && isDependencyInResolutionSet) + { + // a transitive dependency had to be pinned; add it here + await UpdateTransitiveDependencyAsync(repoRootPath, projectPath, dependencyName, newDependencyVersion, buildFiles, logger); + } + + // update all resolved dependencies that aren't the initial dependency + foreach (var resolvedDependency in resolvedDependencies + .Where(d => !d.Name.Equals(dependencyName, StringComparison.OrdinalIgnoreCase)) + .Where(d => d.Version is not null)) + { + TryUpdateDependencyVersion(buildFiles, resolvedDependency.Name, previousDependencyVersion: null, newDependencyVersion: resolvedDependency.Version!, logger); + } + } + } + } + /// /// Verifies that the package does not already satisfy the requested dependency version. /// @@ -318,7 +380,7 @@ private static async Task UpdateTopLevelDepdendency( IDictionary peerDependencies, ILogger logger) { - + // update dependencies... var result = TryUpdateDependencyVersion(buildFiles, dependencyName, previousDependencyVersion, newDependencyVersion, logger); if (result == UpdateResult.NotFound) { @@ -331,26 +393,13 @@ private static async Task UpdateTopLevelDepdendency( TryUpdateDependencyVersion(buildFiles, packageName, previousDependencyVersion: null, newDependencyVersion: packageVersion, logger); } - // now make all dependency requirements coherent + // ...and make them all coherent Dependency[] updatedTopLevelDependencies = MSBuildHelper.GetTopLevelPackageDependencyInfos(buildFiles).ToArray(); foreach (ProjectBuildFile projectFile in buildFiles) { foreach (string tfm in targetFrameworks) { - if (MSBuildHelper.UseNewDependencySolver()) - { - // Find the index of the dependency we are updating and revert it to the previous version - int dependencyIndex = Array.FindIndex(updatedTopLevelDependencies, d => string.Equals(d.Name, dependencyName, StringComparison.OrdinalIgnoreCase)); - if (dependencyIndex != -1) - { - var originalDependency = updatedTopLevelDependencies[dependencyIndex]; - updatedTopLevelDependencies[dependencyIndex] = originalDependency with { Version = previousDependencyVersion }; - } - - } - Dependency[] update = [new Dependency(dependencyName, newDependencyVersion, DependencyType.PackageReference)]; - Dependency[]? resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRootPath, projectFile.Path, tfm, updatedTopLevelDependencies, update, logger); - + var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsWithBruteForce(repoRootPath, projectFile.Path, tfm, updatedTopLevelDependencies, logger); if (resolvedDependencies is null) { logger.Log($" Unable to resolve dependency conflicts for {projectFile.Path}."); @@ -371,7 +420,7 @@ private static async Task UpdateTopLevelDepdendency( continue; } - // update all dependencies + // update all versions foreach (Dependency resolvedDependency in resolvedDependencies .Where(d => !d.Name.Equals(dependencyName, StringComparison.OrdinalIgnoreCase)) .Where(d => d.Version is not null)) diff --git a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs index d1998d925c7c..2d65c39aba67 100644 --- a/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +++ b/nuget/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs @@ -341,18 +341,6 @@ internal static bool UseNewDependencySolver() } internal static async Task ResolveDependencyConflicts(string repoRoot, string projectPath, string targetFramework, Dependency[] packages, Dependency[] update, ILogger logger) - { - if (UseNewDependencySolver()) - { - return await ResolveDependencyConflictsNew(repoRoot, projectPath, targetFramework, packages, update, logger); - } - else - { - return await ResolveDependencyConflictsOld(repoRoot, projectPath, targetFramework, packages, logger); - } - } - - internal static async Task ResolveDependencyConflictsNew(string repoRoot, string projectPath, string targetFramework, Dependency[] packages, Dependency[] update, ILogger logger) { var tempDirectory = Directory.CreateTempSubdirectory("package-dependency-coherence_"); PackageManager packageManager = new PackageManager(repoRoot, projectPath); @@ -510,7 +498,7 @@ internal static bool UseNewDependencySolver() } } - internal static async Task ResolveDependencyConflictsOld(string repoRoot, string projectPath, string targetFramework, Dependency[] packages, ILogger logger) + internal static async Task ResolveDependencyConflictsWithBruteForce(string repoRoot, string projectPath, string targetFramework, Dependency[] packages, ILogger logger) { var tempDirectory = Directory.CreateTempSubdirectory("package-dependency-coherence_"); try diff --git a/nuget/lib/dependabot/nuget/file_fetcher.rb b/nuget/lib/dependabot/nuget/file_fetcher.rb index 331b0a32c04d..aeb0c617490d 100644 --- a/nuget/lib/dependabot/nuget/file_fetcher.rb +++ b/nuget/lib/dependabot/nuget/file_fetcher.rb @@ -121,15 +121,11 @@ def raise_dependency_file_not_found def packages_config_files return @packages_config_files if @packages_config_files - candidate_paths = - [*project_files.map { |f| File.dirname(f.name) }, "."].uniq + imported_project_files = imported_property_files.filter { |f| f.name.match?(/\.(cs|vb|fs)proj$/) } - @packages_config_files = - candidate_paths.filter_map do |dir| - file = repo_contents(dir: dir) - .find { |f| f.name.casecmp("packages.config").zero? } - fetch_file_from_host(File.join(dir, file.name)) if file - end + @packages_config_files = [*project_files, *imported_project_files].filter_map do |f| + named_file_next_to_project_file(f, "packages.config") + end end sig { returns(T::Array[Dependabot::DependencyFile]) } @@ -312,6 +308,32 @@ def named_file_up_tree_from_project_file(project_file, expected_file_name) found_expected_file end + sig do + params( + project_file: Dependabot::DependencyFile, + expected_file_name: String + ) + .returns(T.nilable(Dependabot::DependencyFile)) + end + def named_file_next_to_project_file(project_file, expected_file_name) + found_expected_file = T.let(nil, T.nilable(Dependabot::DependencyFile)) + directory_path = Pathname.new(directory) + full_project_dir = Pathname.new(project_file.directory).join(project_file.name).dirname + + candidate_file_path = Pathname.new(full_project_dir).join(expected_file_name).cleanpath.to_path + candidate_directory = Pathname.new(File.dirname(candidate_file_path)) + relative_candidate_directory = candidate_directory.relative_path_from(directory_path) + candidate_file = repo_contents(dir: relative_candidate_directory).find do |f| + f.name.casecmp?(expected_file_name) + end + if candidate_file + found_expected_file = fetch_file_from_host(File.join(relative_candidate_directory, + candidate_file.name)) + end + + found_expected_file + end + sig { returns(T.nilable(Dependabot::DependencyFile)) } def global_json @global_json ||= T.let(fetch_file_if_present("global.json"), T.nilable(Dependabot::DependencyFile)) @@ -355,6 +377,7 @@ def imported_property_files end def fetch_imported_property_files(file:, previously_fetched_files:) file_id = file.directory + "/" + file.name + if @fetched_files[file_id] T.must(@fetched_files[file_id]) else @@ -363,23 +386,37 @@ def fetch_imported_property_files(file:, previously_fetched_files:) ImportPathsFinder.new(project_file: file).project_reference_paths + ImportPathsFinder.new(project_file: file).project_file_paths - paths.filter_map do |path| + # Initialize a set to hold fetched files temporarily to avoid duplicates + fetched_files_set = Set.new([file]) + + paths.each do |path| next if previously_fetched_files.map(&:name).include?(path) next if file.name == path next if path.include?("$(") - fetched_file = fetch_file_from_host(path) - grandchild_property_files = fetch_imported_property_files( - file: fetched_file, - previously_fetched_files: previously_fetched_files + [file] - ) - @fetched_files[file_id] = [fetched_file, *grandchild_property_files] - @fetched_files[file_id] - rescue Dependabot::DependencyFileNotFound - # Don't worry about missing files too much for now (at least - # until we start resolving properties) - nil - end.flatten + begin + fetched_file = fetch_file_from_host(path) + grandchild_property_files = fetch_imported_property_files( + file: fetched_file, + previously_fetched_files: previously_fetched_files + [file] + ) + + # Add fetched file and grandchild property files to the set + fetched_files_set << fetched_file + fetched_files_set.merge(grandchild_property_files) + rescue Dependabot::DependencyFileNotFound + # Don't worry about missing files, just skip them for now + Dependabot.logger.info("unable to find expected file #{file.name}") + nil + end + end + + # Convert the set to an array and cache the fetched files + fetched_files = fetched_files_set.to_a + @fetched_files[file_id] = fetched_files + + # Return the fetched files + fetched_files end end end diff --git a/nuget/spec/dependabot/nuget/file_fetcher_spec.rb b/nuget/spec/dependabot/nuget/file_fetcher_spec.rb index 95c0e0b01890..324daffbc754 100644 --- a/nuget/spec/dependabot/nuget/file_fetcher_spec.rb +++ b/nuget/spec/dependabot/nuget/file_fetcher_spec.rb @@ -369,6 +369,48 @@ end end + context "when each project has a projects.config" do + let(:directory) { "/src/a/" } + + before do + GitHubHelpers.stub_requests_for_directory( + ->(a, b) { stub_request(a, b) }, + File.join(__dir__, "..", "..", "fixtures", "github", "multiple_packages_config"), + "", + url, + "token token", + "gocardless", + "bump", + "main" + ) + + # these files explicitly don't exist + ["src/a/.config", "src/a/Directory.Packages.props"].each do |file| + stub_request(:get, File.join(url, "#{file}?ref=sha")) + .with(headers: { "Authorization" => "token token" }) + .to_return( + status: 404, + body: "{}", + headers: { "content-type" => "application/json" } + ) + end + end + + it "fetches all relevant files" do + expect(file_fetcher_instance.files.map(&:name)) + .to match_array( + %w( + ../b/projectb.csproj + ../b/packages.config + ../c/projectc.csproj + ../c/packages.config + projecta.csproj + packages.config + ) + ) + end + end + context "with a dirs.proj" do before do GitHubHelpers.stub_requests_for_directory( diff --git a/nuget/spec/fixtures/github/multiple_packages_config/src/a/packages.config b/nuget/spec/fixtures/github/multiple_packages_config/src/a/packages.config new file mode 100644 index 000000000000..2e095693177e --- /dev/null +++ b/nuget/spec/fixtures/github/multiple_packages_config/src/a/packages.config @@ -0,0 +1,4 @@ + + + + diff --git a/nuget/spec/fixtures/github/multiple_packages_config/src/a/projecta.csproj b/nuget/spec/fixtures/github/multiple_packages_config/src/a/projecta.csproj new file mode 100644 index 000000000000..d91c218b3b09 --- /dev/null +++ b/nuget/spec/fixtures/github/multiple_packages_config/src/a/projecta.csproj @@ -0,0 +1,13 @@ + + + Exe + net8.0 + + + + + + + + + diff --git a/nuget/spec/fixtures/github/multiple_packages_config/src/b/packages.config b/nuget/spec/fixtures/github/multiple_packages_config/src/b/packages.config new file mode 100644 index 000000000000..f93889f5529d --- /dev/null +++ b/nuget/spec/fixtures/github/multiple_packages_config/src/b/packages.config @@ -0,0 +1,4 @@ + + + + diff --git a/nuget/spec/fixtures/github/multiple_packages_config/src/b/projectb.csproj b/nuget/spec/fixtures/github/multiple_packages_config/src/b/projectb.csproj new file mode 100644 index 000000000000..b1e270c92e7f --- /dev/null +++ b/nuget/spec/fixtures/github/multiple_packages_config/src/b/projectb.csproj @@ -0,0 +1,12 @@ + + + Exe + net8.0 + + + + + + + + diff --git a/nuget/spec/fixtures/github/multiple_packages_config/src/c/packages.config b/nuget/spec/fixtures/github/multiple_packages_config/src/c/packages.config new file mode 100644 index 000000000000..f93889f5529d --- /dev/null +++ b/nuget/spec/fixtures/github/multiple_packages_config/src/c/packages.config @@ -0,0 +1,4 @@ + + + + diff --git a/nuget/spec/fixtures/github/multiple_packages_config/src/c/projectc.csproj b/nuget/spec/fixtures/github/multiple_packages_config/src/c/projectc.csproj new file mode 100644 index 000000000000..6750fe29a9ee --- /dev/null +++ b/nuget/spec/fixtures/github/multiple_packages_config/src/c/projectc.csproj @@ -0,0 +1,9 @@ + + + Exe + net8.0 + + + + + diff --git a/silent/lib/dependabot/silent/file_parser.rb b/silent/lib/dependabot/silent/file_parser.rb index a88a17c88919..a7c4f7203dc8 100644 --- a/silent/lib/dependabot/silent/file_parser.rb +++ b/silent/lib/dependabot/silent/file_parser.rb @@ -4,6 +4,8 @@ require "dependabot/dependency" require "dependabot/file_parsers" require "dependabot/file_parsers/base" +require "dependabot/package_manager" +require "dependabot/silent/package_manager" require "sorbet-runtime" module SilentPackageManager @@ -26,6 +28,19 @@ def parse raise Dependabot::DependencyFileNotParseable, T.must(dependency_files.first).path end + sig { returns(Dependabot::PackageManagerBase) } + def package_manager + meta_data = JSON.parse(manifest_content)["silent"] + silent_version = if meta_data.nil? + "2" + else + meta_data["version"] + end + Dependabot::Silent::PackageManager.new(silent_version) + rescue JSON::ParserError + raise Dependabot::DependencyFileNotParseable, T.must(dependency_files.first).path + end + private sig { params(name: String, info: String).returns(Dependabot::Dependency) } diff --git a/silent/lib/dependabot/silent/package_manager.rb b/silent/lib/dependabot/silent/package_manager.rb new file mode 100644 index 000000000000..7f8d54f10f33 --- /dev/null +++ b/silent/lib/dependabot/silent/package_manager.rb @@ -0,0 +1,45 @@ +# typed: strong +# frozen_string_literal: true + +require "sorbet-runtime" +require "dependabot/silent/version" +require "dependabot/package_manager" + +module Dependabot + module Silent + PACKAGE_MANAGER = "silent" + + SUPPORTED_SILENT_VERSIONS = T.let([Version.new("2")].freeze, T::Array[Dependabot::Version]) + DEPRECATED_SILENT_VERSIONS = T.let([Version.new("1")].freeze, T::Array[Dependabot::Version]) + + class PackageManager < PackageManagerBase + extend T::Sig + + sig { params(version: T.any(String, Dependabot::Version)).void } + def initialize(version) + @version = T.let(Version.new(version), Dependabot::Version) + @name = T.let(PACKAGE_MANAGER, String) + @deprecated_versions = T.let(DEPRECATED_SILENT_VERSIONS, T::Array[Dependabot::Version]) + @supported_versions = T.let(SUPPORTED_SILENT_VERSIONS, T::Array[Dependabot::Version]) + end + + sig { override.returns(String) } + attr_reader :name + + sig { override.returns(Dependabot::Version) } + attr_reader :version + + sig { override.returns(T::Array[Dependabot::Version]) } + attr_reader :deprecated_versions + + sig { override.returns(T::Array[Dependabot::Version]) } + attr_reader :supported_versions + + sig { override.returns(T::Boolean) } + def unsupported? + # Check if the version is not supported + supported_versions.all? { |supported| supported > version } + end + end + end +end diff --git a/silent/tests/testdata/su-multidir-rebase.txt b/silent/tests/testdata/su-multidir-rebase.txt new file mode 100644 index 000000000000..58c9b8b718c2 --- /dev/null +++ b/silent/tests/testdata/su-multidir-rebase.txt @@ -0,0 +1,77 @@ +dependabot update -f input.yml --local . --updater-image ghcr.io/dependabot/dependabot-updater-silent +stderr -count=1 'Security advisory dependency: dependency-a' +pr-updated frontend/expected.json +pr-updated backend/expected.json + +-- frontend/manifest.json -- +{ + "dependency-a": { "version": "1.2.3" }, + "dependency-b": { "version": "2.3.3" } +} + +-- backend/manifest.json -- +{ + "dependency-a": { "version": "1.2.3" }, + "dependency-b": { "version": "2.3.3" } +} + +-- utilities/manifest.json -- +{ + "unrelated": { "version": "1.0.0" } +} + +-- frontend/expected.json -- +{ + "dependency-a": { "version": "1.2.4" }, + "dependency-b": { "version": "2.3.3" } +} + +-- backend/expected.json -- +{ + "dependency-a": { "version": "1.2.4" }, + "dependency-b": { "version": "2.3.3" } +} + +-- dependency-a -- +{ + "versions": [ + "1.2.3", + "1.2.4", + "1.2.5" + ] +} + +-- dependency-b -- +{ + "versions": [ + "2.3.3", + "2.3.4", + "2.3.5" + ] +} + +-- input.yml -- +job: + dependencies: + - dependency-a + security-advisories: + - dependency-name: dependency-a + affected-versions: + - < 1.2.4 + existing-pull-requests: + - - dependency-name: dependency-a + dependency-version: 1.2.4 + security-updates-only: true + updating-a-pull-request: true + source: + directories: + - "/frontend" + - "/utilities" + - "/backend" + provider: github + repo: test/dependabot-testing + branch: main + package-manager: silent + experiments: + lead_security_dependency: true + diff --git a/silent/tests/testdata/vu-unsupported.txt b/silent/tests/testdata/vu-unsupported.txt new file mode 100644 index 000000000000..179c662950bc --- /dev/null +++ b/silent/tests/testdata/vu-unsupported.txt @@ -0,0 +1,22 @@ +! dependabot update -f input.yml --local . --updater-image ghcr.io/dependabot/dependabot-updater-silent +! stderr 'created \| dependency-a \( from 1.2.3 to 1.2.5 \)' +! pr-created expected.json +stderr 'Currently, the following silent versions are supported in Dependabot: v2\.*\.' +stdout {"data":{"error-type":"tool_version_not_supported","error-details":{"detected-version":"1","supported-versions":"v2.*","tool-name":"silent"}},"type":"record_update_job_error"} + + +-- manifest.json -- +{ + "silent": { "version": "1" }, + "dependency-a": { "version": "1.2.3" } +} + +-- input.yml -- +job: + package-manager: "silent" + source: + directory: "/" + provider: example + hostname: example.com + api-endpoint: https://example.com/api/v3 + repo: dependabot/smoke-tests diff --git a/updater/Gemfile.lock b/updater/Gemfile.lock index 1666020009b0..c9f5cd8f4b7a 100644 --- a/updater/Gemfile.lock +++ b/updater/Gemfile.lock @@ -1,20 +1,20 @@ PATH remote: ../bundler specs: - dependabot-bundler (0.280.0) - dependabot-common (= 0.280.0) + dependabot-bundler (0.281.0) + dependabot-common (= 0.281.0) parallel (~> 1.24) PATH remote: ../cargo specs: - dependabot-cargo (0.280.0) - dependabot-common (= 0.280.0) + dependabot-cargo (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../common specs: - dependabot-common (0.280.0) + dependabot-common (0.281.0) aws-sdk-codecommit (~> 1.28) aws-sdk-ecr (~> 1.5) bundler (>= 1.16, < 3.0.0) @@ -38,107 +38,107 @@ PATH PATH remote: ../composer specs: - dependabot-composer (0.280.0) - dependabot-common (= 0.280.0) + dependabot-composer (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../devcontainers specs: - dependabot-devcontainers (0.280.0) - dependabot-common (= 0.280.0) + dependabot-devcontainers (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../docker specs: - dependabot-docker (0.280.0) - dependabot-common (= 0.280.0) + dependabot-docker (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../elm specs: - dependabot-elm (0.280.0) - dependabot-common (= 0.280.0) + dependabot-elm (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../git_submodules specs: - dependabot-git_submodules (0.280.0) - dependabot-common (= 0.280.0) + dependabot-git_submodules (0.281.0) + dependabot-common (= 0.281.0) parseconfig (~> 1.0, < 1.1.0) PATH remote: ../github_actions specs: - dependabot-github_actions (0.280.0) - dependabot-common (= 0.280.0) + dependabot-github_actions (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../go_modules specs: - dependabot-go_modules (0.280.0) - dependabot-common (= 0.280.0) + dependabot-go_modules (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../gradle specs: - dependabot-gradle (0.280.0) - dependabot-common (= 0.280.0) - dependabot-maven (= 0.280.0) + dependabot-gradle (0.281.0) + dependabot-common (= 0.281.0) + dependabot-maven (= 0.281.0) PATH remote: ../hex specs: - dependabot-hex (0.280.0) - dependabot-common (= 0.280.0) + dependabot-hex (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../maven specs: - dependabot-maven (0.280.0) - dependabot-common (= 0.280.0) + dependabot-maven (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../npm_and_yarn specs: - dependabot-npm_and_yarn (0.280.0) - dependabot-common (= 0.280.0) + dependabot-npm_and_yarn (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../nuget specs: - dependabot-nuget (0.280.0) - dependabot-common (= 0.280.0) + dependabot-nuget (0.281.0) + dependabot-common (= 0.281.0) rubyzip (>= 2.3.2, < 3.0) PATH remote: ../pub specs: - dependabot-pub (0.280.0) - dependabot-common (= 0.280.0) + dependabot-pub (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../python specs: - dependabot-python (0.280.0) - dependabot-common (= 0.280.0) + dependabot-python (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../silent specs: - dependabot-silent (0.280.0) - dependabot-common (= 0.280.0) + dependabot-silent (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../swift specs: - dependabot-swift (0.280.0) - dependabot-common (= 0.280.0) + dependabot-swift (0.281.0) + dependabot-common (= 0.281.0) PATH remote: ../terraform specs: - dependabot-terraform (0.280.0) - dependabot-common (= 0.280.0) + dependabot-terraform (0.281.0) + dependabot-common (= 0.281.0) GEM remote: https://rubygems.org/ diff --git a/updater/lib/dependabot/dependency_snapshot.rb b/updater/lib/dependabot/dependency_snapshot.rb index b9c2c8530b04..02b03c4ef46f 100644 --- a/updater/lib/dependabot/dependency_snapshot.rb +++ b/updater/lib/dependabot/dependency_snapshot.rb @@ -241,8 +241,10 @@ def dependency_file_parser reject_external_code: job.reject_external_code?, options: job.experiments ) - # Add 'package_manager' to the depedency_snapshopt to use it in operations' + # Add 'package_manager' to the dependency_snapshot to use it in operations package_manager = parser.package_manager + # Raise an error if the package manager version is unsupported + package_manager&.raise_if_unsupported! @package_manager[@current_directory] = package_manager diff --git a/updater/lib/dependabot/notices_helpers.rb b/updater/lib/dependabot/notices_helpers.rb index b5a646c07f21..c8f52474df8f 100644 --- a/updater/lib/dependabot/notices_helpers.rb +++ b/updater/lib/dependabot/notices_helpers.rb @@ -60,9 +60,6 @@ def log_notice(notice) sig { params(package_manager: T.nilable(PackageManagerBase)).returns(T.nilable(Dependabot::Notice)) } def create_deprecation_notice(package_manager) - # Feature flag check if deprecation notice should be added to notices. - return unless Dependabot::Experiments.enabled?(:add_deprecation_warn_to_pr_message) - return unless package_manager return unless package_manager.is_a?(PackageManagerBase) diff --git a/updater/lib/dependabot/update_files_command.rb b/updater/lib/dependabot/update_files_command.rb index b3cb91d74b93..d04b4abc8d81 100644 --- a/updater/lib/dependabot/update_files_command.rb +++ b/updater/lib/dependabot/update_files_command.rb @@ -67,7 +67,7 @@ def base_commit_sha Environment.job_definition["base_commit_sha"] end - # rubocop:disable Metrics/AbcSize, Layout/LineLength + # rubocop:disable Metrics/AbcSize, Layout/LineLength, Metrics/MethodLength def handle_parser_error(error) # This happens if the repo gets removed after a job gets kicked off. # The service will handle the removal without any prompt from the updater, @@ -80,6 +80,16 @@ def handle_parser_error(error) # Check if the error is a known "run halting" state we should handle if (error_type = Updater::ErrorHandler::RUN_HALTING_ERRORS[error.class]) { "error-type": error_type } + elsif error.is_a?(ToolVersionNotSupported) + Dependabot.logger.error(error.message) + { + "error-type": "tool_version_not_supported", + "error-detail": { + "tool-name": error.tool_name, + "detected-version": error.detected_version, + "supported-versions": error.supported_versions + } + } else # If it isn't, then log all the details and let the application error # tracker know about it @@ -118,6 +128,6 @@ def handle_parser_error(error) error_details: error_details[:"error-detail"] ) end - # rubocop:enable Metrics/AbcSize, Layout/LineLength + # rubocop:enable Metrics/AbcSize, Layout/LineLength, Metrics/MethodLength end end diff --git a/updater/lib/dependabot/updater/group_update_creation.rb b/updater/lib/dependabot/updater/group_update_creation.rb index 9494698c4cc7..abf23f6492f6 100644 --- a/updater/lib/dependabot/updater/group_update_creation.rb +++ b/updater/lib/dependabot/updater/group_update_creation.rb @@ -241,9 +241,6 @@ def compile_updates_for(dependency, dependency_files, group) # rubocop:disable M return [] end - # Raise an error if the package manager version is unsupported - dependency_snapshot.package_manager&.raise_if_unsupported! - checker.updated_dependencies( requirements_to_unlock: requirements_to_unlock ) diff --git a/updater/lib/dependabot/updater/operations/create_security_update_pull_request.rb b/updater/lib/dependabot/updater/operations/create_security_update_pull_request.rb index d10754aa7c28..156a48f3b36e 100644 --- a/updater/lib/dependabot/updater/operations/create_security_update_pull_request.rb +++ b/updater/lib/dependabot/updater/operations/create_security_update_pull_request.rb @@ -105,7 +105,6 @@ def check_and_create_pr_with_error_handling(dependency) # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/PerceivedComplexity # rubocop:disable Metrics/MethodLength - # rubocop:disable Metrics/CyclomaticComplexity sig { params(dependency: Dependabot::Dependency).void } def check_and_create_pull_request(dependency) dependency = vulnerable_version(dependency) if dependency.metadata[:all_versions] @@ -146,9 +145,6 @@ def check_and_create_pull_request(dependency) log_requirements_for_update(requirements_to_unlock, checker) return record_security_update_not_possible_error(checker) if requirements_to_unlock == :update_not_possible - # Raise an error if the package manager version is unsupported - dependency_snapshot.package_manager&.raise_if_unsupported! - updated_deps = checker.updated_dependencies( requirements_to_unlock: requirements_to_unlock ) @@ -202,7 +198,6 @@ def check_and_create_pull_request(dependency) # rubocop:enable Metrics/MethodLength # rubocop:enable Metrics/AbcSize # rubocop:enable Metrics/PerceivedComplexity - # rubocop:enable Metrics/CyclomaticComplexity sig { params(dependency: Dependabot::Dependency).returns(Dependabot::Dependency) } def vulnerable_version(dependency) return dependency if dependency.metadata[:all_versions].count == 1 diff --git a/updater/lib/dependabot/updater/operations/refresh_security_update_pull_request.rb b/updater/lib/dependabot/updater/operations/refresh_security_update_pull_request.rb index 6202dc7a3587..9acbffc8ba04 100644 --- a/updater/lib/dependabot/updater/operations/refresh_security_update_pull_request.rb +++ b/updater/lib/dependabot/updater/operations/refresh_security_update_pull_request.rb @@ -54,9 +54,6 @@ def perform Dependabot.logger.info("Starting update job for #{job.source.repo}") Dependabot.logger.info("Checking and updating security pull requests...") - # Raise an error if the package manager version is unsupported - dependency_snapshot.package_manager&.raise_if_unsupported! - # Retrieve the list of initial notices from dependency snapshot @notices = dependency_snapshot.notices # More notices can be added during the update process @@ -132,7 +129,28 @@ def check_and_update_pull_request(dependencies) # Note: Gradle, Maven and Nuget dependency names can be case-insensitive # and the dependency name in the security advisory often doesn't match # what users have specified in their manifest. - lead_dep_name = job_dependencies.first&.downcase + # Dependabot::Experiments.register(:lead_security_dependency, true) + + if Dependabot::Experiments.enabled?(:lead_security_dependency) + lead_dep_name = security_advisory_dependency + + # telemetry data collection + Dependabot.logger.info( + "Security advisory dependency: #{lead_dep_name}\n" \ + "First dependency in list: #{job_dependencies.first&.downcase}" + ) + + if lead_dep_name != job_dependencies.first&.downcase + Dependabot.logger.info( + "Difference found between security-advisory (#{lead_dep_name}) and " \ + "first-dependency (#{job_dependencies.first&.downcase})" + ) + end + + else + lead_dep_name = job_dependencies.first&.downcase + end + lead_dependency = dependencies.find do |dep| dep.name.downcase == lead_dep_name end @@ -174,7 +192,9 @@ def check_and_update_pull_request(dependencies) # and the dependency name in the security advisory often doesn't match # what users have specified in their manifest. job_dependencies = job_dependencies.map(&:downcase) - if dependency_change.updated_dependencies.map { |x| x.name.downcase } != job_dependencies + changed_dependencies = dependency_change.updated_dependencies.map { |x| x.name.downcase } + + if changed_dependencies.sort_by(&:downcase) != job_dependencies.sort_by(&:downcase) # The dependencies being updated have changed. Close the existing # multi-dependency PR and try creating a new one. close_pull_request(reason: :dependencies_changed) @@ -288,6 +308,11 @@ def close_pull_request(reason:) service.close_pull_request(job_dependencies, reason) end + + sig { returns(String) } + def security_advisory_dependency + T.cast(job.security_advisories.first, T::Hash[String, String])["dependency-name"].to_s + end end end end diff --git a/updater/lib/dependabot/updater/operations/refresh_version_update_pull_request.rb b/updater/lib/dependabot/updater/operations/refresh_version_update_pull_request.rb index 4919c7589866..aafa2b2e13fa 100644 --- a/updater/lib/dependabot/updater/operations/refresh_version_update_pull_request.rb +++ b/updater/lib/dependabot/updater/operations/refresh_version_update_pull_request.rb @@ -138,9 +138,6 @@ def check_and_update_pull_request(dependencies) return close_pull_request(reason: :update_no_longer_possible) end - # Raise an error if the package manager version is unsupported - dependency_snapshot.package_manager&.raise_if_unsupported! - updated_deps = checker.updated_dependencies( requirements_to_unlock: requirements_to_unlock ) diff --git a/updater/lib/dependabot/updater/operations/update_all_versions.rb b/updater/lib/dependabot/updater/operations/update_all_versions.rb index 40e63264e62d..bdcc9a20c4b3 100644 --- a/updater/lib/dependabot/updater/operations/update_all_versions.rb +++ b/updater/lib/dependabot/updater/operations/update_all_versions.rb @@ -172,9 +172,6 @@ def check_and_create_pull_request(dependency) notices: @notices ) - # Raise an error if the package manager version is unsupported - dependency_snapshot.package_manager&.raise_if_unsupported! - if dependency_change.updated_dependency_files.empty? raise "UpdateChecker found viable dependencies to be updated, but FileUpdater failed to update any files" end diff --git a/updater/spec/dependabot/dependency_snapshot_spec.rb b/updater/spec/dependabot/dependency_snapshot_spec.rb index 2830dfe8fc4c..fc63e23a94c5 100644 --- a/updater/spec/dependabot/dependency_snapshot_spec.rb +++ b/updater/spec/dependabot/dependency_snapshot_spec.rb @@ -68,6 +68,21 @@ ] end + let(:dependency_files_for_unsupported) do + [ + Dependabot::DependencyFile.new( + name: "Gemfile", + content: fixture("bundler/unsupported/Gemfile"), + directory: directory + ), + Dependabot::DependencyFile.new( + name: "Gemfile.lock", + content: fixture("bundler/unsupported/Gemfile.lock"), + directory: directory + ) + ] + end + let(:dependency_groups) do [ { @@ -84,6 +99,21 @@ "mock-sha" end + let(:unsupported_error_enabled) { false } + + before do + allow(Dependabot::Experiments).to receive(:enabled?) + .with(:bundler_v1_unsupported_error) + .and_return(unsupported_error_enabled) + allow(Dependabot::Experiments).to receive(:enabled?) + .with(:add_deprecation_warn_to_pr_message) + .and_return(true) + end + + after do + Dependabot::Experiments.reset! + end + describe "::add_handled_dependencies" do subject(:create_dependency_snapshot) do described_class.create_from_job_definition( @@ -92,6 +122,8 @@ ) end + let(:unsupported_error_enabled) { false } + let(:job_definition) do { "base_commit_sha" => base_commit_sha, @@ -148,6 +180,23 @@ ) end + context "when the package manager version is unsupported" do + let(:unsupported_error_enabled) { true } + + let(:job_definition) do + { + "base_commit_sha" => base_commit_sha, + "base64_dependency_files" => encode_dependency_files(dependency_files_for_unsupported) + } + end + + it "raises ToolVersionNotSupported error" do + expect do + create_dependency_snapshot + end.to raise_error(Dependabot::ToolVersionNotSupported) + end + end + context "when the job definition includes valid information prepared by the file fetcher step" do let(:job_definition) do { diff --git a/updater/spec/dependabot/notices_helpers_spec.rb b/updater/spec/dependabot/notices_helpers_spec.rb index 318612cd56ca..45ac2b598b39 100644 --- a/updater/spec/dependabot/notices_helpers_spec.rb +++ b/updater/spec/dependabot/notices_helpers_spec.rb @@ -42,15 +42,6 @@ def supported_versions end.new end - before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) - end - - after do - Dependabot::Experiments.reset! - end - describe "#add_deprecation_notice" do context "when package manager is provided and is deprecated" do it "adds a deprecation notice to the notices array" do diff --git a/updater/spec/dependabot/update_files_command_spec.rb b/updater/spec/dependabot/update_files_command_spec.rb index 20a31a06147c..db17767e0f6c 100644 --- a/updater/spec/dependabot/update_files_command_spec.rb +++ b/updater/spec/dependabot/update_files_command_spec.rb @@ -3,6 +3,7 @@ require "spec_helper" require "dependabot/update_files_command" +require "dependabot/bundler" require "tmpdir" RSpec.describe Dependabot::UpdateFilesCommand do @@ -112,6 +113,32 @@ end end + context "when there is an unsupported package manager version" do + let(:error) do + Dependabot::ToolVersionNotSupported.new( + "bundler", # tool name + "1.0.0", # detected version + ">= 2.0.0" # supported versions + ) + end + + it_behaves_like "a fast-failed job" + + it "records the unsupported version error with details" do + expect(service).to receive(:record_update_job_error).with( + error_type: "tool_version_not_supported", + error_details: { + "tool-name": "bundler", + "detected-version": "1.0.0", + "supported-versions": ">= 2.0.0" + } + ) + expect(service).to receive(:mark_job_as_processed) + + perform_job + end + end + context "with an update files error (cloud)" do let(:error) { StandardError.new("hell") } diff --git a/updater/spec/dependabot/updater/operations/create_group_update_pull_request_spec.rb b/updater/spec/dependabot/updater/operations/create_group_update_pull_request_spec.rb index 6376b88bf346..15d904b453f6 100644 --- a/updater/spec/dependabot/updater/operations/create_group_update_pull_request_spec.rb +++ b/updater/spec/dependabot/updater/operations/create_group_update_pull_request_spec.rb @@ -135,9 +135,6 @@ end before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) - allow(Dependabot::UpdateCheckers).to receive(:for_package_manager).and_return(stub_update_checker_class) allow(Dependabot::DependencyChangeBuilder) .to receive(:create_from) diff --git a/updater/spec/dependabot/updater/operations/create_security_update_pull_request_spec.rb b/updater/spec/dependabot/updater/operations/create_security_update_pull_request_spec.rb index cadfb1b3f4dd..3fd645e8c9d6 100644 --- a/updater/spec/dependabot/updater/operations/create_security_update_pull_request_spec.rb +++ b/updater/spec/dependabot/updater/operations/create_security_update_pull_request_spec.rb @@ -208,9 +208,6 @@ end before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) - allow(Dependabot::UpdateCheckers).to receive( :for_package_manager ).and_return(stub_update_checker_class) @@ -305,29 +302,6 @@ perform end end - - context "when package manager version is unsupported" do - let(:package_manager_version) { "1" } - let(:supported_versions) { %w(2 3) } - - before do - # Enable the feature flag for unsupported version - allow(Dependabot::Experiments).to receive(:enabled?) - .with(:bundler_v1_unsupported_error) - .and_return(true) - - # Ensure unsupported? method returns true so the error is triggered - allow(package_manager).to receive(:unsupported?).and_return(true) - end - - it "logs the ToolVersionNotSupported error to the error handler" do - # Ensure the error handler receives the expected error - expect(mock_error_handler).to receive(:handle_dependency_error) - .with(hash_including(error: instance_of(Dependabot::ToolVersionNotSupported))) - - perform - end - end end describe "#check_and_create_pull_request" do diff --git a/updater/spec/dependabot/updater/operations/refresh_group_update_pull_request_spec.rb b/updater/spec/dependabot/updater/operations/refresh_group_update_pull_request_spec.rb index 3825770be6da..e877821b7833 100644 --- a/updater/spec/dependabot/updater/operations/refresh_group_update_pull_request_spec.rb +++ b/updater/spec/dependabot/updater/operations/refresh_group_update_pull_request_spec.rb @@ -17,7 +17,7 @@ include DependencyFileHelpers include DummyPkgHelpers - subject(:group_update_all) do + subject(:refresh_group) do described_class.new( service: mock_service, job: job, @@ -55,188 +55,208 @@ instance_double(Dependabot::Updater::ErrorHandler) end - after do - Dependabot::Experiments.reset! + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh_dependencies_changed") end - context "when the same dependencies need to be updated to the same target versions" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh") - end + let(:dependency_files) do + original_bundler_files + end - let(:dependency_files) do - original_bundler_files - end + let(:package_manager) do + DummyPkgHelpers::StubPackageManager.new( + name: "bundler", + version: package_manager_version, + deprecated_versions: deprecated_versions, + supported_versions: supported_versions + ) + end - before do - stub_rubygems_calls - end + let(:package_manager_version) { "2" } + let(:supported_versions) { %w(2 3) } + let(:deprecated_versions) { %w(1) } - it "updates the existing pull request without errors" do - expect(mock_service).to receive(:update_pull_request) do |dependency_change| - expect(dependency_change.dependency_group.name).to eql("everything-everywhere-all-at-once") - expect(dependency_change.updated_dependency_files_hash).to eql(updated_bundler_files_hash) - end + after do + Dependabot::Experiments.reset! + end - group_update_all.perform - end + before do + allow(dependency_snapshot).to receive(:package_manager).and_return(package_manager) + allow(job).to receive(:package_manager).and_return("bundler") end - context "when the dependencies have been since been updated by someone else and there's nothing to do" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh") - end + describe "#perform" do + context "when the same dependencies need to be updated to the same target versions" do + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh") + end - let(:dependency_files) do - updated_bundler_files - end + before do + stub_rubygems_calls + end - before do - stub_rubygems_calls + it "updates the existing pull request without errors" do + expect(mock_service).to receive(:update_pull_request) do |dependency_change| + expect(dependency_change.dependency_group.name).to eql("everything-everywhere-all-at-once") + expect(dependency_change.updated_dependency_files_hash).to eql(updated_bundler_files_hash) + end + + refresh_group.perform + end end - it "closes the pull request" do - expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :update_no_longer_possible) + context "when the dependencies have been since been updated by someone else and there's nothing to do" do + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh") + end - group_update_all.perform - end - end + let(:dependency_files) do + updated_bundler_files + end - context "when the dependencies that need to be updated have changed" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh_dependencies_changed") - end + before do + stub_rubygems_calls + end - let(:dependency_files) do - original_bundler_files - end + it "closes the pull request" do + expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :update_no_longer_possible) - before do - stub_rubygems_calls + refresh_group.perform + end end - it "closes the existing pull request and creates a new one" do - expect(mock_service).to receive(:close_pull_request).with(%w(dummy-pkg-b dummy-pkg-c), :dependencies_changed) + context "when the dependencies that need to be updated have changed" do + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh_dependencies_changed") + end - expect(mock_service).to receive(:create_pull_request) do |dependency_change| - expect(dependency_change.dependency_group.name).to eql("everything-everywhere-all-at-once") - expect(dependency_change.updated_dependency_files_hash).to eql(updated_bundler_files_hash) + let(:dependency_files) do + original_bundler_files end - group_update_all.perform - end - end + before do + stub_rubygems_calls + end - context "when a dependency needs to be updated to a different version" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh_versions_changed") - end + it "closes the existing pull request and creates a new one" do + expect(mock_service).to receive(:close_pull_request).with(%w(dummy-pkg-b dummy-pkg-c), :dependencies_changed) - let(:dependency_files) do - original_bundler_files - end + expect(mock_service).to receive(:create_pull_request) do |dependency_change| + expect(dependency_change.dependency_group.name).to eql("everything-everywhere-all-at-once") + expect(dependency_change.updated_dependency_files_hash).to eql(updated_bundler_files_hash) + end - before do - stub_rubygems_calls + refresh_group.perform + end end - it "creates a new pull request to supersede the existing one" do - expect(mock_service).to receive(:create_pull_request) do |dependency_change| - expect(dependency_change.dependency_group.name).to eql("everything-everywhere-all-at-once") - expect(dependency_change.updated_dependency_files_hash).to eql(updated_bundler_files_hash) + context "when a dependency needs to be updated to a different version" do + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh_versions_changed") end - group_update_all.perform - end - end + let(:dependency_files) do + original_bundler_files + end - # This shouldn't be possible as the grouped update shouldn't put a dependency in more than one group. - # But it's useful to test what will happen on refresh if it does get in this state. - context "when there is a pull request for an overlapping group" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh_similar_pr") - end + before do + stub_rubygems_calls + end - let(:dependency_files) do - original_bundler_files - end + it "creates a new pull request to supersede the existing one" do + expect(mock_service).to receive(:create_pull_request) do |dependency_change| + expect(dependency_change.dependency_group.name).to eql("everything-everywhere-all-at-once") + expect(dependency_change.updated_dependency_files_hash).to eql(updated_bundler_files_hash) + end - before do - stub_rubygems_calls + refresh_group.perform + end end - it "considers the dependencies in the other PRs as handled, and closes the duplicate PR" do - expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :update_no_longer_possible) + # This shouldn't be possible as the grouped update shouldn't put a dependency in more than one group. + # But it's useful to test what will happen on refresh if it does get in this state. + context "when there is a pull request for an overlapping group" do + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh_similar_pr") + end - group_update_all.perform + let(:dependency_files) do + original_bundler_files + end - # It added all of the other existing grouped PRs to the handled list - expect(dependency_snapshot.handled_dependencies).to match_array(%w(dummy-pkg-a dummy-pkg-b dummy-pkg-c - dummy-pkg-d)) - end - end + before do + stub_rubygems_calls + end - context "when the target dependency group is no longer present in the project's config" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh_missing_group") - end + it "considers the dependencies in the other PRs as handled, and closes the duplicate PR" do + expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :update_no_longer_possible) - let(:dependency_files) do - original_bundler_files - end + refresh_group.perform - before do - stub_rubygems_calls + # It added all of the other existing grouped PRs to the handled list + expect(dependency_snapshot.handled_dependencies).to match_array(%w(dummy-pkg-a dummy-pkg-b dummy-pkg-c + dummy-pkg-d)) + end end - it "does nothing, logs a warning and notices an error" do - # Our mocks will fail due to unexpected messages if any errors or PRs are dispatched + context "when the target dependency group is no longer present in the project's config" do + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh_missing_group") + end - expect(Dependabot.logger).to receive(:warn).with( - "The 'everything-everywhere-all-at-once' group has been removed from the update config." - ) + let(:dependency_files) do + original_bundler_files + end - expect(mock_service).to receive(:capture_exception).with( - error: an_instance_of(Dependabot::DependabotError), - job: job - ) + before do + stub_rubygems_calls + end - group_update_all.perform - end - end + it "does nothing, logs a warning and notices an error" do + # Our mocks will fail due to unexpected messages if any errors or PRs are dispatched - context "when the target dependency group no longer matches any dependencies in the project" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh_empty_group") - end + expect(Dependabot.logger).to receive(:warn).with( + "The 'everything-everywhere-all-at-once' group has been removed from the update config." + ) - let(:dependency_files) do - original_bundler_files - end + expect(mock_service).to receive(:capture_exception).with( + error: an_instance_of(Dependabot::DependabotError), + job: job + ) - before do - stub_rubygems_calls + refresh_group.perform + end end - it "logs a warning and tells the service to close the Pull Request" do - # Our mocks will fail due to unexpected messages if any errors or PRs are dispatched + context "when the target dependency group no longer matches any dependencies in the project" do + let(:job_definition) do + job_definition_fixture("bundler/version_updates/group_update_refresh_empty_group") + end - allow(Dependabot.logger).to receive(:warn) - expect(Dependabot.logger).to receive(:warn).with( - "Skipping update group for 'everything-everywhere-all-at-once' as it does not match any allowed dependencies." - ) + let(:dependency_files) do + original_bundler_files + end + + before do + stub_rubygems_calls + end - expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :dependency_group_empty) + it "logs a warning and tells the service to close the Pull Request" do + # Our mocks will fail due to unexpected messages if any errors or PRs are dispatched - group_update_all.perform + allow(Dependabot.logger).to receive(:warn) + expect(Dependabot.logger).to receive(:warn).with( + "Skipping update group for 'everything-everywhere-all-at-once' as it does not match any allowed dependencies." + ) + + expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :dependency_group_empty) + + refresh_group.perform + end end end describe "#deduce_updated_dependency" do - let(:job_definition) do - job_definition_fixture("bundler/version_updates/group_update_refresh_dependencies_changed") - end - let(:dependency_files) do original_bundler_files end @@ -248,13 +268,13 @@ it "returns nil if dependency is nil" do dependency = nil original_dependency = dependency_snapshot.dependencies.first - expect(group_update_all.deduce_updated_dependency(dependency, original_dependency)).to be_nil + expect(refresh_group.deduce_updated_dependency(dependency, original_dependency)).to be_nil end it "returns nil if original_dependency is nil" do dependency = dependency_snapshot.dependencies.first original_dependency = nil - expect(group_update_all.deduce_updated_dependency(dependency, original_dependency)).to be_nil + expect(refresh_group.deduce_updated_dependency(dependency, original_dependency)).to be_nil end end @@ -292,7 +312,7 @@ let(:latest_version) { "1.2.3" } it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end @@ -301,7 +321,7 @@ let(:latest_version) { "1.2.3" } it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end @@ -310,7 +330,7 @@ let(:latest_version) { "1.2.3" } it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end @@ -324,7 +344,7 @@ end it "returns true" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(true) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(true) end end @@ -334,7 +354,7 @@ end it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end @@ -344,7 +364,7 @@ end it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end end @@ -359,7 +379,7 @@ end it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end @@ -369,7 +389,7 @@ end it "returns true" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(true) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(true) end end @@ -379,7 +399,7 @@ end it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end end @@ -394,7 +414,7 @@ end it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end @@ -404,7 +424,7 @@ end it "returns false" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(false) end end @@ -414,7 +434,7 @@ end it "returns true" do - expect(group_update_all.semver_rules_allow_grouping?(group, dependency, checker)).to be(true) + expect(refresh_group.semver_rules_allow_grouping?(group, dependency, checker)).to be(true) end end end diff --git a/updater/spec/dependabot/updater/operations/refresh_security_update_pull_request_spec.rb b/updater/spec/dependabot/updater/operations/refresh_security_update_pull_request_spec.rb index 177effbcf788..a2df8f7bcc86 100644 --- a/updater/spec/dependabot/updater/operations/refresh_security_update_pull_request_spec.rb +++ b/updater/spec/dependabot/updater/operations/refresh_security_update_pull_request_spec.rb @@ -79,6 +79,36 @@ ) end + let(:dependency_b) do + Dependabot::Dependency.new( + name: "dummy-pkg-b", + version: "3.0.0", + requirements: [{ + file: "Gemfile", + requirement: "~> 4.0.0", + groups: ["default"], + source: nil + }], + package_manager: "bundler", + metadata: { all_versions: ["3.0.0"] } + ) + end + + let(:dependency_c) do + Dependabot::Dependency.new( + name: "dummy-pkg-c", + version: "3.0.0", + requirements: [{ + file: "Gemfile", + requirement: "~> 4.0.0", + groups: ["default"], + source: nil + }], + package_manager: "bundler", + metadata: { all_versions: ["3.0.0"] } + ) + end + let(:stub_update_checker) do instance_double( Dependabot::UpdateCheckers::Base, @@ -112,8 +142,7 @@ end before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) + allow(Dependabot::Experiments).to receive(:enabled?).with(:lead_security_dependency).and_return(false) allow(Dependabot::UpdateCheckers).to receive(:for_package_manager).and_return(stub_update_checker_class) allow(Dependabot::DependencyChangeBuilder) @@ -154,20 +183,6 @@ perform end end - - context "when package manager version is unsupported" do - let(:package_manager_version) { "1" } - let(:error) { Dependabot::ToolVersionNotSupported.new("bundler", "1", "v2.*, v3.*") } - - before do - allow(refresh_security_update_pull_request).to receive(:check_and_update_pull_request).and_raise(error) - end - - it "handles the ToolVersionNotSupported error with the error handler" do - expect(mock_error_handler).to receive(:handle_dependency_error).with(error: error, dependency: dependency) - perform - end - end end describe "#check_and_update_pull_request" do @@ -233,5 +248,67 @@ end end end + + context "when the update is allowed and lead dependency is out of order with security advisory" do + before do + allow(Dependabot::Experiments).to receive(:enabled?).with(:lead_security_dependency).and_return(true) + allow(stub_update_checker).to receive_messages( + up_to_date?: false, + requirements_unlocked_or_can_be?: true + ) + allow(job).to receive_messages(allowed_update?: true, + security_advisories: [{ "dependency-name" => "dummy-pkg-a" }]) + end + + after do + allow(Dependabot::Experiments).to receive(:enabled?).with(:lead_security_dependency).and_return(false) + end + + it "checks if a pull request already exists" do + allow(job).to receive(:dependencies).and_return(%w(dummy-pkg-b dummy-pkg-c dummy-pkg-a)) + allow(refresh_security_update_pull_request).to receive(:existing_pull_request).and_return(true) + allow(Dependabot.logger).to receive(:info).and_call_original + + expect(refresh_security_update_pull_request).to receive(:create_pull_request) + + expect(Dependabot.logger) + .to receive(:info) + .with matching(/Security advisory dependency: dummy-pkg-a\nFirst dependency in list: dummy-pkg-b/) + + refresh_security_update_pull_request.send(:check_and_update_pull_request, + [dependency, dependency_b, dependency_c]) + end + end + + context "when the update is allowed and lead dependency is out of order with security advisory" do + before do + allow(Dependabot::Experiments).to receive(:enabled?).with(:lead_security_dependency).and_return(true) + allow(stub_update_checker).to receive_messages( + up_to_date?: false, + requirements_unlocked_or_can_be?: true + ) + allow(job).to receive_messages(allowed_update?: true, + security_advisories: [{ "dependency-name" => "dummy-pkg-a" }]) + end + + after do + allow(Dependabot::Experiments).to receive(:enabled?).with(:lead_security_dependency).and_return(false) + end + + it "checks if a pull request already exists" do + allow(job).to receive(:dependencies).and_return(%w(dummy-pkg-a)) + allow(refresh_security_update_pull_request).to receive(:existing_pull_request).and_return(true) + allow(Dependabot.logger).to receive(:info).and_call_original + + expect(refresh_security_update_pull_request).to receive(:update_pull_request) + + expect(Dependabot.logger) + .to receive(:info) + .with matching(/Security advisory dependency: dummy-pkg-a/) + + refresh_security_update_pull_request.send(:check_and_update_pull_request, + [dependency]) + end + end end end diff --git a/updater/spec/dependabot/updater/operations/refresh_version_update_pull_request_spec.rb b/updater/spec/dependabot/updater/operations/refresh_version_update_pull_request_spec.rb index 937eec9cc7bc..d8abdac525c6 100644 --- a/updater/spec/dependabot/updater/operations/refresh_version_update_pull_request_spec.rb +++ b/updater/spec/dependabot/updater/operations/refresh_version_update_pull_request_spec.rb @@ -126,8 +126,7 @@ end before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) + allow(Dependabot::Experiments).to receive(:enabled?).with(:lead_security_dependency).and_return(false) allow(Dependabot::UpdateCheckers).to receive(:for_package_manager).and_return(stub_update_checker_class) allow(Dependabot::DependencyChangeBuilder) @@ -171,20 +170,6 @@ perform end end - - context "when package manager version is unsupported" do - let(:package_manager_version) { "1" } - let(:error) { Dependabot::ToolVersionNotSupported.new("bundler", "1", "v2.*, v3.*") } - - before do - allow(refresh_version_update_pull_request).to receive(:check_and_update_pull_request).and_raise(error) - end - - it "handles the ToolVersionNotSupported error with the error handler" do - expect(mock_error_handler).to receive(:handle_dependency_error).with(error: error, dependency: dependency) - perform - end - end end describe "#check_and_update_pull_request" do diff --git a/updater/spec/dependabot/updater/operations/update_all_versions_spec.rb b/updater/spec/dependabot/updater/operations/update_all_versions_spec.rb index 69e7fc00e62c..cc667cfe6b31 100644 --- a/updater/spec/dependabot/updater/operations/update_all_versions_spec.rb +++ b/updater/spec/dependabot/updater/operations/update_all_versions_spec.rb @@ -151,9 +151,6 @@ end before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) - allow(Dependabot::UpdateCheckers).to receive( :for_package_manager ).and_return(stub_update_checker_class) diff --git a/updater/spec/dependabot/updater/pull_request_helpers_spec.rb b/updater/spec/dependabot/updater/pull_request_helpers_spec.rb index 077397cf42cd..f48f5cbf85c6 100644 --- a/updater/spec/dependabot/updater/pull_request_helpers_spec.rb +++ b/updater/spec/dependabot/updater/pull_request_helpers_spec.rb @@ -46,8 +46,6 @@ def supported_versions end before do - allow(Dependabot::Experiments).to receive(:enabled?).with(:bundler_v1_unsupported_error).and_return(false) - allow(Dependabot::Experiments).to receive(:enabled?).with(:add_deprecation_warn_to_pr_message).and_return(true) allow(service).to receive(:record_update_job_warning) end diff --git a/updater/spec/fixtures/bundler/original/Gemfile.lock b/updater/spec/fixtures/bundler/original/Gemfile.lock index 4fd8f37aaa10..1f21c435958a 100644 --- a/updater/spec/fixtures/bundler/original/Gemfile.lock +++ b/updater/spec/fixtures/bundler/original/Gemfile.lock @@ -13,4 +13,4 @@ DEPENDENCIES dummy-pkg-b (~> 1.1.0) BUNDLED WITH - 1.14.6 + 2.4.13 diff --git a/updater/spec/fixtures/bundler/original/sub_dep.lock b/updater/spec/fixtures/bundler/original/sub_dep.lock index dae47db2ec40..e6d6a5d03cb4 100644 --- a/updater/spec/fixtures/bundler/original/sub_dep.lock +++ b/updater/spec/fixtures/bundler/original/sub_dep.lock @@ -13,4 +13,4 @@ DEPENDENCIES dummy-pkg-b (~> 1.1.0) BUNDLED WITH - 1.14.6 + 2.4.13 \ No newline at end of file diff --git a/bundler/spec/fixtures/projects/bundler1/bundler_specified/Gemfile b/updater/spec/fixtures/bundler/unsupported/Gemfile similarity index 100% rename from bundler/spec/fixtures/projects/bundler1/bundler_specified/Gemfile rename to updater/spec/fixtures/bundler/unsupported/Gemfile diff --git a/bundler/spec/fixtures/projects/bundler1/bundler_specified/Gemfile.lock b/updater/spec/fixtures/bundler/unsupported/Gemfile.lock similarity index 100% rename from bundler/spec/fixtures/projects/bundler1/bundler_specified/Gemfile.lock rename to updater/spec/fixtures/bundler/unsupported/Gemfile.lock diff --git a/updater/spec/fixtures/bundler/updated/Gemfile.lock b/updater/spec/fixtures/bundler/updated/Gemfile.lock index 0e7697ff9a98..6397df8ca71e 100644 --- a/updater/spec/fixtures/bundler/updated/Gemfile.lock +++ b/updater/spec/fixtures/bundler/updated/Gemfile.lock @@ -13,4 +13,4 @@ DEPENDENCIES dummy-pkg-b (~> 1.2.0) BUNDLED WITH - 1.14.6 + 2.4.13 diff --git a/updater/spec/fixtures/bundler_grouped/original/Gemfile.lock b/updater/spec/fixtures/bundler_grouped/original/Gemfile.lock index 48feef3532e8..8dc7b0cd3087 100644 --- a/updater/spec/fixtures/bundler_grouped/original/Gemfile.lock +++ b/updater/spec/fixtures/bundler_grouped/original/Gemfile.lock @@ -15,4 +15,4 @@ DEPENDENCIES ungrouped-dummy-pkg-c (~> 1.0.0) BUNDLED WITH - 1.14.6 + 2.4.13 diff --git a/updater/spec/support/dummy_pkg_helpers.rb b/updater/spec/support/dummy_pkg_helpers.rb index 2f207f5f13ec..2750b821bdf1 100644 --- a/updater/spec/support/dummy_pkg_helpers.rb +++ b/updater/spec/support/dummy_pkg_helpers.rb @@ -89,10 +89,8 @@ def deprecated? sig { override.returns(T::Boolean) } def unsupported? - # Check if the feature flag for Bundler v1 unsupported error is enabled. - return false unless name == "bundler" && Dependabot::Experiments.enabled?(:bundler_v1_unsupported_error) - - version < supported_versions.first + # Check if the version is not supported + supported_versions.all? { |supported| supported > version } end end end