All Projects → outlandishideas → Wpackagist

outlandishideas / Wpackagist

Licence: mit
WordPress Packagist — manage your plugins with Composer

Projects that are alternatives of or similar to Wpackagist

Beetbox
Pre-provisioned L*MP stack
Stars: ✭ 94 (-83.15%)
Mutual labels:  wordpress, composer
Wpstarter
Easily bootstrap whole site Composer packages for WordPress.
Stars: ✭ 182 (-67.38%)
Mutual labels:  wordpress, composer
Wordplate
WordPlate is a wrapper around WordPress. It's like building any other WordPress website with themes and plugins. Just with sprinkles on top.
Stars: ✭ 1,594 (+185.66%)
Mutual labels:  wordpress, composer
Spinupwp Composer Site
A WordPress site setup using Composer that is primed and ready to be hosted using SpinupWP.
Stars: ✭ 58 (-89.61%)
Mutual labels:  wordpress, composer
Mozart
Developers tool for WordPress plugins: Wraps all your projects dependencies in your own namespace, in order to prevent conflicts with other plugins loading the same dependencies in different versions.
Stars: ✭ 277 (-50.36%)
Mutual labels:  wordpress, composer
Wp Plugin Git Svn Sync
☄️ Zero config synchronizing of Git repository with SVN for publishing WordPress plugins.
Stars: ✭ 81 (-85.48%)
Mutual labels:  wordpress, svn
Private Composer Installer
Composer install helper outsourcing sensitive keys from the package URL into environment variables
Stars: ✭ 168 (-69.89%)
Mutual labels:  wordpress, composer
Bedrock
WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure
Stars: ✭ 5,456 (+877.78%)
Mutual labels:  wordpress, composer
Acf Pro Installer
A composer install helper for Advanced Custom Fields PRO
Stars: ✭ 265 (-52.51%)
Mutual labels:  wordpress, composer
Podlove Publisher
Podlove Podcast Publisher for WordPress
Stars: ✭ 241 (-56.81%)
Mutual labels:  wordpress, composer
Composify
Turn WordPress plugin zip files into git repositories, so that composer version constraints work properly.
Stars: ✭ 36 (-93.55%)
Mutual labels:  wordpress, composer
Wordpress
A fork of WordPress with Composer support added. Branches, tags, and trunk synced from upstream every 15 minutes.
Stars: ✭ 546 (-2.15%)
Mutual labels:  wordpress, composer
Heroku Wp
WordPress on Heroku
Stars: ✭ 865 (+55.02%)
Mutual labels:  wordpress, composer
Wordpress
Automatically updated WordPress composer package
Stars: ✭ 94 (-83.15%)
Mutual labels:  wordpress, composer
Wp Multitenancy Boilerplate
WordPress multitenancy boilerplate configured and managed with Composer and PHP dotenv.
Stars: ✭ 24 (-95.7%)
Mutual labels:  wordpress, composer
Base Camp
Awesome WordPress starter theme for developers based on modern web technologies.
Stars: ✭ 135 (-75.81%)
Mutual labels:  wordpress, composer
Accompli
An easy to use and extendable deployment tool for (PHP) projects.
Stars: ✭ 9 (-98.39%)
Mutual labels:  composer, svn
Wordpress Heroku
This project is a template for installing and running WordPress 5.x on Heroku.
Stars: ✭ 198 (-64.52%)
Mutual labels:  wordpress, composer
Awps
A Modern WordPress Starter Theme for savvy Developers
Stars: ✭ 319 (-42.83%)
Mutual labels:  wordpress, composer
Acf Builder
An Advanced Custom Field Configuration Builder
Stars: ✭ 492 (-11.83%)
Mutual labels:  wordpress, composer

WordPress Packagist

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

More info and usage instructions at wpackagist.org or follow us on Twitter @wpackagist.

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.org",
            "only": ["wpackagist-plugin/*", "wpackagist-theme/*"]
        }
    ],
    "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 package (theme or plugin) name to WordPress.org SVN repository. Versions correspond to different tags in their repository, with the special dev-trunk version being mapped to trunk.

Note that to maintain Composer v1 compatibility (as well as v2) for dev- versions, for now we need to use the VersionParser from composer/composer v1.x and not a newer release branch. Correct resolution of these depends on the legacy behaviour where dev-trunk et al. correspond to

"version_normalized":"9999999-dev"

The lookup table is provided as a hierarchy of static JSON files. The entry point to these files can be found at https://wpackagist.org/packages.json, which consists of a series of sub-tables (each as its own JSON file). These sub-tables are grouped by last commit date (trying to keep them roughly the same size), and contain references to individual packages. Each package has its own JSON file detailing its versions; these can be found in https://wpackagist.org/p/wpackagist-{theme|plugin}/{package-name-and-hash}.json.

Running Wpackagist

Installing

  1. Make sure you have Composer dependencies installed, including extensions.
  2. Make .env.local, overriding anything you want to from .env.
  3. Make sure your PACKAGE_PATH directory is writable.
  4. Run composer install to install dependencies.
  5. Populate the database and package files (see steps below).
  6. Point your Web server to web. A .htaccess is provided for Apache.

Updating the database

The first database population may easily take hours. Be patient.

  1. bin/console doctrine:migrations:migrate: Ensure the database schema is up to date with the code.
  2. bin/console refresh: Query the WordPress.org SVN in order to find new and updated packages.
  3. bin/console update: Update the version information for packages identified in 2. Uses the WordPress.org API.
  4. bin/console build: Rebuild all .json files in $PACKAGE_PATH.

Running locally with Docker

This may be simpler than setting up native dependencies, but is experimental.

To prepare environment variables:

cp .env .env.local

and edit as necessary.

To set up and update the database:

docker-compose run --rm cron composer install
docker-compose run --rm cron deploy/migrate-db.sh
docker-compose run --rm cron

To start a web server on localhost:30100:

docker-compose up web adminer

Services

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].