Kwalitee Issues

meta_yml_conforms_to_known_spec

Take a look at the META.yml Spec at https://metacpan.org/pod/CPAN::Meta::History::Meta_1_4 (for version 1.4) or https://metacpan.org/pod/CPAN::Meta::Spec (for version 2), and change your META.yml accordingly.

Error: Missing mandatory field, 'abstract' (abstract) [Validation: 1.3];value is an undefined string (abstract) [Validation: 1.3]

has_readme

Add a README to the distribution. It should contain a quick description of your module and how to install it.

buildtool_not_executable

Change the permissions of Build.PL/Makefile.PL to not-executable.

manifest_matches_dist

Run a proper command ("make manifest" or "./Build manifest", maybe with a force option), or use a distribution builder to generate the MANIFEST. Or update MANIFEST manually.

Error:

  • MANIFEST (116) does not match dist (229):
  • Missing in MANIFEST: ._Changes, ._Makefile.PL, ._TODO, ._fcgi-spec.html, ._rfc2388.txt, ._rfc2616.txt, ._rfc2965.txt, ._rfc3986.txt, bin/._mojo, bin/._mojolicious, lib/._Mojo.pm, lib/._Mojolicious.pm, lib/Mojo/._Base.pm, lib/Mojo/._Buffer.pm, lib/Mojo/._ByteStream.pm, lib/Mojo/._Client.pm, lib/Mojo/._Content.pm, lib/Mojo/._Cookie.pm, lib/Mojo/._Date.pm, lib/Mojo/._File.pm, lib/Mojo/._Filter.pm, lib/Mojo/._Headers.pm, lib/Mojo/._HelloWorld.pm, lib/Mojo/._Home.pm, lib/Mojo/._Loader.pm, lib/Mojo/._Manual.pod, lib/Mojo/._Message.pm, lib/Mojo/._Parameters.pm, lib/Mojo/._Path.pm, lib/Mojo/._Script.pm, lib/Mojo/._Scripts.pm, lib/Mojo/._Server.pm, lib/Mojo/._Stateful.pm, lib/Mojo/._Template.pm, lib/Mojo/._Transaction.pm, lib/Mojo/._URL.pm, lib/Mojo/._Upload.pm, lib/Mojo/Content/._MultiPart.pm, lib/Mojo/Cookie/._Request.pm, lib/Mojo/Cookie/._Response.pm, lib/Mojo/File/._Memory.pm, lib/Mojo/Filter/._Chunked.pm, lib/Mojo/Manual/._CodingGuidelines.pod, lib/Mojo/Manual/._Cookbook.pod, lib/Mojo/Manual/._FrameworkBuilding.pod, lib/Mojo/Manual/._GettingStarted.pod, lib/Mojo/Manual/._HTTPGuide.pod, lib/Mojo/Manual/._Mojolicious.pod, lib/Mojo/Message/._Request.pm, lib/Mojo/Message/._Response.pm, lib/Mojo/Script/._Cgi.pm, lib/Mojo/Script/._Daemon.pm, lib/Mojo/Script/._DaemonPrefork.pm, lib/Mojo/Script/._Fastcgi.pm, lib/Mojo/Script/._Generate.pm, lib/Mojo/Script/._Test.pm, lib/Mojo/Script/Generate/._App.pm, lib/Mojo/Server/._CGI.pm, lib/Mojo/Server/._Daemon.pm, lib/Mojo/Server/._FastCGI.pm, lib/Mojo/Server/Daemon/._Prefork.pm, lib/MojoX/._Renderer.pm, lib/MojoX/._Routes.pm, lib/MojoX/._Types.pm, lib/MojoX/Dispatcher/._Routes.pm, lib/MojoX/Dispatcher/._Static.pm, lib/MojoX/Dispatcher/Routes/._Context.pm, lib/MojoX/Dispatcher/Routes/._Controller.pm, lib/MojoX/Routes/._Match.pm, lib/MojoX/Routes/._Pattern.pm, lib/Mojolicious/._Context.pm, lib/Mojolicious/._Controller.pm, lib/Mojolicious/._Dispatcher.pm, lib/Mojolicious/._Renderer.pm, lib/Mojolicious/._Scripts.pm, lib/Mojolicious/Script/._Daemon.pm, lib/Mojolicious/Script/._Generate.pm, lib/Mojolicious/Script/._Mojo.pm, lib/Mojolicious/Script/._Test.pm, lib/Mojolicious/Script/Generate/._App.pm, lib/Test/Mojo/._Server.pm, t/._pod.t, t/._pod_coverage.t, t/mojo/._base.t, t/mojo/._bytestream.t, t/mojo/._cgi.t, t/mojo/._client.t, t/mojo/._cookie.t, t/mojo/._daemon.t, t/mojo/._daemon_prefork.t, t/mojo/._date.t, t/mojo/._fastcgi.t, t/mojo/._headers.t, t/mojo/._home.t, t/mojo/._lighttpd_cgi.t, t/mojo/._lighttpd_fastcgi.t, t/mojo/._loader.t, t/mojo/._message.t, t/mojo/._template.t, t/mojo/._url.t, t/mojo/lib/._LoaderTest.pm, t/mojo/lib/._LoaderTestBase.pm, t/mojo/lib/._test.mt, t/mojo/lib/LoaderTest/._A.pm, t/mojo/lib/LoaderTest/._B.pm, t/mojo/lib/LoaderTest/._C.pm, t/mojolicious/._app.t, t/mojolicious/lib/._MojoliciousTest.pm, t/mojolicious/lib/MojoliciousTest/._Foo.pm, t/mojolicious/public/._hello.txt, t/mojolicious/templates/foo/._index.phtml, t/mojox/routes/._pattern.t, t/mojox/routes/._routes.t

