WordPress Packagist — manage your plugins with Composer
Branch: wpsv-master
Clone or download
Pull request Compare This branch is 13 commits ahead, 7 commits behind outlandishideas:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
data
src
web
.editorconfig
.gitignore
LICENSE
README.md
bootstrap.php
composer.json
composer.lock
composer.phar
run-cron.sh

README.md

WordPress Packagist by WordPress Sweden

This is a fork of WPackagist.org that aims to provide an up-to-date and highly available alternative and to contribute patches upstream. Feel free to use our repository by changing your repository URL in composer.json to https://wpackagist.wpsv.se/

This is the repository for wpackagist.wpsv.se which allows WordPress plugins and themes to be managed along with other dependencies using Composer.

More info and usage instructions at wpackagist.wpsv.se or follow us on Twitter @WPSverige.

For support and discussion, please use the issue tracker above.

Usage

Example composer.json:

{
    "name": "acme/brilliant-wordpress-site",
    "description": "My brilliant WordPress site",
    "repositories":[
        {
            "type":"composer",
            "url":"https://wpackagist.wpsv.se/"
        }
    ],
    "require": {
        "aws/aws-sdk-php":"*",
        "wpackagist-plugin/akismet":"dev-trunk",
        "wpackagist-plugin/wordpress-seo":">=7.0.2",
        "wpackagist-theme/hueman":"*"
    },
    "autoload": {
        "psr-0": {
            "Acme": "src/"
        }
    }
}

WordPress core

This does not provide WordPress itself.

See https://github.com/fancyguy/webroot-installer or https://github.com/johnpbloch/wordpress.

How it works

WPackagist implements the wordpress-plugin and wordpress-theme Composer Installers (https://github.com/composer/installers).

It essentially provides a lookup table from plugin name to WordPress.org SVN repository. Plugin versions correspond to different tags in their repository, with the special dev-master version being mapped to trunk.

The lookup table is provided as many static JSON files. The entry point to these files can be found at https://wpackagist.org/packages.json. Each plugin and theme has its own JSON file detailing its versions; these can be found in https://wpackagist.org/p/wpackagist-plugin/ and https://wpackagist.org/p/wpackagist-theme/.

Running Wpackagist

Installing

  1. Make sure you have PDO with sqlite support enabled.
  2. Make sure data is writable. Do NOT create data/packages.sqlite, it will be created automatically.
  3. Run composer install.
  4. Point your Web server to web. A .htaccess is provided for Apache.

Updating the database

The first database fetch may easily take 30-60 minutes, be patient.

  1. bin/cmd refresh: Query the WordPress.org SVN in order to find new and updated packages.
  2. bin/cmd update: Update the version information for packages identified in 1. Uses the WordPress.org API.
  3. bin/cmd build: Rebuild all .json files in web/.

CRON job

The CRON job runs the three commands above. We recommend fetching new packages every 30 minutes. Add this to your crontab to set that up:

0,30 * * * * cd /var/www/your-wpackagist-location && ./run-cron.sh >> /var/log/wpackagist-update.log