From 2972e222a3a5fc57ff9c397e8d1a7d797231d7e6 Mon Sep 17 00:00:00 2001 From: Felix Pankratz Date: Sun, 2 Jul 2023 15:45:17 +0200 Subject: [PATCH] improve output by using deepdiff --- npm-manifest-check.py | 13 ++++++++----- requirements.txt | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/npm-manifest-check.py b/npm-manifest-check.py index e5c85d6..a4b331c 100755 --- a/npm-manifest-check.py +++ b/npm-manifest-check.py @@ -2,6 +2,8 @@ import requests import json import time +from pprint import pprint +from deepdiff import DeepDiff # https://www.npmjs.com/package/darcyclarke-manifest-pkg/v/2.1.15/index # hex checksum = file name @@ -72,7 +74,6 @@ def get_actual_manifest(pkg, ver): return version, dependencies, scripts, name - def main(): import sys mismatch = False @@ -91,15 +92,17 @@ def main(): if actual_dependencies != reported_dependencies: mismatch = True + dep_diff = DeepDiff(reported_dependencies, actual_dependencies, verbose_level=2) + print('Dependency mismatch detected for {}!'.format(pkg)) - print('Reported dependencies: {}'.format(reported_dependencies)) - print('Actual dependencies: {}'.format(actual_dependencies)) + pprint(dep_diff, indent=2) if actual_scripts != reported_scripts: mismatch = True + scripts_diff = DeepDiff(reported_scripts, actual_scripts, verbose_level=2) + print('Scripts mismatch detected for {}!'.format(pkg)) - print('Reported scripts: {}'.format(reported_scripts)) - print('Actual scripts: {}'.format(actual_scripts)) + pprint(scripts_diff, indent=2) if actual_name != reported_name: mismatch = True diff --git a/requirements.txt b/requirements.txt index f229360..25e7409 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ requests +deepdiff