PHPackages                             digipolisgent/drupal-copy-profile - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. digipolisgent/drupal-copy-profile

AbandonedArchivedComposer-plugin[Utility &amp; Helpers](/categories/utility)

digipolisgent/drupal-copy-profile
=================================

Can be used as a development in an install profile to copy the current profile in a web directory, so it can be used similary as drupal-composer/drupal-project.

1.0.0(6y ago)047[2 issues](https://github.com/district09/drupal-copy-profile/issues)GPL-2.0+PHPPHP &gt;=5.4.5

Since Feb 2Pushed 6y ago1 watchersCompare

[ Source](https://github.com/district09/drupal-copy-profile)[ Packagist](https://packagist.org/packages/digipolisgent/drupal-copy-profile)[ RSS](/packages/digipolisgent-drupal-copy-profile/feed)WikiDiscussions develop Synced 3w ago

READMEChangelogDependencies (3)Versions (6)Used By (0)

drupal-copy-profile
===================

[](#drupal-copy-profile)

[![Latest Stable Version](https://camo.githubusercontent.com/0f75b7e1093ff7180d839c8a57325c887a8f1c81a064a7f39afd7caede3cba11/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f64727570616c2d636f70792d70726f66696c652f762f737461626c65)](https://packagist.org/packages/digipolisgent/drupal-copy-profile)[![Latest Unstable Version](https://camo.githubusercontent.com/20403bd072fd39161a9c9ce99614a56165a61016cd1c15e4e5d038f9ae1fdcd2/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f64727570616c2d636f70792d70726f66696c652f762f756e737461626c65)](https://packagist.org/packages/digipolisgent/drupal-copy-profile)[![Total Downloads](https://camo.githubusercontent.com/1b3b4d6c9e6208bbaccafb63ae3ec5dd5b1ecda9d3a702dd28c1a8be9596f87f/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f64727570616c2d636f70792d70726f66696c652f646f776e6c6f616473)](https://packagist.org/packages/digipolisgent/drupal-copy-profile)[![License](https://camo.githubusercontent.com/972f8ae222076c998e558a985ace105071add3d7ad5a71102eb3b303e15753d6/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f64727570616c2d636f70792d70726f66696c652f6c6963656e7365)](https://packagist.org/packages/digipolisgent/drupal-copy-profile)

[![Build Status](https://camo.githubusercontent.com/c1323e01a95f1783cf01dee5fff3772968be271ffc20a77777a70c8b21ed6b27/68747470733a2f2f7472617669732d63692e6f72672f64696769706f6c697367656e742f64727570616c2d636f70792d70726f66696c652e7376673f6272616e63683d646576656c6f70)](https://travis-ci.org/digipolisgent/drupal-copy-profile)[![Maintainability](https://camo.githubusercontent.com/d7128dd40ac152034f01504e1b2f9031f57b94f605620f47a1419a73c014f063/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f31343035643933656361343066336163363966332f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/digipolisgent/drupal-copy-profile/maintainability)[![Test Coverage](https://camo.githubusercontent.com/cadff73034236c4ac710f9e437fbd1df50e99ab550f9757c362001e272600430/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f31343035643933656361343066336163363966332f746573745f636f766572616765)](https://codeclimate.com/github/digipolisgent/drupal-copy-profile/test_coverage)[![PHP 7 ready](https://camo.githubusercontent.com/cc18cefe8bf818a43c3c0a466583dedb68fcf4daabf1d8efb56b9d4a28320ddf/68747470733a2f2f7068703772656164792e74696d6573706c696e7465722e63682f64696769706f6c697367656e742f64727570616c2d636f70792d70726f66696c652f646576656c6f702f62616467652e737667)](https://travis-ci.org/digipolisgent/drupal-copy-profile)

Composer plugin to assist in installation profile development. This allows the install profile to be used as if your project is like `drupal-composer/drupal-project`, with your project being an install profile to test and being the root project.

Credits
-------

[](#credits)

This project is basically a rip-off of `drupal-composer/drupal-scaffold`. Thanks to the developers of that package for the inspiration.

Usage
-----

[](#usage)

Run `composer require --dev digipolisgent/drupal-copy-profile:dev-master` in your composer project before installing or updating `drupal/core`.

Once drupal-copy-profile is required by your project, it will automatically copy the install profile in the project directory to the correct profiles directory in an installed drupal site.

You can use this easily by requiring these packages in the `require-dev` section of the composer.json.

- drupal/core
- composer/installers
- drupal-composer/drupal-scaffold

You'll also have to configure the drupal-scaffold paths as follows:

```
    "extra": {
        "installer-paths": {
            "web/core": ["type:drupal-core"],
            "web/libraries/{$name}": ["type:drupal-library"],
            "web/modules/contrib/{$name}": ["type:drupal-module"],
            "web/profiles/contrib/{$name}": ["type:drupal-profile"],
            "web/themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/contrib/{$name}": ["type:drupal-drush"]
        },
    }

```

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

[](#configuration)

You can configure the plugin with providing some settings in the `extra` section of your root `composer.json`.

```
{
  "extra": {
    "drupal-copy-profile": {
      "excludes": [
        "scripts"
      ],
      "profile-name": "lightning",
      "web-root": "www",
      "omit-defaults": false
    }
  }
}
```

With the `drupal-copy-profile` option `excludes`, you can provide additional paths that should not be copied from the root project. The plugin provides these default includes:

```
web-root
vendor-path
.git

```

`web-root` is configurable through the options, but defaults to the location where `drupal/core` is installed. `vendor-path` is taken from the composer config and defaults to `vendor`

When setting `omit-defaults` to `true`, the default excludes will not be used; in this instance, only those files explicitly listed in the `excludes` options will be considered. If `omit-defaults` is `false` (the default), then any items listed in `excludes` will be in addition to the usual defaults.

The `profile-name` option allows you to set the install profile name. It defaults to the project name of the root package (the second part of the package name)

The `web-root` option allows you to set an alternative path to copy the profile to. It defaults to the install location of `drupal/core`, which should be fine.

Custom command
--------------

[](#custom-command)

The plugin by default is executed on each composer install and update. If you want to call it manually, you can add the command callback to the `scripts`-section of your root `composer.json`, like this:

```
{
  "scripts": {
    "drupal-copy-profile": "DigipolisGent\\DrupalCopyProfile\\Plugin::copyProfile"
  }
}
```

After that you can manually copy the profile according to your configuration by using `composer drupal-scaffold`.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 97.4% 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 ~307 days

Total

4

Last Release

2513d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fd0af1f056fd3baa2df55c0c745ade4d0f8af99505f717bf0ad48d7b615a2153?d=identicon)[Jelle-S](/maintainers/Jelle-S)

![](https://www.gravatar.com/avatar/ec45173701ba2e7958fd8b51291f9f1d0edf4444bce07d44c0fabda7300368cf?d=identicon)[zero2one](/maintainers/zero2one)

![](https://avatars.githubusercontent.com/u/1221024?v=4)[Dieter Blomme](/maintainers/daften)[@daften](https://github.com/daften)

---

Top Contributors

[![daften](https://avatars.githubusercontent.com/u/1221024?v=4)](https://github.com/daften "daften (37 commits)")[![Jelle-S](https://avatars.githubusercontent.com/u/1828542?v=4)](https://github.com/Jelle-S "Jelle-S (1 commits)")

---

Tags

composercomposer-plugind09check22drupalinstallation-profileweb

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/digipolisgent-drupal-copy-profile/health.svg)

```
[![Health](https://phpackages.com/badges/digipolisgent-drupal-copy-profile/health.svg)](https://phpackages.com/packages/digipolisgent-drupal-copy-profile)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74794.9M939](/packages/symfony-runtime)[ergebnis/composer-normalize

Provides a composer plugin for normalizing composer.json.

1.1k40.0M2.6k](/packages/ergebnis-composer-normalize)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5344.1M526](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.0M193](/packages/drupal-core-project-message)[sandersander/composer-link

Adds ability to link local packages for development with composer

94441.4k](/packages/sandersander-composer-link)[phpro/grumphp-shim

GrumPHP Phar distribution

284.6M333](/packages/phpro-grumphp-shim)

PHPackages © 2026

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