Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Composer Module Installer Laravel Package

simplesamlphp/composer-module-installer

Composer plugin that installs SimpleSAMLphp modules via Composer. Define your module as type "simplesamlphp-module" (or "simplesamlphp-assets-*") and it installs into SimpleSAMLphp’s modules/ (or public/) directory. Works with Packagist or private repos.

View on GitHub
Deep Wiki
Context7

SimpleSAMLphp Composer module installer

Build Status Coverage Status Scrutinizer Code Quality Type coverage

This package is a Composer plugin that allows a SimpleSAMLphp module to be installed through Composer. Installation can be as easy as executing:

composer.phar require vendor/simplesamlphp-module-mymodule 1.*

That command would install vendor/simplesamlphp-module-mymodule matching version 1.*.

Making a module installable through Composer

To make a module installable through Composer, you need to add a composer.json-file to the root of the module. It should look something like:

{
    "name": "vendor/simplesamlphp-module-mymodule",
    "description": "A description of the module 'mymodule'.",
    "type": "simplesamlphp-module",
    "require": {
        "simplesamlphp/composer-module-installer": "~1.4"
    }
}

The package name must be on the form:

<vendor>/simplesamlphp-module-<module name>

<vendor> is the vendor name you use, and <module name> is the name of your module. Your module will be installed in the modules/<module name> directory in the SimpleSAMLphp installation directory.

Assets modules

Asset modules are a special kidn of module that will install pre-built assets in SimpleSAMLphp's public/ directory. These modules follow a slightly different naming convention simplesamlphp-assets-<module name>

Installing your custom module

If you publish your module on Packagist, no special configuration is required to install your module. However, if your module is hosted in a private repository, you need to add a repository for the module to your SimpleSAMLphp composer.json file. For example, if your module is located in a Git repository in /home/username/mymodule, you would add something like the following to repositories in composer.json:

{
    "type": "vcs",
    "url": "/home/username/mymodule"
}

The `repositories array may look something like:

"repositories": [
    {
        "type": "package",
        "package": {
            "name": "robrichards/xmlseclibs",
            "version": "1.3.1",
            "source": {
                "type": "svn",
                "url": "http://xmlseclibs.googlecode.com/svn",
                "reference": "trunk@50"
            },
            "autoload": {
                "files": ["xmlseclibs.php"]
            }
        }
    },
    {
        "type": "vcs",
        "url": "/home/username/mymodule"
    }
]

Once you have added the repository, you should be able to install your module by executing:

composer.phar require vendor/simplesamlphp-module-mymodule:dev-master

(dev-master instructs Composer to install the master-branch from the Git repository.)

See the Composer Repository documentation for more information about adding your own custom repositories to Composer.

Module names that contain uppercase letters

New modules should only have lowercase letters in the module name, however a lot of existing module names contain uppercase letters. Since Composer package names should only contain lowercase letters, a mixed-case variant of the module name can be provided in the ssp-mixedcase-module-name extra data option:

{
    "name": "vendor/simplesamlphp-module-mymodule",
    "description": "A description of the module 'MyModule'.",
    "type": "simplesamlphp-module",
    "extra": {
        "ssp-mixedcase-module-name": "myModule"
    },
    "require": {
        "simplesamlphp/composer-module-installer": "~1.4"
    }
}

Note that this is only meant for migration of existing modules. New modules should only use lowercase letters in the name.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor