Semantic configuration differ and dumper for webpack and rspack projects. Version 0.1.0 (initial public release) supports comparing two configuration objects with semantic explanations, exporting live configs to YAML/JSON/inspect, and generating reports in summary, markdown, or JSON formats. Extracted from Shakapacker and battle-tested in production. Key differentiators: plugin-aware comparison, rule-matching by test pattern, ignore-paths filtering, and support for JS/TS/JSON/YAML config files. Requires Node >=16 and ts-node >=10 as peer dependency. Ships TypeScript types.
npm install pack-config-diffVerified import paths — ran on the pinned version, not inferred.
CLI command compare two webpack/rspack config files in JSON format, and programmatic API to diff configuration objects with markdown output.
Always use --clean flag when sharing dump snapshots. For internal trusted automation, add --no-warn-sensitive to suppress the warning.
Use --plugin-aware only when comparing configs with identical plugin instances and deterministic plugin constructors. For most cases, omit this flag or compare using --ignore-paths='plugins'.
Convert your code to ES modules (use import) or use dynamic import: const packConfigDiff = await import('pack-config-diff'). Use Node >=16.Always specify --mode explicitly when calling diff or dump to ensure consistent comparison conditions.
Use import statement or dynamic import: import packConfigDiff from 'pack-config-diff' or const packConfigDiff = await import('pack-config-diff')Use named import: import { diff } from 'pack-config-diff'Use --format=text for a human-readable summary, or --format=json / --format=markdown for structured output.
Install ts-node as a devDependency: npm install -D ts-node@10