Added initial npm diff.
This commit is contained in:
63
npm/npm-diff/action.yaml
Normal file
63
npm/npm-diff/action.yaml
Normal file
@@ -0,0 +1,63 @@
|
||||
name: npm-diff
|
||||
description: "Compare two versions of an NPM package using npm diff."
|
||||
inputs:
|
||||
name:
|
||||
description: "Name of the package to diff."
|
||||
required: true
|
||||
lhsVersion:
|
||||
description: "Left-hand side version (older version) to compare. If not specified, uses the latest version."
|
||||
required: false
|
||||
default: ""
|
||||
rhsVersion:
|
||||
description: "Right-hand side version (newer version) to compare. If not specified, compares against the working directory."
|
||||
required: false
|
||||
default: ""
|
||||
workingDirectory:
|
||||
description: "Working directory containing package.json (for comparing local changes)."
|
||||
required: false
|
||||
default: "."
|
||||
nodeVersion:
|
||||
description: "Node.js version to use."
|
||||
required: false
|
||||
default: "20"
|
||||
registry:
|
||||
description: "NPM registry URL."
|
||||
required: false
|
||||
default: "https://npm.pkg.github.com"
|
||||
authToken:
|
||||
description: "Authentication token for the registry."
|
||||
required: true
|
||||
default: "{{ github.token }}"
|
||||
diffOptions:
|
||||
description: "Additional options to pass to npm diff (e.g., '--diff-ignore-whitespace')."
|
||||
required: false
|
||||
default: ""
|
||||
outputFile:
|
||||
description: "File path to save diff output (optional). If not specified, outputs to console only."
|
||||
required: false
|
||||
default: ""
|
||||
failOnDifferences:
|
||||
description: "Whether to fail the action if differences are found."
|
||||
required: false
|
||||
default: "true"
|
||||
outputs:
|
||||
hasDifferences:
|
||||
description: "Whether differences were found between the versions."
|
||||
value: ${{ steps.diff.outputs.hasDifferences }}
|
||||
diffOutput:
|
||||
description: "The diff output (truncated if too large)."
|
||||
value: ${{ steps.diff.outputs.diffOutput }}
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: "Setup Node.js"
|
||||
uses: https://github.com/actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ inputs.nodeVersion }}
|
||||
registry-url: ${{ inputs.registry }}
|
||||
- name: "Run npm diff"
|
||||
id: diff
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ inputs.authToken }}
|
||||
run: bash ${{ github.action_path }}/npm_diff.sh "${{ inputs.name }}" "${{ inputs.lhsVersion }}" "${{ inputs.rhsVersion }}" "${{ inputs.workingDirectory }}" "${{ inputs.registry }}" "${{ inputs.diffOptions }}" "${{ inputs.outputFile }}" "${{ inputs.failOnDifferences }}"
|
||||
shell: bash
|
||||
Reference in New Issue
Block a user