You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@hmcts/ccd-diff

Package Overview
Dependencies
Maintainers
5
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hmcts/ccd-diff

Diff CCD files

4.7.12
latest
Source
npmnpm
Version published
Weekly downloads
187
-31%
Maintainers
5
Weekly downloads
 
Created
Source

CCD Diff

Tool to diff CCD changes.

Usage

npm start [pathToBaseCCDJson] [pathToBranchCCDJson]
# or with npx
npx -q @hmcts/ccd-diff [pathToBaseCCDJson] [pathToBranchCCDJson]

Output

The only output format supported at the moment is markdown:

AuthorisationCaseField/APPLICANTTWO.json

CRUDCaseFieldIDUserRole
-CRU
-applicant2ConfirmReceipt
-[APPLICANTTWO]
-CRU
-applicant2ContinueApplication
-[APPLICANTTWO]
+CRU
+-Applicant2PrayerFinancialOrdersChild
+[APPLICANTTWO]
-CRU 
+R

applicant2Address

[APPLICANTTWO]

-CRU 
+R

applicant2AgreedToReceiveEmails

[APPLICANTTWO]

AuthorisationCaseField/APPTWOSOLICITOR.json

CRUDCaseFieldIDUserRole
-CRU
-applicant2ConfirmReceipt
-[APPTWOSOLICITOR]

Use on PRs

You can add a report to a PR with CCD changes by adding:


  report:
    runs-on: ubuntu-latest
    needs: [buildBranch, buildMaster]
    steps:
      - uses: actions/setup-node@v3
        with:
          node-version: 16
      - uses: actions/download-artifact@v4.1.7
        with:
          name: branch
          path: build/branch
      - uses: actions/download-artifact@v4.1.7
        with:
          name: master
          path: build/master
      - name: Generate report
        id: ccd-diff
        run: |
          REPORT="$(npx -q @hmcts/ccd-diff build/master build/branch)"
          REPORT="${REPORT//'%'/'%25'}"
          REPORT="${REPORT//$'\n'/'%0A'}"
          REPORT="${REPORT//$'\r'/'%0D'}"
          echo $REPORT
          echo "::set-output name=content::$REPORT"
      - name: Display
        run: |
          echo "${{ steps.ccd-diff.outputs.content }}"
      - name: Add report
        uses: thollander/actions-comment-pull-request@v1
        with:
          message: |
            # CCD diff report ${{ steps.ccd-diff.outputs.content }}
          comment_includes: CCD diff report
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

You will need to add two steps to upload the CCD JSON definition artifacts to compare. For a CCD config generator based config this would look like:

  setup:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-java@v3
        with:
          distribution: corretto
          java-version: 17

  buildBranch:
    runs-on: ubuntu-latest
    needs: [setup]
    steps:
      - uses: actions/checkout@v3
        with:
          path: build/branch
      - name: Build
        run: ./gradlew generateCCDConfig
        working-directory: build/branch
      - uses: actions/upload-artifact@v4.6.0
        with:
          name: branch
          path: build/branch/build/definitions/NFD

  buildMaster:
    runs-on: ubuntu-latest
    needs: [setup]
    steps:
      - uses: actions/checkout@v3
        with:
          ref: master
          path: build/master
      - name: Build
        run: ./gradlew generateCCDConfig
        working-directory: build/master
      - uses: actions/upload-artifact@v4.6.0
        with:
          name: master
          path: build/master/build/definitions/NFD

For a plain JSON repository this would look like:

  buildBranch:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          path: build/branch
      - uses: actions/upload-artifact@v4.6.0
        with:
          name: branch
          path: build/branch/definitions/divorce/json

  buildMaster:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          ref: master
          path: build/master
      - uses: actions/upload-artifact@v4.6.0
        with:
          name: master
          path: build/master/definitions/divorce/json

FAQs

Package last updated on 24 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts