Releases: react18-tools/git-json-resolver
Release v1.3.7
Patch Changes
- 5bfe810: Add \n at end to keep the formatters and linters happy!
Full Changelog: 1.3.6...1.3.7
Release v1.3.6
Patch Changes
- 175d0d9: Improve backup directory handling by cleaning up existing backups during initialization and using proper glob patterns for exclusion
Full Changelog: 1.3.5...1.3.6
Release v1.3.5
Patch Changes
- 26cbaf0: Improve CLI functionality and plugin system
- Enhanced CLI test coverage with Git merge mode and edge case handling
- Added support for function-based plugins with configuration initialization
- Fixed logger type in StrategyFn interface
- Updated TypeDoc configuration to exclude all test files
Full Changelog: 1.3.4...1.3.5
Release v1.3.4
Patch Changes
-
97bc259: Fix field name escaping for dots and slashes in object keys
Improves handling of complex field names containing dots and slashes (e.g., scoped package names like
@scope/package
or URLs) by introducing proper escape sequences and updating the matcher logic to handle these cases consistently across all matcher implementations.
Full Changelog: 1.3.3...1.3.4
Release v1.3.3
Release v1.3.2
Patch Changes
- cb112b3: Improve debug logging and cross-platform path handling
- Enhanced debug logging with pretty-printed JSON output for better readability
- Fixed Windows path separator handling in file matching utilities for consistent cross-platform behavior
Full Changelog: 1.3.1...1.3.2
Release v1.3.1
Patch Changes
- df062c3: Fix logger
- 27daef2: Enhance merge processing and debugging capabilities
- Improve 3-way merge support with proper base handling in merge strategies
- Refactor strategy types and interfaces for better type safety
- Add comprehensive test coverage for merge scenarios and edge cases
- Enhance logger configuration with debug-aware level settings
- Add default backup directory support to backupFile utility
- Improve conflict debugging with structured data when debug mode enabled
- Optimize merge processing with better error handling and validation
Full Changelog: 1.3.0...1.3.1
Release v1.3.0
Minor Changes
- 54de9e1: Add Git integration for 3-way merge support and fix file path handling
- Add base content support to ParsedConflict interface for 3-way merges
- Integrate Git commands to fetch base and ours content when parsing conflicts
- Make filename parameter required in ParseConflictOptions for Git operations
- Fix file path handling in utils to return relative paths instead of absolute paths
- Improve conflict detection for cases where ours and theirs are identical
Full Changelog: 1.2.0...1.3.0
Release v1.2.0
Minor Changes
-
feat: Add comprehensive plugin system with JSON config support
- Plugin Architecture: Added
StrategyPlugin
interface for extensible custom strategies - JSON Config Support: Removed function dependencies, enabling pure JSON configurations
- Plugin Loading: Dynamic import system for NPM package plugins with
plugins
array - Plugin Configuration: Added
pluginConfig
for passing custom options to plugins - TypeScript Integration: ES2015 interface augmentation for automatic strategy name extension
- JSON Schema Validation: Complete schema for config validation with plugin strategy support
- Examples: Added example plugin with semantic versioning, timestamp, and array strategies
Usage:
{ "plugins": ["my-plugin"], "pluginConfig": { "my-plugin": { "option": "value" } }, "rules": { "version": ["semantic-version"] } }
- Plugin Architecture: Added
Full Changelog: 1.1.0...1.2.0
Release v1.1.0
Minor Changes
-
33df0e7: Export utils for custom strategies. Add autoAdd config option
-
537f127: Add Git merge driver support and improve architecture
- New feature: CLI now supports Git merge driver mode when called with 3 positional arguments (%A %O %B)
- Refactored: Extracted common merge logic into reusable
processMerge
utility (DRY principle) - Testing: Added comprehensive unit tests for merge-processor module
- Backward compatible: Existing CLI workflows continue to work unchanged
- Auto-detection: Automatically detects Git merge mode vs. standard conflict resolution mode
- Full configuration: All existing config options (rules, strategies, matchers) work in Git merge mode
- Exit codes: Proper Git merge driver exit codes (0 for success, 1 for conflicts)
Usage:
git config merge.json-resolver.driver "npx git-json-resolver %A %O %B"
This enables automatic JSON conflict resolution during Git merges using the same powerful rule-based strategies.
Full Changelog: 1.0.0...1.1.0