use_strict

Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

Error: ._Mojo, ._Mojolicious, Mojo::._Base, Mojo::._Buffer, Mojo::._ByteStream, Mojo::._Client, Mojo::._Content, Mojo::._Cookie, Mojo::._Date, Mojo::._File, Mojo::._Filter, Mojo::._Headers, Mojo::._HelloWorld, Mojo::._Home, Mojo::._Loader, Mojo::._Message, Mojo::._Parameters, Mojo::._Path, Mojo::._Script, Mojo::._Scripts, Mojo::._Server, Mojo::._Stateful, Mojo::._Template, Mojo::._Transaction, Mojo::._URL, Mojo::._Upload, Mojo::Content::._MultiPart, Mojo::Cookie::._Request, Mojo::Cookie::._Response, Mojo::File::._Memory, Mojo::Filter::._Chunked, Mojo::Message::._Request, Mojo::Message::._Response, Mojo::Script::._Cgi, Mojo::Script::._Daemon, Mojo::Script::._DaemonPrefork, Mojo::Script::._Fastcgi, Mojo::Script::._Generate, Mojo::Script::._Test, Mojo::Script::Generate::._App, Mojo::Server::._CGI, Mojo::Server::._Daemon, Mojo::Server::._FastCGI, Mojo::Server::Daemon::._Prefork, MojoX::._Renderer, MojoX::._Routes, MojoX::._Types, MojoX::Dispatcher::._Routes, MojoX::Dispatcher::._Static, MojoX::Dispatcher::Routes::._Context, MojoX::Dispatcher::Routes::._Controller, MojoX::Routes::._Match, MojoX::Routes::._Pattern, Mojolicious::._Context, Mojolicious::._Controller, Mojolicious::._Dispatcher, Mojolicious::._Renderer, Mojolicious::._Scripts, Mojolicious::Script::._Daemon, Mojolicious::Script::._Generate, Mojolicious::Script::._Mojo, Mojolicious::Script::._Test, Mojolicious::Script::Generate::._App, Test::Mojo::._Server

meta_yml_declares_perl_version

If you are using Build.PL define the {requires}{perl} = VERSION field. If you are using MakeMaker (Makefile.PL) you should upgrade ExtUtils::MakeMaker to 6.48 and use MIN_PERL_VERSION parameter. Perl::MinimumVersion can help you determine which version of Perl your module needs.

has_meta_json

Add a META.json to the distribution. Your buildtool should be able to autogenerate it.

no_dot_underscore_files

If you use Mac OS X, set COPYFILE_DISABLE (for OS 10.5 and better) or COPY_EXTENDED_ATTRIBUTES_DISABLE (for OS 10.4) environmental variable to true to exclude dot underscore files from a distribution.

Error:

  • ._Changes
  • ._Makefile.PL
  • ._TODO
  • ._fcgi-spec.html
  • ._rfc2388.txt
  • ._rfc2616.txt
  • ._rfc2965.txt
  • ._rfc3986.txt
  • bin/._mojo
  • bin/._mojolicious
  • lib/._Mojo.pm
  • lib/._Mojolicious.pm
  • lib/Mojo/._Base.pm
  • lib/Mojo/._Buffer.pm
  • lib/Mojo/._ByteStream.pm
  • lib/Mojo/._Client.pm
  • lib/Mojo/._Content.pm
  • lib/Mojo/._Cookie.pm
  • lib/Mojo/._Date.pm
  • lib/Mojo/._File.pm
  • lib/Mojo/._Filter.pm
  • lib/Mojo/._Headers.pm
  • lib/Mojo/._HelloWorld.pm
  • lib/Mojo/._Home.pm
  • lib/Mojo/._Loader.pm
  • lib/Mojo/._Manual.pod
  • lib/Mojo/._Message.pm
  • lib/Mojo/._Parameters.pm
  • lib/Mojo/._Path.pm
  • lib/Mojo/._Script.pm
  • lib/Mojo/._Scripts.pm
  • lib/Mojo/._Server.pm
  • lib/Mojo/._Stateful.pm
  • lib/Mojo/._Template.pm
  • lib/Mojo/._Transaction.pm
  • lib/Mojo/._URL.pm
  • lib/Mojo/._Upload.pm
  • lib/Mojo/Content/._MultiPart.pm
  • lib/Mojo/Cookie/._Request.pm
  • lib/Mojo/Cookie/._Response.pm
  • lib/Mojo/File/._Memory.pm
  • lib/Mojo/Filter/._Chunked.pm
  • lib/Mojo/Manual/._CodingGuidelines.pod
  • lib/Mojo/Manual/._Cookbook.pod
  • lib/Mojo/Manual/._FrameworkBuilding.pod
  • lib/Mojo/Manual/._GettingStarted.pod
  • lib/Mojo/Manual/._HTTPGuide.pod
  • lib/Mojo/Manual/._Mojolicious.pod
  • lib/Mojo/Message/._Request.pm
  • lib/Mojo/Message/._Response.pm
  • lib/Mojo/Script/._Cgi.pm
  • lib/Mojo/Script/._Daemon.pm
  • lib/Mojo/Script/._DaemonPrefork.pm
  • lib/Mojo/Script/._Fastcgi.pm
  • lib/Mojo/Script/._Generate.pm
  • lib/Mojo/Script/._Test.pm
  • lib/Mojo/Script/Generate/._App.pm
  • lib/Mojo/Server/._CGI.pm
  • lib/Mojo/Server/._Daemon.pm
  • lib/Mojo/Server/._FastCGI.pm
  • lib/Mojo/Server/Daemon/._Prefork.pm
  • lib/MojoX/._Renderer.pm
  • lib/MojoX/._Routes.pm
  • lib/MojoX/._Types.pm
  • lib/MojoX/Dispatcher/._Routes.pm
  • lib/MojoX/Dispatcher/._Static.pm
  • lib/MojoX/Dispatcher/Routes/._Context.pm
  • lib/MojoX/Dispatcher/Routes/._Controller.pm
  • lib/MojoX/Routes/._Match.pm
  • lib/MojoX/Routes/._Pattern.pm
  • lib/Mojolicious/._Context.pm
  • lib/Mojolicious/._Controller.pm
  • lib/Mojolicious/._Dispatcher.pm
  • lib/Mojolicious/._Renderer.pm
  • lib/Mojolicious/._Scripts.pm
  • lib/Mojolicious/Script/._Daemon.pm
  • lib/Mojolicious/Script/._Generate.pm
  • lib/Mojolicious/Script/._Mojo.pm
  • lib/Mojolicious/Script/._Test.pm
  • lib/Mojolicious/Script/Generate/._App.pm
  • lib/Test/Mojo/._Server.pm
  • t/._pod.t
  • t/._pod_coverage.t
  • t/mojo/._base.t
  • t/mojo/._bytestream.t
  • t/mojo/._cgi.t
  • t/mojo/._client.t
  • t/mojo/._cookie.t
  • t/mojo/._daemon.t
  • t/mojo/._daemon_prefork.t
  • t/mojo/._date.t
  • t/mojo/._fastcgi.t
  • t/mojo/._headers.t
  • t/mojo/._home.t
  • t/mojo/._lighttpd_cgi.t
  • t/mojo/._lighttpd_fastcgi.t
  • t/mojo/._loader.t
  • t/mojo/._message.t
  • t/mojo/._template.t
  • t/mojo/._url.t
  • t/mojo/lib/._LoaderTest.pm
  • t/mojo/lib/._LoaderTestBase.pm
  • t/mojo/lib/._test.mt
  • t/mojo/lib/LoaderTest/._A.pm
  • t/mojo/lib/LoaderTest/._B.pm
  • t/mojo/lib/LoaderTest/._C.pm
  • t/mojolicious/._app.t
  • t/mojolicious/lib/._MojoliciousTest.pm
  • t/mojolicious/lib/MojoliciousTest/._Foo.pm
  • t/mojolicious/public/._hello.txt
  • t/mojolicious/templates/foo/._index.phtml
  • t/mojox/routes/._pattern.t
  • t/mojox/routes/._routes.t

use_warnings

Add 'use warnings' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

Error: ._Mojo, ._Mojolicious, Mojo::._Base, Mojo::._Buffer, Mojo::._ByteStream, Mojo::._Client, Mojo::._Content, Mojo::._Cookie, Mojo::._Date, Mojo::._File, Mojo::._Filter, Mojo::._Headers, Mojo::._HelloWorld, Mojo::._Home, Mojo::._Loader, Mojo::._Message, Mojo::._Parameters, Mojo::._Path, Mojo::._Script, Mojo::._Scripts, Mojo::._Server, Mojo::._Stateful, Mojo::._Template, Mojo::._Transaction, Mojo::._URL, Mojo::._Upload, Mojo::Content::._MultiPart, Mojo::Cookie::._Request, Mojo::Cookie::._Response, Mojo::File::._Memory, Mojo::Filter::._Chunked, Mojo::Message::._Request, Mojo::Message::._Response, Mojo::Script::._Cgi, Mojo::Script::._Daemon, Mojo::Script::._DaemonPrefork, Mojo::Script::._Fastcgi, Mojo::Script::._Generate, Mojo::Script::._Test, Mojo::Script::Generate::._App, Mojo::Server::._CGI, Mojo::Server::._Daemon, Mojo::Server::._FastCGI, Mojo::Server::Daemon::._Prefork, MojoX::._Renderer, MojoX::._Routes, MojoX::._Types, MojoX::Dispatcher::._Routes, MojoX::Dispatcher::._Static, MojoX::Dispatcher::Routes::._Context, MojoX::Dispatcher::Routes::._Controller, MojoX::Routes::._Match, MojoX::Routes::._Pattern, Mojolicious::._Context, Mojolicious::._Controller, Mojolicious::._Dispatcher, Mojolicious::._Renderer, Mojolicious::._Scripts, Mojolicious::Script::._Daemon, Mojolicious::Script::._Generate, Mojolicious::Script::._Mojo, Mojolicious::Script::._Test, Mojolicious::Script::Generate::._App, Test::Mojo::._Server

