{"id":13593847,"url":"https://github.com/outlandishideas/wpackagist","last_synced_at":"2025-05-15T04:07:11.245Z","repository":{"id":8348543,"uuid":"9908897","full_name":"outlandishideas/wpackagist","owner":"outlandishideas","description":"WordPress Packagist — manage your plugins with Composer","archived":false,"fork":false,"pushed_at":"2025-03-28T11:08:59.000Z","size":2046,"stargazers_count":738,"open_issues_count":30,"forks_count":68,"subscribers_count":20,"default_branch":"develop","last_synced_at":"2025-05-12T05:40:57.790Z","etag":null,"topics":["composer","svn","wordpress","wordpress-packagist"],"latest_commit_sha":null,"homepage":"https://wpackagist.org","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outlandishideas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"outlandishideas"}},"created_at":"2013-05-07T09:55:33.000Z","updated_at":"2025-05-07T06:34:08.000Z","dependencies_parsed_at":"2023-02-17T17:46:05.198Z","dependency_job_id":"e0f3f5fc-be3d-42a3-895d-44e1bf0ddd7f","html_url":"https://github.com/outlandishideas/wpackagist","commit_stats":{"total_commits":320,"total_committers":23,"mean_commits":13.91304347826087,"dds":0.509375,"last_synced_commit":"86ad58ebdbb1ea3ecd129d131bf6998044858da9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outlandishideas%2Fwpackagist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outlandishideas%2Fwpackagist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outlandishideas%2Fwpackagist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outlandishideas%2Fwpackagist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outlandishideas","download_url":"https://codeload.github.com/outlandishideas/wpackagist/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270646,"owners_count":22042859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","svn","wordpress","wordpress-packagist"],"created_at":"2024-08-01T16:01:25.393Z","updated_at":"2025-05-15T04:07:06.234Z","avatar_url":"https://github.com/outlandishideas.png","language":"PHP","funding_links":["https://github.com/sponsors/outlandishideas"],"categories":["PHP"],"sub_categories":[],"readme":"WordPress Packagist\n===\n\nThis is the repository for [wpackagist.org](https://wpackagist.org) which allows WordPress plugins and themes to be\nmanaged along with other dependencies using [Composer](https://getcomposer.org).\n\nMore info and usage instructions at [wpackagist.org](https://wpackagist.org) or follow us on\nTwitter [@wpackagist](https://twitter.com/wpackagist).\n\nFor support and discussion, please use the issue tracker above.\n\n## Usage\n\nExample composer.json:\n\n```json\n{\n    \"name\": \"acme/brilliant-wordpress-site\",\n    \"description\": \"My brilliant WordPress site\",\n    \"repositories\":[\n        {\n            \"type\":\"composer\",\n            \"url\":\"https://wpackagist.org\",\n            \"only\": [\"wpackagist-plugin/*\", \"wpackagist-theme/*\"]\n        }\n    ],\n    \"require\": {\n        \"aws/aws-sdk-php\":\"*\",\n        \"wpackagist-plugin/akismet\":\"dev-trunk\",\n        \"wpackagist-plugin/wordpress-seo\":\"\u003e=7.0.2\",\n        \"wpackagist-theme/hueman\":\"*\"\n    },\n    \"autoload\": {\n        \"psr-0\": {\n            \"Acme\": \"src/\"\n        }\n    }\n}\n```\n\n## WordPress core\n\nThis does not provide WordPress itself.\n\nSee https://github.com/fancyguy/webroot-installer or https://github.com/roots/wordpress.\n\n## How it works\n\nWPackagist implements the `wordpress-plugin` and `wordpress-theme` Composer Installers\n(https://github.com/composer/installers).\n\nIt essentially provides a lookup table from package (theme or plugin) name to WordPress.org\nSVN repository. Versions correspond to different tags in their repository, with the special\n`dev-trunk` version being mapped to `trunk`.\n\nNote that to maintain Composer v1 compatibility (as well as v2)\nfor `dev-` versions, for now we need to use the `VersionParser` from\n`composer/composer` v1.x and not a newer release branch. Correct resolution\nof these depends on the legacy behaviour where `dev-trunk` et al. correspond to\n\n    \"version_normalized\":\"9999999-dev\"\n\nThe lookup table is provided as a hierarchy of static JSON files. The entry point to these\nfiles can be found at https://wpackagist.org/packages.json, which consists of a series of\nsub-tables (each as its own JSON file). These sub-tables are grouped by last commit\ndate (trying to keep them roughly the same size), and contain references to individual packages.\nEach package has its own JSON file detailing its versions; these can be found in\nhttps://wpackagist.org/p/wpackagist-{theme|plugin}/{package-name-and-hash}.json.\n\n### Version format limitations\n\nCurrently, Wpackagist can only process packages with up to 4 parts in their version numbers, in line with\nthe internal handling of Composer v1.x.\n\n## Running Wpackagist\n\n### Installing\n\n1. Make sure you have Composer dependencies installed, including extensions.\n2. Make `.env.local`, overriding anything you want to from `.env`.\n3. (Only if you're going to skip using a database for `PackageStore`): ensure sure your `PACKAGE_PATH` directory is writable.\n4. Run `composer install` to install dependencies.\n5. Populate the database and package files (see steps below).\n5. Point your Web server to [`web`](web/). A [`.htaccess`](web/.htaccess) is provided for Apache.\n\n### Updating the database\n\nThe first database population may easily take hours. Be patient.\n\n0. `bin/console doctrine:migrations:migrate`: Ensure the database schema is up to date with the code.\n1. `bin/console refresh`: Query the WordPress.org SVN in order to find new and updated packages.\n2. `bin/console update`: Update the version information for packages identified in `2`. Uses the WordPress.org API.\n3. `bin/console build`: Rebuild all `PackageStore` data.\n\n## Running locally with Docker\n\nThis may be simpler than setting up native dependencies, but is\nexperimental.\n\nTo prepare environment variables:\n\n    cp .env .env.local\n\nand edit as necessary.\n\nTo set up and update the database:\n\n    docker-compose run --rm cron composer install\n    docker-compose run --rm cron deploy/migrate-db.sh\n    docker-compose run --rm cron\n\nTo start a web server on `localhost:30100`:\n\n    docker-compose up web adminer\n\n#### Services\n\n* Web: [localhost:30100](http://localhost:30100)\n* Adminer: [localhost:30101](http://localhost:30101) (See credentials in `.env.postgres.local`)\n\n## Live deployments\n\nCircleCI is used to deploy the live app on ECS.\n\nAutomatic deploys run:\n\n* from `develop` to [Staging](https://staging-wpackagist.out.re);\n* from `main` to [Production](https://wpackagist.org/)\n\nSee [.circleci/config.yml](./.circleci/config.yml) for full configuration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutlandishideas%2Fwpackagist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foutlandishideas%2Fwpackagist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutlandishideas%2Fwpackagist/lists"}