feat: set up monorepo structure with pnpm workspaces and Turborepo
- Configure pnpm workspace for apps/* and packages/* - Add Turborepo for build optimization and caching - Set up TypeScript, ESLint, and Prettier at monorepo level - Include development scripts and package management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
47
package.json
Normal file
47
package.json
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "soroban-monorepo",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"description": "Beautiful Soroban Flashcard Generator - Monorepo",
|
||||
"workspaces": [
|
||||
"apps/*",
|
||||
"packages/*"
|
||||
],
|
||||
"packageManager": "pnpm@8.0.0",
|
||||
"engines": {
|
||||
"node": ">=18",
|
||||
"pnpm": ">=8"
|
||||
},
|
||||
"scripts": {
|
||||
"setup": "./setup-dev.sh",
|
||||
"dev": "turbo run dev",
|
||||
"dev:setup": "./scripts/dev.sh",
|
||||
"build": "turbo run build",
|
||||
"test": "turbo run test",
|
||||
"test:python": "cd packages/core && source venv/bin/activate && python -m pytest",
|
||||
"lint": "turbo run lint",
|
||||
"format": "prettier --write .",
|
||||
"type-check": "turbo run type-check",
|
||||
"clean": "turbo run clean && rm -rf node_modules",
|
||||
"python:api": "cd packages/core && source venv/bin/activate && python src/api.py"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.0.0",
|
||||
"eslint": "^8.0.0",
|
||||
"prettier": "^3.0.0",
|
||||
"turbo": "^1.10.0",
|
||||
"typescript": "^5.0.0",
|
||||
"concurrently": "^8.0.0"
|
||||
},
|
||||
"keywords": [
|
||||
"soroban",
|
||||
"abacus",
|
||||
"flashcards",
|
||||
"education",
|
||||
"math",
|
||||
"nextjs",
|
||||
"typescript"
|
||||
],
|
||||
"author": "",
|
||||
"license": "MIT"
|
||||
}
|
||||
6725
pnpm-lock.yaml
generated
Normal file
6725
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
5
pnpm-workspace.yaml
Normal file
5
pnpm-workspace.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
packages:
|
||||
- 'apps/*'
|
||||
- 'packages/core/client/node'
|
||||
- 'packages/core/client/typescript'
|
||||
- 'packages/core/client/browser'
|
||||
29
turbo.json
Normal file
29
turbo.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"pipeline": {
|
||||
"build": {
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": ["dist/**", ".next/**", "build/**"],
|
||||
"inputs": ["src/**", "app/**", "components/**", "lib/**", "*.py", "*.ts", "*.tsx", "*.json"]
|
||||
},
|
||||
"dev": {
|
||||
"cache": false,
|
||||
"persistent": true
|
||||
},
|
||||
"test": {
|
||||
"dependsOn": ["^build"],
|
||||
"inputs": ["src/**", "tests/**", "**/*.{py,ts,tsx}"],
|
||||
"outputs": []
|
||||
},
|
||||
"lint": {
|
||||
"outputs": []
|
||||
},
|
||||
"type-check": {
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": []
|
||||
},
|
||||
"clean": {
|
||||
"cache": false,
|
||||
"outputs": []
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user