You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Git Json Resolver is a comprehensive library designed to unlock the full potential of React 18 server components. It provides customizable loading animation components and a fullscreen loader container, seamlessly integrating with React and Next.js.
10
+
A Git-aware conflict resolver for **JSON-first structured data**.
11
11
12
-
✅ Fully Treeshakable (import from `git-json-resolver/client/loader-container`)
12
+
## Why?
13
13
14
-
✅ Fully TypeScript Supported
14
+
- Git merge conflicts in structured files (JSON, YAML, XML, TOML) are painful.
15
+
- Manual resolution is error-prone, time-consuming, and breaks CI/CD pipelines.
16
+
-`git-json-resolver` automates conflict handling with **configurable strategies**.
17
+
- Non-JSON formats are internally normalized to JSON → resolved → converted back.
15
18
16
-
✅ Leverages the power of React 18 Server components
19
+
## Features
17
20
18
-
✅ Compatible with all React 18 build systems/tools/frameworks
21
+
- ⚡ **Primary focus on JSON** (first-class support)
22
+
- 🔄 **YAML, XML, TOML** supported via conversion
23
+
- 🧩 **Rule-based strategies** (per path/pattern)
24
+
- 🗂️ Handles small configs to **huge repos** (optimizations built-in)
25
+
- 🔌 **Pluggable matcher** abstraction (picomatch, micromatch supported out of the box with peerDependency)
26
+
- 🛠️ Configurable trade-offs for **speed vs. memory**
27
+
- 🗃️ **Planned**: extend configuration to use **different strategies per file** (ideas and edge cases welcome!)
19
28
20
-
✅ Documented with [Typedoc](https://react18-tools.github.io/git-json-resolver) ([Docs](https://react18-tools.github.io/git-json-resolver))
21
-
22
-
✅ Examples for Next.js, and Vite
23
-
24
-
> <imgsrc="https://raw.githubusercontent.com/mayank1513/mayank1513/main/popper.png"style="height: 20px"/> Star [this repository](https://github.com/react18-tools/git-json-resolver) and share it with your friends.
25
-
26
-
## Getting Started
27
-
28
-
### Installation
29
+
## Installation
29
30
30
31
```bash
31
32
pnpm add git-json-resolver
@@ -43,92 +44,98 @@ npm install git-json-resolver
43
44
yarn add git-json-resolver
44
45
```
45
46
46
-
## Want Lite Version? [](https://www.npmjs.com/package/git-json-resolver-lite)[](https://www.npmjs.com/package/git-json-resolver-lite)[](https://www.npmjs.com/package/git-json-resolver-lite)
-**YAML, XML, TOML** → converted to JSON → resolved → converted back
99
113
100
-
For detailed API and options, refer to [the API documentation](https://react18-tools.github.io/git-json-resolver).
114
+
## Performance & Optimization
101
115
102
-
**Using LoaderContainer**
116
+
-**Matcher caching** for repeated patterns
117
+
-**Streaming mode** for very large repos (low memory footprint)
118
+
- Trade-offs are configurable via `optimize` field
103
119
104
-
`LoaderContainer` is a fullscreen component. You can add this component directly in your layout and then use `useLoader` hook to toggle its visibility.
120
+
## Roadmap
105
121
106
-
```tsx
107
-
// layout.tsx
108
-
<LoaderContainer />
109
-
...
110
-
```
122
+
-[ ] Richer strategies via plugins (e.g., semantic version resolver)
123
+
-[ ] CLI UX improvements
124
+
-[ ] Pluggable format converters customizations
125
+
-[ ] VSCode integration for previewing merge resolutions
0 commit comments