feat: initialize monorepo with CLI, parser, and UI workspaces

This commit is contained in:
Kamran Ahmed
2026-03-13 22:00:06 +00:00
commit 2bf480eefc
10 changed files with 2307 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
node_modules/
dist/
*.tsbuildinfo
.DS_Store
*.local
+2152
View File
File diff suppressed because it is too large Load Diff
+19
View File
@@ -0,0 +1,19 @@
{
"name": "diffity",
"version": "0.1.0",
"private": true,
"description": "GitHub-style git diff viewer in the browser",
"workspaces": [
"packages/cli",
"packages/parser",
"packages/ui"
],
"scripts": {
"build": "npm run build -w packages/parser && npm run build -w packages/ui && npm run build -w packages/cli",
"test": "npm run test -w packages/parser",
"dev": "npm run dev -w packages/ui"
},
"keywords": ["git", "diff", "viewer", "cli"],
"author": "",
"license": "PolyForm-Shield-1.0.0"
}
+27
View File
@@ -0,0 +1,27 @@
{
"name": "diffity",
"version": "0.1.0",
"type": "module",
"bin": {
"diffity": "./dist/index.js"
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"scripts": {
"build": "tsc",
"dev": "tsx src/index.ts"
},
"dependencies": {
"@diffity/parser": "0.1.0",
"commander": "latest",
"open": "latest",
"picocolors": "latest"
},
"files": [
"dist"
],
"devDependencies": {
"tsx": "^4.21.0",
"typescript": "^5.9.3"
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src",
"composite": true
},
"include": ["src/**/*.ts"],
"references": [
{ "path": "../parser" }
]
}
+25
View File
@@ -0,0 +1,25 @@
{
"name": "@diffity/parser",
"version": "0.1.0",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"scripts": {
"build": "tsc",
"test": "vitest run",
"test:watch": "vitest"
},
"files": [
"dist"
],
"devDependencies": {
"typescript": "^5.9.3",
"vitest": "^4.1.0"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src",
"composite": true
},
"include": ["src/**/*.ts"],
"exclude": ["src/__tests__", "src/__fixtures__"]
}
+22
View File
@@ -0,0 +1,22 @@
{
"name": "@diffity/ui",
"version": "0.1.0",
"type": "module",
"private": true,
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview"
},
"dependencies": {
"react": "latest",
"react-dom": "latest"
},
"devDependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
"@vitejs/plugin-react": "latest",
"typescript": "latest",
"vite": "latest"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src",
"composite": true,
"jsx": "react-jsx",
"lib": ["ES2022", "DOM", "DOM.Iterable"]
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"references": [
{ "path": "../parser" }
]
}
+21
View File
@@ -0,0 +1,21 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true
},
"references": [
{ "path": "./packages/parser" },
{ "path": "./packages/cli" },
{ "path": "./packages/ui" }
]
}