A GitHub Actions that report to visualize dependencies of changed files each pull requests.
This action uses dependency-cruiser to output syntax of mermaid.js. Inspired by jest-coverage-report-action.
npm install --save-dev dependency-cruiser
npm run depcruise --init
name: 'depcruise'
on:
pull_request:
jobs:
report:
permissions:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: MH4GF/dependency-cruiser-report-action@v2
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
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"
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
If you want to run this action in another directory, specify working-directory
:
with:
working-directory: <dir>
This action requires dependency-cruiser v11.10.0 or newer.