Socket
Socket
Sign inDemoInstall

@hmcts/ccd-diff

Package Overview
Dependencies
1
Maintainers
16
Versions
41
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @hmcts/ccd-diff

Diff CCD files


Version published
Weekly downloads
104
increased by0.97%
Maintainers
16
Created
Weekly downloads
 

Readme

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@v3
        with:
          name: branch
          path: build/branch
      - uses: actions/download-artifact@v3
        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@v3
        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@v3
        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@v3
        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@v3
        with:
          name: master
          path: build/master/definitions/divorce/json

FAQs

Last updated on 05 Jun 2023

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc