• Stars
    star
    414
  • Rank 104,550 (Top 3 %)
  • Language
    Perl
  • License
    Other
  • Created over 13 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web interface for MetaCPAN

test Coverage Status

Getting Started

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

If you prefer not to use Docker, the following commands will get you started:

Installing Manually

carton install
yarn install
export PATH="$(realpath ./node_modules/.bin):$PATH"

Installing on macOS

If you like, you can install carton via Homebrew:

brew install carton

If your carton install is having issues with SSL-related modules, you may need to use an OPENSSL_PREFIX. Something like:

OPENSSL_PREFIX="/usr/local/Cellar/[email protected]/1.1.1q" carton install

You may need to check /usr/local/Cellar/[email protected] to find the latest installed path on your system.

Running Tests

You can use the supplied wrapper around prove to run tests:

./bin/prove t

To run the tests in parallel, add -j8 (or however many CPUs you have) to the prove command.

Running the App

carton exec plackup -p 5001 -r

If you'd like to use Gazelle rather than the default Plack server:

carton exec plackup -p 5001 -s Gazelle -r

Local Git and testing considerations

You will want to set up the supplied pre-commit Git hook like so:

./git/setup.sh

which causes tidyall to be run before each commit. You can manually run this with tidyall path/to/file

Local Configuration Changes

The back end 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 being used can be changed in the metacpan_web.conf file. Ideally you would create a new file called metacpan_web_local.conf that contains

api                 http://127.0.0.1:5000

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

Compatibility Notes

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.

More Repositories

1

metacpan-api

A free, open API for everything you want to know about CPAN
Perl
289
star
2

github-meets-cpan

Shows connections between the MetaCPAN users and their Github accounts
Perl
43
star
3

metacpan-examples

Sample code to get you up and running quickly
Perl
41
star
4

js-metacpan-org

Proof of concept search page for using api.metacpan.org
JavaScript
28
star
5

metacpan-docker

DEVELOPMENT Docker configs for MetaCPAN
Shell
25
star
6

metacpan-puppet

Puppet configuration for running metacpan servers
Ruby
21
star
7

MetaCPAN-Client

Home of the official MetaCPAN Perl API client.
Perl
21
star
8

metacpan-explorer

Interactive explorer for the MetaCPAN API
JavaScript
18
star
9

metacpan-grep-front-end

Grep Front end code
CSS
13
star
10

network-infrastructure

Notes and information about the MetaCPAN networks and infrastructure
JavaScript
12
star
11

metacpan-cpan-extracted

Extracted CPAN (all latest files extracted)
12
star
12

prepan

Perl
11
star
13

CPAN-Changes

Read and write Changes files
Perl
9
star
14

prepan-cookbooks

Ruby
9
star
15

release-badge

A JavaScript badge which displays info on the latest release of a CPAN module.
JavaScript
5
star
16

metacpan-sysadmin

Tools for troubleshooting the production machines
Perl
4
star
17

metacpan-base

Base docker image for metacpan docker images
Shell
3
star
18

metacpan-ansible

NOT USED Ansible deployment configuration
Jinja
3
star
19

metacpan-grep-builder

Experiment on building a git grep service of current CPAN
Perl
3
star
20

logo-vote

Logo contest voting server
Perl
2
star
21

metacpan-assets

Logos etc.
2
star
22

MetaCPAN-Pod-HTML

Perl
2
star
23

p5-CatalystX-Fastly-Role-Response

Add Fastly CDN related responses to your Catalyst App
Perl
1
star
24

metacpan-api-v0-shim

Perl
1
star
25

MetaShare

Replaced with metacpan / p5-metacpan-role
Perl
1
star
26

metacpan-docker-production

Production setup of metacpan docker
Shell
1
star
27

sco-redirect

Perl
1
star
28

metacpan-vagrant

Configure Virtual Development machines for metacpan
Shell
1
star
29

metacpan-monitoring

Monitoring metacpan
Perl
1
star
30

p5-metacpan-websocket

WebSocket interface to MetaCPAN
Perl
1
star
31

metacpan-k8s

Shell
1
star
32

metacpan-cpan-extracted-lite

Used for testing metacpan-cpan-extracted
Perl
1
star