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
"description": "Star [this repository](https://github.com/react18-tools/turborepo-template/) for easy access and to show your support",
7
-
"columnId": "column-todo"
8
-
},
9
-
"gbzyhx0FwFfzRoE-iqVeu": {
10
-
"id": "gbzyhx0FwFfzRoE-iqVeu",
11
-
"description": "run `yarn rebrand` to rebrand and clean up the repo; the `rebrand` script will automatically rebrand the repo, adjust workflows, and create a commit",
12
-
"columnId": "column-todo"
13
-
},
14
-
"Y5__aEZl3Pbxp7r90HKpV": {
15
-
"id": "Y5__aEZl3Pbxp7r90HKpV",
16
-
"description": "Install `pnpm` using `npm i -g pnpm`",
17
-
"columnId": "column-todo"
18
-
},
19
-
"jcpymbi71e702p7n6fwvZ": {
20
-
"id": "jcpymbi71e702p7n6fwvZ",
21
-
"description": "Install dependencies using `pnpm`: run `pnpm i`.",
22
-
"columnId": "column-todo"
23
-
},
24
-
"jdZxwLymOo7w2eZeNpvsN": {
25
-
"id": "jdZxwLymOo7w2eZeNpvsN",
26
-
"description": "Run `yarn plop`, and follow prompts to generate server or client components for your library",
27
-
"columnId": "column-todo"
28
-
},
29
-
"RX4J5v4y5IOe_ucf8pMRT": {
30
-
"id": "RX4J5v4y5IOe_ucf8pMRT",
31
-
"description": "🌟 Enable [private vulnerability reporting](https://github.com/react18-tools/git-json-resolver/security) (For public repo - do this after updating visibility to public)",
32
-
"columnId": "column-todo"
33
-
},
34
-
"EdPbrbJLllUHfZmCS80f7": {
35
-
"id": "EdPbrbJLllUHfZmCS80f7",
36
-
"description": "Set up `CodeCov`\n - Visit Codecov and set up your repo\n - Create [repository secret]((https://github.com/react18-tools/git-json-resolver/settings/secrets/actions)) for `CODECOV_TOKEN`",
37
-
"columnId": "column-todo"
38
-
},
39
4
"MLLUsAhCKaKxvEXFY0HSq": {
40
5
"id": "MLLUsAhCKaKxvEXFY0HSq",
41
6
"description": "Set up `CodeClimate`\n - Visit CodeClimate and set up your repo\n - Create [repository secret] for `CC_TEST_REPORTER_ID`\n - Add `*.test.*` to ignore patterns on the website\n - Update Code Climate badge",
42
7
"columnId": "column-todo"
43
8
},
44
-
"gMYfaAh2RABMP8uZRQgNx": {
45
-
"id": "gMYfaAh2RABMP8uZRQgNx",
46
-
"description": "Add `NPM_AUTH_TOKEN` to repository secrets to automate package publishing\n - Log in to your [`npm` account](https://www.npmjs.com/login) and create an automation token\n - Create a new repository secret `NPM_AUTH_TOKEN`",
47
-
"columnId": "column-todo"
48
-
},
49
-
"_BfuX7quWBANpDK1bI7YM": {
50
-
"id": "_BfuX7quWBANpDK1bI7YM",
51
-
"description": "Update description in `lib/package.json`",
52
-
"columnId": "column-todo"
53
-
},
54
-
"dC7QDBLH8BmHUfaYmIt81": {
55
-
"id": "dC7QDBLH8BmHUfaYmIt81",
56
-
"description": "(Optional) Add Repo Stats by visiting and setting up [repobeats](https://repobeats.axiom.co/)",
57
-
"columnId": "column-todo"
58
-
},
59
-
"P_NrSJQ8m91Odgz8E1fS6": {
60
-
"id": "P_NrSJQ8m91Odgz8E1fS6",
61
-
"description": "Create your library and update examples",
62
-
"columnId": "column-todo"
63
-
},
64
-
"1dRWJhy45E1Rq5wZAmPHt": {
65
-
"id": "1dRWJhy45E1Rq5wZAmPHt",
66
-
"description": "Update README as required",
67
-
"columnId": "column-todo"
68
-
},
69
9
"5vS1JNXoMhDl5IBljwh2v": {
70
10
"id": "5vS1JNXoMhDl5IBljwh2v",
71
11
"description": "Set up GitHub pages to deploy docs\n - Go to [repo settings](https://github.com/react18-tools/git-json-resolver/settings/pages) -> pages (On the left panel); Select deploy from a branch; Then Select `main` and `/docs`",
@@ -76,26 +16,6 @@
76
16
"description": "(Optional) Set up [Deepsource](https://app.deepsource.com/login) for static code analysis",
77
17
"columnId": "column-todo"
78
18
},
79
-
"FDFqCQvLm2mUlnTJ3Gna5": {
80
-
"id": "FDFqCQvLm2mUlnTJ3Gna5",
81
-
"description": "Push your changes/Create PR and see your library being automatically tested and published",
82
-
"columnId": "column-todo"
83
-
},
84
-
"O1qAByMoxhHOR-a_guL91": {
85
-
"id": "O1qAByMoxhHOR-a_guL91",
86
-
"description": "Optionally deploy your examples to Vercel.",
87
-
"columnId": "column-todo"
88
-
},
89
-
"0499BqWDwJ5cxqtC9Nr82": {
90
-
"id": "0499BqWDwJ5cxqtC9Nr82",
91
-
"description": "Feel free to star this template, contribute, and/or sponsor the [`terborepo-template`](https://github.com/react18-tools/turborepo-template) project or my [other open-source work](https://github.com/sponsors/mayank1513)",
92
-
"columnId": "column-todo"
93
-
},
94
-
"IjuAtNquJ4-Ut874rHKIW": {
95
-
"id": "IjuAtNquJ4-Ut874rHKIW",
96
-
"description": "You can also fork the [`terborepo-template`](https://github.com/react18-tools/turborepo-template/fork) and add your package to `scripts/featured.json`\n - If approved, your package will be automatically added to FEATURED.md and also published on the home page of this repo.",
97
-
"columnId": "column-todo"
98
-
},
99
19
"_JiH9RZLmUF5nxD7lBC5B": {
100
20
"id": "_JiH9RZLmUF5nxD7lBC5B",
101
21
"description": "Create a new GitHub repository using this template.\n - Click the `Use this template` button at the top right -> `Create a new repository`\n - Click `Create repository` and wait for the setup workflow to finish rebranding your repo.",
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