From 6a2c163303157516aa11db8c91932216547a8295 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Sun, 19 May 2024 18:29:34 +0200 Subject: [PATCH] drop some unneeded prereqs Some of the prereqs are from old removed code, and others are trivially replaced with more standard modules. --- cpanfile | 15 ++------------- improve-search-results/app.pl | 12 ++++++------ lib/MetaCPAN/Document/File.pm | 2 +- lib/MetaCPAN/Script/Backup.pm | 3 +-- lib/MetaCPAN/Script/Tickets.pm | 17 +++++++++-------- lib/MetaCPAN/Server/Controller.pm | 1 - .../Tests/Controller/Search/DownloadURL.pm | 3 +-- t/release/packages-unclaimable.t | 8 ++++---- 8 files changed, 24 insertions(+), 37 deletions(-) diff --git a/cpanfile b/cpanfile index 0097fe261..ce92962b3 100644 --- a/cpanfile +++ b/cpanfile @@ -23,7 +23,6 @@ requires 'CatalystX::Fastly::Role::Response', '0.06'; requires 'CatalystX::InjectComponent'; requires 'CatalystX::RoleApplicator'; requires 'CHI', '0.61'; -requires 'Config::Any', '0.32'; requires 'Config::General', '2.63'; requires 'Config::ZOMG', '1.000000'; requires 'Const::Fast'; @@ -35,18 +34,14 @@ requires 'CPAN::Meta::YAML', '0.018'; requires 'CPAN::Repository::Perms'; requires 'Cwd'; requires 'Data::DPath'; -requires 'Data::Dump'; requires 'Data::Dumper'; -requires 'Data::Printer', '1.000004'; requires 'DateTime', '1.54'; requires 'DateTime::Format::ISO8601'; requires 'DBD::SQLite', '1.66'; requires 'DBI', '1.643'; -requires 'Devel::ArgNames'; requires 'Digest::MD5'; requires 'Digest::SHA'; requires 'ElasticSearchX::Model', '2.0.1'; -requires 'Email::Address'; requires 'Email::Sender::Simple'; requires 'Email::Simple'; requires 'Email::Valid', '1.203'; @@ -73,17 +68,13 @@ requires 'Git::Helpers', '1.000001'; requires 'Gravatar::URL'; requires 'Hash::Merge::Simple'; requires 'HTML::Entities'; -requires 'HTML::TokeParser::Simple'; requires 'HTTP::Request::Common', '6.36'; -requires 'IO::All'; requires 'IO::Interactive'; requires 'IO::Prompt'; -requires 'IO::String'; requires 'IO::Uncompress::Bunzip2', '2.106'; requires 'IO::Zlib'; requires 'IPC::Run3', '0.048'; requires 'JSON::MaybeXS', '1.004004'; # indirect dep -requires 'List::AllUtils', '0.09'; requires 'List::Util', '1.62'; requires 'Log::Any::Adapter'; requires 'Log::Any::Adapter::Log4perl'; @@ -126,10 +117,7 @@ requires 'MooseX::Types::Moose'; requires 'Mozilla::CA', '20211001'; requires 'namespace::autoclean'; requires 'Net::Fastly', '1.12'; -requires 'Net::HTTP', '6.22'; # LWP::UserAgent -requires 'OrePAN2', '0.48'; requires 'Parse::CPAN::Packages::Fast', '0.09'; -requires 'Parse::CSV', '2.04'; requires 'Parse::PMFile', '0.43'; requires 'Path::Iterator::Rule', '>=1.011'; requires 'PAUSE::Permissions', '0.17'; @@ -153,9 +141,9 @@ requires 'Regexp::Common::time'; requires 'Safe', '2.35'; # bug fixes (used by Parse::PMFile) requires 'Scalar::Util', '1.62'; # Moose requires 'Search::Elasticsearch', '== 2.03'; -requires 'strictures', '1'; requires 'Term::Choose', '1.754'; # Git::Helpers requires 'Throwable::Error'; +requires 'Text::CSV_XS'; requires 'Time::Local'; requires 'Try::Tiny', '0.30'; requires 'Type::Tiny', '2.000001'; @@ -178,6 +166,7 @@ requires 'MetaCPAN::Client', '2.029000'; requires 'Module::Extract::Namespaces', '1.023'; requires 'Module::Faker', '== 0.017'; requires 'Module::Faker::Dist', '== 0.017'; +requires 'OrePAN2', '0.48'; requires 'Parallel::ForkManager' => '2.02'; requires 'Perl::Critic', '0.140'; requires 'Perl::Tidy' => '== 20230309'; diff --git a/improve-search-results/app.pl b/improve-search-results/app.pl index d99e6f131..9d9d1fc5f 100755 --- a/improve-search-results/app.pl +++ b/improve-search-results/app.pl @@ -1,7 +1,7 @@ use Mojolicious::Lite; use Mojo::Pg; -use List::AllUtils 'first_index'; +use List::Util qw(first); my $user = getpwuid($<); # for vagrant user on dev box @@ -82,8 +82,8 @@ sub _perform_sco { my $url = Mojo::URL->new('http://search.cpan.org/search?mode=all&n=100'); $url->query([query => $search]); my $tx = $c->app->ua->get($url); - my $res = $tx->res->dom->find('.sr')->map('all_text'); - my $idx = first_index { $_ eq $expect } @{$res->to_array}; + my $res = $tx->res->dom->find('.sr')->map('all_text')->to_array; + my $idx = first { $res->[$_] eq $expect } @{$res->to_array}; return $idx < 0 ? undef : $idx + 1; } @@ -92,8 +92,8 @@ sub _perform_mweb { my $url = Mojo::URL->new('https://metacpan.org/search?size=100'); $url->query([q => $search]); my $tx = $c->app->ua->get($url); - my $res = $tx->res->dom->find('.module-result big strong a')->map('all_text'); - my $idx = first_index { $_ eq $expect } @{$res->to_array}; + my $res = $tx->res->dom->find('.module-result big strong a')->map('all_text')->to_array; + my $idx = first { $res->[$_] eq $expect } 0 .. $#{$res}; return $idx < 0 ? undef : $idx + 1; } @@ -210,4 +210,4 @@ sub _perform_mweb { drop table if exists searches cascade; drop table if exists sources cascade; -drop table if exists results cascade; \ No newline at end of file +drop table if exists results cascade; diff --git a/lib/MetaCPAN/Document/File.pm b/lib/MetaCPAN/Document/File.pm index 62d35ca0a..93d563e2b 100644 --- a/lib/MetaCPAN/Document/File.pm +++ b/lib/MetaCPAN/Document/File.pm @@ -7,7 +7,7 @@ use utf8; use Moose; use ElasticSearchX::Model::Document; -use List::AllUtils qw( any ); +use List::Util qw( any ); use MetaCPAN::Document::Module (); use MetaCPAN::Types qw( Module ); use MetaCPAN::Types::TypeTiny qw( diff --git a/lib/MetaCPAN/Script/Backup.pm b/lib/MetaCPAN/Script/Backup.pm index f5509879e..806d0bc22 100644 --- a/lib/MetaCPAN/Script/Backup.pm +++ b/lib/MetaCPAN/Script/Backup.pm @@ -4,7 +4,6 @@ use strict; use warnings; use feature qw( state ); -use Data::Printer; use DateTime; use IO::Zlib (); use Cpanel::JSON::XS qw( decode_json encode_json ); @@ -112,7 +111,7 @@ sub run_restore { try { $raw = decode_json($line) } catch { - log_warn {"cannot decode JSON: $line --- $_"}; + log_warn {"cannot decode JSON: $line --- $&"}; }; # Create our bulk_helper if we need, diff --git a/lib/MetaCPAN/Script/Tickets.pm b/lib/MetaCPAN/Script/Tickets.pm index 2ec81784c..a578235e6 100644 --- a/lib/MetaCPAN/Script/Tickets.pm +++ b/lib/MetaCPAN/Script/Tickets.pm @@ -7,10 +7,9 @@ use namespace::autoclean; $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0; use HTTP::Request::Common qw( GET ); -use IO::String (); use Log::Contextual qw( :log :dlog ); use MetaCPAN::Types::TypeTiny (); -use Parse::CSV (); +use Text::CSV_XS (); use Pithub (); use Ref::Util qw( is_hashref is_ref ); use URI::Escape qw( uri_escape ); @@ -197,18 +196,20 @@ sub index_rt_bugs { sub parse_tsv { my ( $self, $tsv ) = @_; - $tsv =~ s/^#\s*(dist\s.+)/$1/m; # uncomment the field spec for Parse::CSV + $tsv + =~ s/^#\s*(dist\s.+)/$1/m; # uncomment the field spec for Text::CSV_XS $tsv =~ s/^#.*\n//mg; + open my $fh, '<', \$tsv; + # NOTE: This is byte-oriented. - my $tsv_parser = Parse::CSV->new( - handle => IO::String->new($tsv), + my $tsv_parser = Text::CSV_XS->new( { sep_char => "\t", - names => 1, - ); + } ); + $tsv_parser->header($fh); my %summary; - while ( my $row = $tsv_parser->fetch ) { + while ( my $row = $tsv_parser->getline_hr($fh) ) { $summary{ $row->{dist} }{'bugs'}{'rt'} = { source => $self->rt_dist_url( $row->{dist} ), active => $row->{active}, diff --git a/lib/MetaCPAN/Server/Controller.pm b/lib/MetaCPAN/Server/Controller.pm index 274f4122d..24b8ed576 100644 --- a/lib/MetaCPAN/Server/Controller.pm +++ b/lib/MetaCPAN/Server/Controller.pm @@ -4,7 +4,6 @@ use Moose; use namespace::autoclean; use Cpanel::JSON::XS (); -use List::AllUtils (); use Moose::Util (); use MetaCPAN::Types::TypeTiny qw( HashRef ); use MetaCPAN::Util qw( single_valued_arrayref_to_scalar ); diff --git a/t/lib/MetaCPAN/Tests/Controller/Search/DownloadURL.pm b/t/lib/MetaCPAN/Tests/Controller/Search/DownloadURL.pm index 1fc6353ac..c3dbb94e9 100644 --- a/t/lib/MetaCPAN/Tests/Controller/Search/DownloadURL.pm +++ b/t/lib/MetaCPAN/Tests/Controller/Search/DownloadURL.pm @@ -19,8 +19,7 @@ sub run { "GET $module" ); my $json = decode_json_ok($res); - use Data::Dump qw(pp); - print STDERR ( pp( scalar $json ), "\n" ); + diag explain $json; # my $got # = [ map { $_->{_source}{documentation} } diff --git a/t/release/packages-unclaimable.t b/t/release/packages-unclaimable.t index c4a1942de..23a6d5ad9 100644 --- a/t/release/packages-unclaimable.t +++ b/t/release/packages-unclaimable.t @@ -3,8 +3,7 @@ use warnings; use lib 't/lib'; use Cpanel::JSON::XS (); -use IO::String (); -use List::AllUtils qw( uniq ); +use List::Util qw( uniq ); use MetaCPAN::Server::Test; use MetaCPAN::TestHelpers qw( test_release ); use Module::Metadata (); @@ -42,9 +41,10 @@ test_release( my $content = $self->file_content('lib/Packages/Unclaimable.pm'); + open my $fh, '<', \$content; + my $mm - = Module::Metadata->new_from_handle( - IO::String->new($content), + = Module::Metadata->new_from_handle( $fh, 'lib/Packages/Unclaimable.pm' ); is_deeply [ uniq sort $mm->packages_inside ],