chore: configure monorepo workspace

Add pnpm workspace configuration, Node version specification, root package.json with build/test/lint scripts, and shared TypeScript configuration
This commit is contained in:
imfozilbek
2025-11-23 21:19:24 +05:00
parent f7bad59b94
commit 530cbdf14d
5 changed files with 85 additions and 0 deletions

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
22.18.0

40
package.json Normal file
View File

@@ -0,0 +1,40 @@
{
"name": "puaros-monorepo",
"version": "0.0.1",
"description": "Puaros",
"author": "Fozilbek Samiyev <fozilbek.samiyev@gmail.com>",
"private": true,
"license": "MIT",
"scripts": {
"build:all": "pnpm -r build",
"clean:all": "pnpm -r clean",
"format": "prettier --write \"packages/**/*.ts\"",
"lint": "eslint \"packages/**/*.ts\" --fix",
"test": "pnpm -r test"
},
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.18.0",
"@nestjs/cli": "^11.0.0",
"@nestjs/schematics": "^11.0.0",
"@nestjs/testing": "^11.0.1",
"@types/express": "^5.0.0",
"@types/jest": "^30.0.0",
"@types/node": "^22.10.7",
"@types/supertest": "^6.0.2",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.2.2",
"globals": "^16.0.0",
"jest": "^30.0.0",
"prettier": "^3.4.2",
"source-map-support": "^0.5.21",
"supertest": "^7.0.0",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.2",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.20.0"
}
}

2
pnpm-workspace.yaml Normal file
View File

@@ -0,0 +1,2 @@
packages:
- 'packages/*'

26
tsconfig.base.json Normal file
View File

@@ -0,0 +1,26 @@
{
"compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext",
"resolvePackageJsonExports": true,
"esModuleInterop": true,
"isolatedModules": true,
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "ES2023",
"sourceMap": true,
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": true,
"forceConsistentCasingInFileNames": true,
"noImplicitAny": false,
"strictBindCallApply": false,
"noFallthroughCasesInSwitch": false,
"jsx": "react",
"jsxFactory": "React.createElement",
"jsxFragmentFactory": "React.Fragment"
}
}

16
tsconfig.json Normal file
View File

@@ -0,0 +1,16 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"baseUrl": "./"
},
"references": [
{ "path": "./packages/core" },
{ "path": "./packages/server" },
{ "path": "./packages/cli" },
{ "path": "./packages/sdk" },
{ "path": "./packages/mcp" },
{ "path": "./packages/vscode" }
],
"files": []
}