WordPress Packagist alternatives and similar libraries
Based on the "Composer Repositories" category.
Alternatively, view WordPress Packagist alternatives based on common mentions on social networks and blogs.
-
Pest
Pest is an elegant PHP testing Framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP. -
Spout
DISCONTINUED. Read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way -
JSON Schema
PHP implementation of JSON schema. Fork of the http://jsonschemaphpv.sourceforge.net/ project -
PHPGGC
PHPGGC is a library of PHP unserialize() payloads along with a tool to generate them, from command line or programmatically. -
Symfony Asset
Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files -
Enqueue
Message Queue, Job Queue, Broadcasting, WebSockets packages for PHP, Symfony, Laravel, Magento. DEVELOPMENT REPOSITORY - provided by Forma-Pro -
PHP CSS Parser
A Parser for CSS Files written in PHP. Allows extraction of CSS files into a data structure, manipulation of said structure and output as (optimized) CSS -
BackdropCMS
Backdrop is a full-featured content management system that allows non-technical users to manage a wide variety of content. It can be used to create all kinds of websites including blogs, image galleries, social networks, intranets, and more. -
CaptainHook
CaptainHook is a very flexible git hook manager for software developers that makes sharing git hooks with your team a breeze. -
PHP Architecture Tester
PHP Architecture Tester - Easy architecture testing for PHP :heavy_check_mark: -
Compoer Require Checker
A CLI tool to check whether a specific composer package uses imported symbols that aren't part of its direct composer dependencies
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of WordPress Packagist or a related project?
README
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
- Make sure you have Composer dependencies installed, including extensions.
- Make
.env.local
, overriding anything you want to from.env
. - Make sure your
PACKAGE_PATH
directory is writable. - Run
composer install
to install dependencies. - Populate the database and package files (see steps below).
- Point your Web server to [
web
](web/). A [.htaccess
](web/.htaccess) is provided for Apache.
Updating the database
The first database population may easily take hours. Be patient.
bin/console doctrine:migrations:migrate
: Ensure the database schema is up to date with the code.bin/console refresh
: Query the WordPress.org SVN in order to find new and updated packages.bin/console update
: Update the version information for packages identified in2
. Uses the WordPress.org API.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
- Web: http://localhost:30100/
- Adminer: http://localhost:30101/ (See credentials in
.env.postgres.local
)
Live deployments
CircleCI is used to deploy the live app on ECS.
Automatic deploys run:
- from
develop
to Staging; - from
master
to Production
See [.circleci/config.yml](./.circleci/config.yml) for full configuration.