{"_id":"@dbs-portal/tool-tsconfig","name":"@dbs-portal/tool-tsconfig","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@dbs-portal/tool-tsconfig","version":"1.0.0","description":"Shared TypeScript configurations for DBS Portal monorepo","main":"base.json","exports":{"./base.json":"./base.json","./react.json":"./react.json","./library.json":"./library.json","./node.json":"./node.json"},"scripts":{"test":"node test.js","validate":"node validate-configs.js"},"devDependencies":{"typescript":"^5.7.2"},"peerDependencies":{"typescript":"^5.0.0"},"keywords":["typescript","tsconfig","configuration","dbs-portal"],"author":{"name":"DBS Portal Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/your-org/dbs-portal.git","directory":"packages/tools/tsconfig"},"bugs":{"url":"https://github.com/your-org/dbs-portal/issues"},"homepage":"https://github.com/your-org/dbs-portal#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@dbs-portal/tool-tsconfig@1.0.0","gitHead":"61a23904a481b624f3e8ed7abb6c944ecfeaca7b","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-6lCyClJIYSclTYEIUEka6o5S0QPw1FkmTTy5EaK9LfK39P165z+sTKZynOa9z7CEcT2C8SJcxN95yBeLwYMWpQ==","shasum":"6ee839d5521de916bdd9837948918b4b8379bfd7","tarball":"https://registry.npmjs.org/@dbs-portal/tool-tsconfig/-/tool-tsconfig-1.0.0.tgz","fileCount":6,"unpackedSize":11031,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDIyENKNjfUDL4NC7Pbou+ap+v+qHKuw9zdXlxRDKO63gIgC5Mt2xeuu+51Uis+bB1NGTbuknbAagkkonq1VEZegGk="}]},"_npmUser":{"name":"longvq","email":"vqlong1604@gmail.com"},"directories":{},"maintainers":[{"name":"longvq","email":"vqlong1604@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tool-tsconfig_1.0.0_1754218663279_0.45045702437498636"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-03T10:57:43.179Z","1.0.0":"2025-08-03T10:57:43.511Z","modified":"2025-08-03T10:57:43.833Z"},"maintainers":[{"name":"longvq","email":"vqlong1604@gmail.com"}],"description":"Shared TypeScript configurations for DBS Portal monorepo","homepage":"https://github.com/your-org/dbs-portal#readme","keywords":["typescript","tsconfig","configuration","dbs-portal"],"repository":{"type":"git","url":"git+https://github.com/your-org/dbs-portal.git","directory":"packages/tools/tsconfig"},"author":{"name":"DBS Portal Team"},"bugs":{"url":"https://github.com/your-org/dbs-portal/issues"},"license":"MIT","readme":"# @dbs-portal/tool-tsconfig\n\nShared TypeScript configurations for DBS Portal monorepo packages.\n\n## Features\n\n- 🎯 **Strict Type Checking**: Comprehensive type safety with strict mode enabled\n- ⚛️ **React Support**: Optimized configuration for React applications\n- 📚 **Library Configuration**: Specialized settings for library packages\n- 🔧 **Node.js Support**: Configuration for build scripts and tools\n- 🏗️ **Monorepo Ready**: Path mapping and workspace support\n- 🚀 **Modern TypeScript**: Latest TypeScript features and best practices\n\n## Installation\n\n```bash\nyarn add -D @dbs-portal/tool-tsconfig\n```\n\n## Usage\n\n### Base Configuration\n\nFor general TypeScript projects:\n\n```json\n{\n  \"extends\": \"@dbs-portal/tool-tsconfig/base.json\",\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./src/*\"]\n    }\n  }\n}\n```\n\n### React Applications\n\nFor React applications and components:\n\n```json\n{\n  \"extends\": \"@dbs-portal/tool-tsconfig/react.json\",\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./src/*\"]\n    }\n  },\n  \"include\": [\"src/**/*\", \"vite.config.ts\"]\n}\n```\n\n### Library Packages\n\nFor library packages that need to emit declarations:\n\n```json\n{\n  \"extends\": \"@dbs-portal/tool-tsconfig/library.json\",\n  \"compilerOptions\": {\n    \"outDir\": \"dist\",\n    \"rootDir\": \"src\"\n  }\n}\n```\n\n### Node.js Scripts\n\nFor build scripts and Node.js tools:\n\n```json\n{\n  \"extends\": \"@dbs-portal/tool-tsconfig/node.json\",\n  \"compilerOptions\": {\n    \"outDir\": \"dist\"\n  }\n}\n```\n\n## Configurations\n\n### Base Configuration\n\n- **Target**: ES2022 with modern JavaScript features\n- **Module**: ESNext with bundler resolution\n- **Strict Mode**: Full TypeScript strict checking enabled\n- **Path Mapping**: Support for monorepo package references\n- **JSX**: React JSX transform support\n\n### React Configuration\n\nExtends base configuration with:\n- React-specific JSX settings\n- Vite client types\n- React and React DOM types\n- Development optimizations\n\n### Library Configuration\n\nExtends base configuration with:\n- Declaration file generation\n- Source maps for debugging\n- Stricter type checking\n- Library-compatible module settings\n\n### Node.js Configuration\n\nExtends base configuration with:\n- Node.js types and environment\n- Relaxed rules for build scripts\n- CommonJS compatibility\n- ts-node configuration\n\n## Compiler Options\n\n### Type Checking\n\nAll configurations include strict type checking:\n\n```json\n{\n  \"strict\": true,\n  \"noUnusedLocals\": true,\n  \"noUnusedParameters\": true,\n  \"exactOptionalPropertyTypes\": true,\n  \"noImplicitReturns\": true,\n  \"noFallthroughCasesInSwitch\": true,\n  \"noUncheckedIndexedAccess\": true\n}\n```\n\n### Module Resolution\n\nModern module resolution with bundler support:\n\n```json\n{\n  \"module\": \"ESNext\",\n  \"moduleResolution\": \"bundler\",\n  \"allowImportingTsExtensions\": true,\n  \"verbatimModuleSyntax\": true\n}\n```\n\n### Path Mapping\n\nMonorepo-aware path mapping:\n\n```json\n{\n  \"baseUrl\": \".\",\n  \"paths\": {\n    \"@/*\": [\"./src/*\"],\n    \"@dbs-portal/core-*\": [\"../core/*/src\"],\n    \"@dbs-portal/module-*\": [\"../modules/*/src\"],\n    \"@dbs-portal/tool-*\": [\"../tools/*/src\"]\n  }\n}\n```\n\n## Package-Specific Usage\n\n### Core Packages\n\n```json\n{\n  \"extends\": \"@dbs-portal/tool-tsconfig/library.json\",\n  \"compilerOptions\": {\n    \"outDir\": \"dist\",\n    \"rootDir\": \"src\",\n    \"declaration\": true\n  }\n}\n```\n\n### Module Packages\n\n```json\n{\n  \"extends\": \"@dbs-portal/tool-tsconfig/react.json\",\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./src/*\"],\n      \"@dbs-portal/core-*\": [\"../../core/*/src\"]\n    }\n  }\n}\n```\n\n### Application Packages\n\n```json\n{\n  \"extends\": \"@dbs-portal/tool-tsconfig/react.json\",\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./src/*\"],\n      \"@dbs-portal/*\": [\"../../*/src\"]\n    }\n  }\n}\n```\n\n## Integration with Build Tools\n\n### Vite\n\nWorks seamlessly with Vite's TypeScript support:\n\n```typescript\n// vite.config.ts\nimport { defineConfig } from 'vite'\nimport react from '@vitejs/plugin-react'\n\nexport default defineConfig({\n  plugins: [react()],\n  resolve: {\n    alias: {\n      '@': path.resolve(__dirname, './src')\n    }\n  }\n})\n```\n\n### ESLint\n\nConfigure ESLint to use the same TypeScript settings:\n\n```javascript\n// .eslintrc.js\nmodule.exports = {\n  parserOptions: {\n    project: './tsconfig.json'\n  }\n}\n```\n\n## Scripts\n\nAdd to your package.json:\n\n```json\n{\n  \"scripts\": {\n    \"type-check\": \"tsc --noEmit\",\n    \"type-check:watch\": \"tsc --noEmit --watch\",\n    \"build\": \"tsc\",\n    \"build:watch\": \"tsc --watch\"\n  }\n}\n```\n\n## VS Code Integration\n\nAdd to your VS Code settings:\n\n```json\n{\n  \"typescript.preferences.includePackageJsonAutoImports\": \"on\",\n  \"typescript.suggest.autoImports\": true,\n  \"typescript.updateImportsOnFileMove.enabled\": \"always\"\n}\n```\n\n## Troubleshooting\n\n### Path Mapping Issues\n\nIf path mapping doesn't work, ensure:\n1. `baseUrl` is set correctly\n2. Paths are relative to `baseUrl`\n3. Your bundler supports the same path mapping\n\n### Module Resolution\n\nFor module resolution issues:\n1. Check `moduleResolution` setting\n2. Verify `allowImportingTsExtensions` setting\n3. Ensure bundler compatibility\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-f75b3089779d12e435d88b3f831b557d"}