PHPackages                             jbouzekri/composer-deploy-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. jbouzekri/composer-deploy-plugin

ActiveComposer-plugin[DevOps &amp; Deployment](/categories/devops)

jbouzekri/composer-deploy-plugin
================================

Auto deploy static files with composer in a public document root folder

v1.0.1(10y ago)239MITPHP

Since Dec 28Pushed 10y ago2 watchersCompare

[ Source](https://github.com/jbouzekri/ComposerDeployPlugin)[ Packagist](https://packagist.org/packages/jbouzekri/composer-deploy-plugin)[ Docs](https://github.com/jbouzekri/ComposerDeployPlugin)[ RSS](/packages/jbouzekri-composer-deploy-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (3)Used By (0)

ComposerDeployPlugin
====================

[](#composerdeployplugin)

This composer plugin add extra configuration to copy folders from the vendor to another one.

It can be useful to publish assets to a public document root. The framework symfony uses the similar method to publish assets from users' extensions to the apache public document root.

Installation
------------

[](#installation)

Add `jbouzekri/composer-deploy-plugin` as a dependency in `composer.json`.

```
"jbouzekri/composer-deploy-plugin": "~1.0"
```

Then run the `composer install` or `composer update` command.

Configuration
-------------

[](#configuration)

All the plugin configuration must be placed in the `extra` key of your project `composer.json`.

```
{
    "extra": {
        "jb-composer-deploy": {
            "target-dir": "relative path to the folder where you want to deploy",
            "folders": [
                "list of folders name to deploy"
            ],
            "exclude": [
                "full package name to exclude"
            ],
            "symlink": false,
            "relative": false
        }
    }
}
```

- target-dir : relative path to the folder where you want to deploy (mandatory)
- folders : array of folders name to deploy
- exclude : array of full package name to exclude
- symlink : use symlink to deploy
- relative : use symlink relative path to deploy (symlink must be set at true)

**The target dir must exists before running the command**

Example
-------

[](#example)

In this example, all js and css folders from the project packages will be deployed in a web/composed folder using a hard copy (no symlink) except the ones in `doctrine/orm` package.

```
{
    "require": {
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "~1.2",
        "jbouzekri/composer-deploy-plugin": "~1.0"
    },
    "extra": {
        "jb-composer-deploy": {
            "target-dir": "web/composed",
            "folders": [
                "js",
                "css"
            ],
            "exclude": [
                "doctrine/orm"
            ],
            "symlink": false,
            "relative": false
        }
    }
}
```

Imagine that a first composer install has created the following vendor tree :

- composer.phar
- composer.json
- vendor/jbouzekri/composer-deploy-plugin
- vendor/jbouzekri/composer-deploy-plugin/css
- vendor/doctrine/orm
- vendor/doctrine/orm/src
- vendor/doctrine/orm/css
- vendor/doctrine/doctrine-bundle
- vendor/doctrine/doctrine-bundle/src
- vendor/doctrine/doctrine-bundle/css
- vendor/doctrine/doctrine-bundle/js

After configuring the deploy plugin with the previous configuration, each composer install or update will copy the css and js folders of all packages to the folder web/composed creating the following tree :

- web/composed/doctrine-orm/css
- web/composed/doctrine-bundle/css
- web/composed/doctrine-bundle/js

License
-------

[](#license)

[MIT](https://github.com/jbouzekri/ComposerDeployPlugin/blob/master/LICENSE)

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~187 days

Total

2

Last Release

3964d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/18963e247548b59e56dae09599281b9c34e70113fc384a42925411d9b9307fd5?d=identicon)[jbouzekri](/maintainers/jbouzekri)

---

Top Contributors

[![jbouzekri](https://avatars.githubusercontent.com/u/880996?v=4)](https://github.com/jbouzekri "jbouzekri (7 commits)")

---

Tags

phpcomposercontinuous integrationdeployment

### Embed Badge

![Health badge](/badges/jbouzekri-composer-deploy-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/jbouzekri-composer-deploy-plugin/health.svg)](https://phpackages.com/packages/jbouzekri-composer-deploy-plugin)
```

###  Alternatives

[andres-montanez/magallanes

The Deployment Tool for PHP Applications

6901.1M6](/packages/andres-montanez-magallanes)[shopware/deployment-helper

Shopware deployment tools

19305.3k5](/packages/shopware-deployment-helper)[kohkimakimoto/altax

Altax is an extensible deployment tool for PHP.

2002.8k](/packages/kohkimakimoto-altax)[techpivot/phalcon-ci-installer

Composer integration for PHP applications to install the Phalcon framework as an extension in the PHP runtime for various hosted CI services including TravisCI, CircleCI, Scrutinizer, Shippable and Codeship.

26130.7k8](/packages/techpivot-phalcon-ci-installer)[epam/ci-bundle

This bundle provides functionality for Continuous Integration &amp; Automated Deployments for Symfony-based projects

297.6k](/packages/epam-ci-bundle)[mmoreram/translation-server

PHP translation server

233.7k2](/packages/mmoreram-translation-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
