Skip to content

A GitHub Actions that report to visualize dependencies of changed files each pull requests.

License

Notifications You must be signed in to change notification settings

MH4GF/dependency-cruiser-report-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

dependency-cruiser report

A GitHub Actions that report to visualize dependencies of changed files each pull requests.

test

samplesample

This action uses dependency-cruiser to output syntax of mermaid.js. Inspired by jest-coverage-report-action.

usage

Install in your project

npm install --save-dev dependency-cruiser

Setup dependency-cruiser in the wizard

npm run depcruise --init

Create new action under .github/workflows .

name: 'depcruise'
on:
  pull_request:

jobs:
  report:
    permissions:
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
      - uses: MH4GF/dependency-cruiser-report-action@v2

Advanced Usage

Specifying config file

This action automatically detects dependency-cruiser config file ( .dependency-cruiser.js, etc.), but you can specify your own rules file.

with:
  config-file: my-rules.json

For more information on config file, please see the official documentation

Customizing cruise script

This action automatically adds necessary flags to your cruise script based on package manager. For example, if you are using yarn, the default script is:

yarn run -s depcruise

So you don't need to specify additional flags - action will handle them automatically. So, after adding necessary flags, action will run this command:

 --output-type mermaid --config ${SPECIFIED_CONFIG_FILE} ${DIFF_FILE_A DIFF_FILE_B ...etc}

But you can use additional options:

with:
  cruise-script: yarn run -s depcruise --exclude "^lib"

Usage with bun, npm or pnpm

This action will automatically download dependencies (default is yarn), but you can also specify bun, npm or pnpm:

with:
  package-manager: npm

or

with:
  package-manager: pnpm

Customizing working directory

If you want to run this action in another directory, specify working-directory:

with:
  working-directory: <dir>

Compatibility

This action requires dependency-cruiser v11.10.0 or newer.