{"id":19794134,"url":"https://github.com/simplesamlphp/composer-module-installer","last_synced_at":"2025-04-09T10:08:06.029Z","repository":{"id":14423120,"uuid":"17134201","full_name":"simplesamlphp/composer-module-installer","owner":"simplesamlphp","description":"A Composer plugin that allows installing SimpleSAMLphp modules through Composer.","archived":false,"fork":false,"pushed_at":"2025-03-19T20:41:10.000Z","size":70,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-02T03:30:14.235Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simplesamlphp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2014-02-24T11:36:05.000Z","updated_at":"2025-01-10T21:17:38.000Z","dependencies_parsed_at":"2024-06-18T15:24:48.449Z","dependency_job_id":"02337a29-8f72-421c-a1e7-83c921cafa1d","html_url":"https://github.com/simplesamlphp/composer-module-installer","commit_stats":{"total_commits":45,"total_committers":9,"mean_commits":5.0,"dds":0.5555555555555556,"last_synced_commit":"36508ed9580a30c4d5ab0bb3c25c00d0b5d42946"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplesamlphp%2Fcomposer-module-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplesamlphp%2Fcomposer-module-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplesamlphp%2Fcomposer-module-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplesamlphp%2Fcomposer-module-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplesamlphp","download_url":"https://codeload.github.com/simplesamlphp/composer-module-installer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248018060,"owners_count":21034048,"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":[],"created_at":"2024-11-12T07:12:11.027Z","updated_at":"2025-04-09T10:08:05.988Z","avatar_url":"https://github.com/simplesamlphp.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimpleSAMLphp Composer module installer\n\n![Build Status](https://github.com/simplesamlphp/composer-module-installer/workflows/CI/badge.svg?branch=master)\n[![Coverage Status](https://codecov.io/gh/simplesamlphp/composer-module-installer/branch/master/graph/badge.svg)](https://codecov.io/gh/simplesamlphp/composer-module-installer)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/simplesamlphp/composer-module-installer/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/simplesamlphp/composer-module-installer/?branch=master) \n[![Type coverage](https://shepherd.dev/github/simplesamlphp/composer-module-installer/coverage.svg)](https://shepherd.dev/github/simplesamlphp/composer-module-installer)\n\nThis package is a Composer plugin that allows a SimpleSAMLphp module to be\ninstalled through Composer. Installation can be as easy as executing:\n\n```bash\ncomposer.phar require vendor/simplesamlphp-module-mymodule 1.*\n```\n\nThat command would install `vendor/simplesamlphp-module-mymodule` matching\nversion `1.*`.\n\n\n## Making a module installable through Composer\n\nTo make a module installable through Composer, you need to add a\n`composer.json`-file to the root of the module. It should look\nsomething like:\n\n```json\n{\n    \"name\": \"vendor/simplesamlphp-module-mymodule\",\n    \"description\": \"A description of the module 'mymodule'.\",\n    \"type\": \"simplesamlphp-module\",\n    \"require\": {\n        \"simplesamlphp/composer-module-installer\": \"~1.4\"\n    }\n}\n```\n\nThe package name must be on the form:\n\n```bash\n\u003cvendor\u003e/simplesamlphp-module-\u003cmodule name\u003e\n```\n\n`\u003cvendor\u003e` is the vendor name you use, and `\u003cmodule name\u003e` is the name\nof your module. Your module will be installed in the `modules/\u003cmodule name\u003e`\ndirectory in the SimpleSAMLphp installation directory.\n\n\n## Assets modules\n\nAsset modules are a special kidn of module that will install pre-built assets in\nSimpleSAMLphp's `public/` directory. These modules follow a slightly different\nnaming convention `simplesamlphp-assets-\u003cmodule name\u003e`\n\n\n## Installing your custom module\n\nIf you publish your module on [Packagist](https://packagist.org/), no special\nconfiguration is required to install your module. However, if your module is\nhosted in a private repository, you need to add a repository for the module to\nyour SimpleSAMLphp `composer.json` file. For example, if your module is located\nin a Git repository in `/home/username/mymodule`, you would add something like\nthe following to `repositories` in `composer.json`:\n\n```json\n{\n    \"type\": \"vcs\",\n    \"url\": \"/home/username/mymodule\"\n}\n```\n\nThe `repositories array may look something like:\n\n```json\n\"repositories\": [\n    {\n        \"type\": \"package\",\n        \"package\": {\n            \"name\": \"robrichards/xmlseclibs\",\n            \"version\": \"1.3.1\",\n            \"source\": {\n                \"type\": \"svn\",\n                \"url\": \"http://xmlseclibs.googlecode.com/svn\",\n                \"reference\": \"trunk@50\"\n            },\n            \"autoload\": {\n                \"files\": [\"xmlseclibs.php\"]\n            }\n        }\n    },\n    {\n        \"type\": \"vcs\",\n        \"url\": \"/home/username/mymodule\"\n    }\n]\n```\n\nOnce you have added the repository, you should be able to install your module\nby executing:\n\n```bash\ncomposer.phar require vendor/simplesamlphp-module-mymodule:dev-master\n```\n\n(`dev-master` instructs Composer to install the `master`-branch from the Git\nrepository.)\n\nSee the [Composer Repository documentation](https://getcomposer.org/doc/05-repositories.md)\nfor more information about adding your own custom repositories to Composer.\n\n\n## Module names that contain uppercase letters\n\nNew modules should only have lowercase letters in the module name, however a\nlot of existing module names contain uppercase letters. Since Composer package\nnames should only contain lowercase letters, a mixed-case variant of the module\nname can be provided in the `ssp-mixedcase-module-name` extra data option:\n\n```json\n{\n    \"name\": \"vendor/simplesamlphp-module-mymodule\",\n    \"description\": \"A description of the module 'MyModule'.\",\n    \"type\": \"simplesamlphp-module\",\n    \"extra\": {\n        \"ssp-mixedcase-module-name\": \"myModule\"\n    },\n    \"require\": {\n        \"simplesamlphp/composer-module-installer\": \"~1.4\"\n    }\n}\n```\n\nNote that this is only meant for migration of existing modules. New modules\nshould only use lowercase letters in the name.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplesamlphp%2Fcomposer-module-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplesamlphp%2Fcomposer-module-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplesamlphp%2Fcomposer-module-installer/lists"}