Composer installer

Complete install, update of your Composer package.


Plugin pour effectuer certaines opérations automatiquement lorsqu'un package est installé, mis à jour ou désinstallé via Composer. Certains frameworks, tel que Symfony, nécessitent certaines opérations pour utiliser une bibliothèque, un package ou un bundle dans votre projet. Ces frameworks peuvent fournir une solution, similaire à Symfony Recipe, pour automatiser ces opérations, mais ils sont limités et votre package dépend de services et de serveurs externes.

Teknoo Composer Installer est un plugin Composer, vous permettant également d'automatiser ces opérations sans restriction externe.

Les opérations doivent être déclarées dans la section supplémentaire du fichier composer.json de votre package. Chaque opération doit être une classe PHP, implémentant l'interface ActionInterface, fournie avec Teknoo Composer. Elle sera automatiquement chargé et appelé lorsqu'une opération (installation, mise à jour ou désinstallation) concerne votre package.

Par défaut, Composer Installer propose trois actions dédiées à Symfony, pour générer des fichiers dans des packages, compléter bundles.php et ajouter des routes.

Kubernetes

Features


Indépendant

Ne requière pas d'un serveur externe

Userfriendly

Pas de restrictions de développement

Extensible

Créer vos propres actions

Universel

Peut-être utilisé avec n'importe quel framework

GitHub


Fork le project sur GitHub

Il est sous licence open source! Il est hébergé, développé et maintenu sur GitHub par des contributeurs comme vous.


Voir le projet sur GitHub

Patreon


Supporter le projet sur Patreon

Ce projet est logiciel libre et le restera. Mais il est développé sur mon temps libre. Si vous l'appréciez et si vous souhaitez m'aider à le maintenir et à le faire évoluer. N'hésitez pas à me supporter sur Patreon. Merci :) Richard.


Supporter le projet

Exemple


{
    "name": "your-company/your-package",
    [...]
    "extra": {
        "Teknoo\\Composer\\Installer": {
            "config": {
                #To configure Teknoo\\Composer\\Installer
                #disabled: true #to disabled installer in the current composer project
            },
            #To add some bundle in bundles.php
            "Teknoo\\Composer\\Action\\SymfonyBundle": {
                "Your\\Company\\Bundle": {"all":  true},
                "Your\\Another\\Company\\Bundle": {"dev": true }
            },
            #To add/update some file in config/packages
            "Teknoo\\Composer\\Action\\SymfonyPackages": {
                "bundle_config.yaml": [
                    "# Read the documentation:",
                    "my_bundle:",
                    "  foo:",
                    "    - 'bar'",
                    "    - '%kernel.project_dir%/vendor/foo/bar.php'",
                    "  bar:",
                    "    foo: 42"
                ],
                "bundle_another_config.yaml": "foo\\nbar",,
                "bundle_another_config.yaml": {
                    "base64": "aGVsbG8gd29ybGQ="
                },
            }
        }
    }
}