meta_yml_has_provides

Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build or Dist::Zilla::Plugin::MetaProvides do this automatically for you.

meta_yml_has_repository_resource

Add a 'repository' resource to the META.yml via 'meta_add' accessor (for Module::Build) or META_ADD parameter (for ExtUtils::MakeMaker).

has_separate_license_file

This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.

has_security_doc

Add SECURITY(.pod|md). See Software::Security::Policy.

security_doc_contains_contact

Add SECURITY(.pod|md) and add a contact address. See Software::Security::Policy.

has_contributing_doc

Add CONTRIBUTING(.pod|md). See https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.

Modules

Name Abstract Version View
Mojo The Web In A Box! 0.008001 metacpan
Mojo::Base Once Upon A Midnight Dreary! metacpan
Mojo::Buffer Buffer metacpan
Mojo::ByteStream ByteStream metacpan
Mojo::Client Client metacpan
Mojo::Content Content metacpan
Mojo::Content::MultiPart MultiPart Content metacpan
Mojo::Cookie Cookie Base Class metacpan
Mojo::Cookie::Request Request Cookies metacpan
Mojo::Cookie::Response Response Cookies metacpan
Mojo::Date Date metacpan
Mojo::File File metacpan
Mojo::File::Memory In-Memory File metacpan
Mojo::Filter Filter Base Class metacpan
Mojo::Filter::Chunked Chunked Filter metacpan
Mojo::Headers Headers metacpan
Mojo::HelloWorld Hello World! metacpan
Mojo::Home Home Sweet Home! metacpan
Mojo::Loader Loader metacpan
Mojo::Message Message Base Class metacpan
Mojo::Message::Request Request metacpan
Mojo::Message::Response Response metacpan
Mojo::Parameters Parameters metacpan
Mojo::Path Path metacpan
Mojo::Script Script Base Class metacpan
Mojo::Script::Cgi CGI Script metacpan
Mojo::Script::Daemon Daemon Script metacpan
Mojo::Script::DaemonPrefork Prefork Daemon Script metacpan
Mojo::Script::Fastcgi FastCGI Script metacpan
Mojo::Script::Generate Generator Script metacpan
Mojo::Script::Generate::App Application Generator Script metacpan
Mojo::Script::Test Test Script metacpan
Mojo::Scripts Scripts metacpan
Mojo::Server Server Base Class metacpan
Mojo::Server::CGI CGI Server metacpan
Mojo::Server::Daemon HTTP Server metacpan
Mojo::Server::Daemon::Prefork Prefork HTTP Server metacpan
Mojo::Server::FastCGI FastCGI Server metacpan
Mojo::Stateful Stateful Base Class metacpan
Mojo::Template Perlish Templates! metacpan
Mojo::Transaction Transaction metacpan
Mojo::URL Uniform Resource Locator metacpan
Mojo::Upload Upload metacpan
MojoX::Dispatcher::Routes Routes Dispatcher metacpan
MojoX::Dispatcher::Routes::Context Routes Dispatcher Context metacpan
MojoX::Dispatcher::Routes::Controller Controller Base Class metacpan
MojoX::Dispatcher::Static Static Dispatcher metacpan
MojoX::Renderer Renderer metacpan
MojoX::Routes Routes metacpan
MojoX::Routes::Match Match metacpan
MojoX::Routes::Pattern Pattern metacpan
MojoX::Types Types metacpan
Mojolicious Web Framework metacpan
Mojolicious::Context Context metacpan
Mojolicious::Controller Controller Base Class metacpan
Mojolicious::Dispatcher Dispatcher metacpan
Mojolicious::Renderer Renderer metacpan
Mojolicious::Script::Daemon Daemon Script metacpan
Mojolicious::Script::Generate Generator Script metacpan
Mojolicious::Script::Generate::App App Generator Script metacpan
Mojolicious::Script::Mojo Mojo Script metacpan
Mojolicious::Script::Test Test Script metacpan
Mojolicious::Scripts Scripts metacpan
Test::Mojo::Server Server Tests metacpan

Other Files

Changes metacpan
MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan