Web interface for MetaCPAN
Latest commit 04c77da Nov 11, 2018
Failed to load latest commit information.
.github remove issue template Jan 29, 2018
bin enable perltidy --weld-nested-containers Jan 29, 2018
git Use carton's local::lib for pre-commit hook Jun 5, 2014
lib Fix lab dashboard Nov 11, 2018
root Fix lab dashboard Nov 11, 2018
t Fix lab dashboard Nov 11, 2018
.dockerignore Dockerize MetaCPAN web frontend Jun 29, 2017
.editorconfig Keep indentation consistent in travis yml Oct 15, 2014
.gitignore remove some unneeded +x flags Nov 30, 2017
.mailmap add mailmap Nov 19, 2017
.perlcriticrc Allow explicit undef. May 12, 2017
.perltidyrc enable perltidy --weld-nested-containers Jan 29, 2018
.tidyallrc Ignore file with Test::Vars chokes on. Jun 8, 2017
.travis.yml make sure AUTHOR_TESTING is 0 when installing prereqs on travis Jun 1, 2018
Dockerfile 💄 put `&&` at the start of RUN subcommands Jul 2, 2017
LICENSE License under same terms as Perl (GPL/Artistic) Jan 25, 2014
News.md remove search.cpan.org references and links, including tests May 30, 2018
README.md add kritika badge Nov 18, 2017
app.psgi enable perltidy --weld-nested-containers Jan 29, 2018
cpanfile replace MooseX::Types with Type::Tiny Jun 3, 2018
cpanfile.snapshot Add definition for Mac::SystemDirectory Oct 14, 2018
log4perl.conf Move the daemon to logging using the local facility to keep these Nov 16, 2017
metacpan_web.conf list default l4p file in config file Dec 14, 2017
run-dev no proxy for dev server reverse proxy Oct 15, 2018
static-app.psgi improvement for dev server Jun 25, 2018


Build Status Coverage Status Kritika Analysis Status


We strongly recommend using metacpan-developer, this will give you a virtual machine already configured and ready to start developing on.

$ vagrant ssh
$ cd $HOME/metacpan-web
$ sudo service starman_metacpan-web restart

You'll find some log files in var/logs.

Installing manually

If you prefer not to use the VM, the following commands will get you started: commands can be converted to:

$ carton install
$ ./bin/prove t
$ carton exec plackup -p 5001 -r

Local configuration changes

The backend defaults to fastapi.metacpan.org. Running a local API server is optional and not required to hack on the front-end. The address to the API user can be changed in the metacpan_web.conf file. Ideally you would create a new file called metacpan_web_local.conf that contains


which will be loaded on top of the existing config file.


On Win32 (and possibly also on other platforms) when using Perl < 5.12, the server started with plackup will generate warnings relating to date parsing. These are caused by Plack due to a bug in the gmtime implementation and can be removed by upgrading to Perl 5.12.