deptrac icon indicating copy to clipboard operation
deptrac copied to clipboard

Add a setting to separate packages from require and require-dev sections for Composer collector

Open Kaspiman opened this issue 5 months ago • 4 comments

Hello! I have an idea!

https://qossmic.github.io/deptrac/collectors/#composer-collector

According to documentation:

The composer collector allows you to define dependencies on composer require or require-dev packages that follow PSR-0 or PSR-4 autoloading convention. With this collector you can for example enforce: - That your require-dev dependencies are only used in you non-production code (like DB migrations or SA tools)

As I understand it, you need to list the packages manually? What if we add a setting for require and require-dev separation?

Use case: i have Application layer (it could relate only require-section packages) and Test layer (it could relate require and require-dev packages).

For example:

deptrac:
  layers:
    - name: ComposerRequire
      collectors:
        - type: composer
          composerPath: composer.json
          composerLockPath: composer.lock
          require: true
          requireDev: false
     - name: ComposerRequireDev
      collectors:
        - type: composer
          composerPath: composer.json
          composerLockPath: composer.lock
          require: false
          requireDev: true

Kaspiman avatar Sep 23 '24 08:09 Kaspiman