{"_id":"@batoanng/tsconfig","_rev":"10-b888c1beed49383a9e296513ea29f63e","name":"@batoanng/tsconfig","dist-tags":{"latest":"1.6.1"},"versions":{"1.1.0":{"name":"@batoanng/tsconfig","version":"1.1.0","license":"MIT","_id":"@batoanng/tsconfig@1.1.0","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"e443517f914106a91edcabe1e332f57cefcbf630","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.1.0.tgz","fileCount":7,"integrity":"sha512-mhpAy80NFgdEFNjVOSAMojf0Bdsj3c0vA3Zgnp0X4w7hVYselQ2YzSksiaiNgsLpSFfBKpMgo3FQCbWFY7aAxQ==","signatures":[{"sig":"MEUCIB+qIIXSvyna9rblW4WlTkKShHcsaWZpkMe3tP9QmrcqAiEAkUU0ZOVyCsbJRcaKg5kuHHqA6/QwopYMa01xvuv9EiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2186},"gitHead":"90323c157d8809938f25ff4eadb1c6b32aa02ca4","_npmUser":{"name":"batoanng","actor":{"name":"batoanng","type":"user","email":"michael.batoan.nguyen@gmail.com"},"email":"michael.batoan.nguyen@gmail.com"},"_npmVersion":"10.8.3","directories":{},"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.1.0_1751102186322_0.4941347486409875","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@batoanng/tsconfig","version":"1.1.1","license":"MIT","_id":"@batoanng/tsconfig@1.1.1","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"06e23fc6d26d9306953fcc215dd39def5b80f775","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.1.1.tgz","fileCount":8,"integrity":"sha512-fSzspjKElcYb0D90AoM+/jb+ONeya5Kp7ptAS1aW0/VcmlAEipi/VAHVt4wwZCGB5Tk5G7bh49kSTw94sAh4Xw==","signatures":[{"sig":"MEUCIQD+8oMd9mIrVVPrybfZKe1sc7GrG2HUkv2KlbNBuvO+XwIgNyA4mBzfSIQJ6xJQ+WtJeObZ2TFBzVtnUXyRrQNEx90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2437},"_from":"file:batoanng-tsconfig-1.1.1.tgz","_npmUser":{"name":"batoanng","actor":{"name":"batoanng","type":"user","email":"michael.batoan.nguyen@gmail.com"},"email":"michael.batoan.nguyen@gmail.com"},"_resolved":"/private/var/folders/nt/pm0npgws5cb599xlj4yk9jwm0000gn/T/e4f6389204d6fd8576247526806a3b6e/batoanng-tsconfig-1.1.1.tgz","_integrity":"sha512-fSzspjKElcYb0D90AoM+/jb+ONeya5Kp7ptAS1aW0/VcmlAEipi/VAHVt4wwZCGB5Tk5G7bh49kSTw94sAh4Xw==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.1.1_1751102461464_0.696818751085919","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@batoanng/tsconfig","version":"1.2.0","license":"MIT","_id":"@batoanng/tsconfig@1.2.0","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"429b458303fa5865a81aa63c8554f3e754dbc255","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.2.0.tgz","fileCount":8,"integrity":"sha512-XQdA82uLgVNmJxDdLE/aDYx6Zw2vu039I1wb4oBEkF+2qfKN9CdrbmU0WIPFN0WWfl97j/vfJqVWfHQlbZ/cKA==","signatures":[{"sig":"MEUCIHXr/wp3eewYTZ3v43wRtBuyvd7EsBUS9XScUvXjhVHRAiEA7/8IQI50NnbmuOoKiLJT35SO1DS61my/iiiI8gZJYBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2489},"_from":"file:batoanng-tsconfig-1.2.0.tgz","_npmUser":{"name":"batoanng","actor":{"name":"batoanng","type":"user","email":"michael.batoan.nguyen@gmail.com"},"email":"michael.batoan.nguyen@gmail.com"},"_resolved":"/private/var/folders/nt/pm0npgws5cb599xlj4yk9jwm0000gn/T/93129749818704a18f42cfa55fd3ec14/batoanng-tsconfig-1.2.0.tgz","_integrity":"sha512-XQdA82uLgVNmJxDdLE/aDYx6Zw2vu039I1wb4oBEkF+2qfKN9CdrbmU0WIPFN0WWfl97j/vfJqVWfHQlbZ/cKA==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.2.0_1751435463011_0.624501396215855","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@batoanng/tsconfig","version":"1.2.1","license":"MIT","_id":"@batoanng/tsconfig@1.2.1","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"5fd75a7d958e017248e4b512a50f135448cc50e9","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.2.1.tgz","fileCount":10,"integrity":"sha512-H6rYYc4Rk76VYsZsp5w52YQRbFBS6qd9GQNNU1bqBta9UvbJqMUi5FN0ncHiKMdgLtIAe8qLjZplqJh8c8Jg4w==","signatures":[{"sig":"MEQCIBt/a4YkmAvdXAnIg4qsJowf6AhWYSoP0Zy7oXoexnBWAiAqU1QiKTSJHMPPvtB4IvH28rDd6CqO8OI6E443z+2nFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6208},"_from":"file:batoanng-tsconfig-1.2.1.tgz","_npmUser":{"name":"batoanng","actor":{"name":"batoanng","type":"user","email":"michael.batoan.nguyen@gmail.com"},"email":"michael.batoan.nguyen@gmail.com"},"_resolved":"/private/var/folders/nt/pm0npgws5cb599xlj4yk9jwm0000gn/T/32409d33c045f6a882dd314daafd58fb/batoanng-tsconfig-1.2.1.tgz","_integrity":"sha512-H6rYYc4Rk76VYsZsp5w52YQRbFBS6qd9GQNNU1bqBta9UvbJqMUi5FN0ncHiKMdgLtIAe8qLjZplqJh8c8Jg4w==","_npmVersion":"10.8.3","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","directories":{},"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.2.1_1751982569852_0.876435731903243","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@batoanng/tsconfig","version":"1.2.2","license":"MIT","_id":"@batoanng/tsconfig@1.2.2","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"5288737dbae2af406ecc90bb925a0bd1820145ab","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.2.2.tgz","fileCount":8,"integrity":"sha512-pVIMfXagMIJVUIO6PZG18picCNrA0cLB31olgtdfLDPWy5GaNkTM5D2YaUXi/0ISfV/R4umP/NLEgP3zAZ1UlQ==","signatures":[{"sig":"MEUCIAEsg2NK3bQkWLu7aXUduru4asZK1b8Jh3m3XMFFrQ84AiEAhbvPeZQjmWGSyHrBlkPOE8bb2y7/nAqWDpdnNOUY3mc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6258},"gitHead":"2fc4fdfd11b87483e43bc73dfa11c36236adca96","_npmUser":{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"},"_npmVersion":"10.8.3","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","directories":{},"_nodeVersion":"20.12.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.2.2_1752900152589_0.057067007994500596","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@batoanng/tsconfig","version":"1.3.0","license":"MIT","_id":"@batoanng/tsconfig@1.3.0","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"c10f753ec395bac021a4bcfaa92fe5bc31de501e","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.3.0.tgz","fileCount":10,"integrity":"sha512-oycbZKZJFHCQ6YnFhoXjEE0nBOYnWqoRfSmyJlSdyJen+eMY7rPOlXGX5dQB8KHYMIOMWvgO1smXPABPQlQFUw==","signatures":[{"sig":"MEQCIFXhJiwH1PM+ZNPid0MC8dnxz8OsY8roSmBQTmiy5ntWAiAN1x4LQO6yyrMenEdB1vE7+BPbFETHhcOFa3DxP+21Ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504551},"gitHead":"9cc4168601836dc582ff6bb55d43e4ceca6db672","_npmUser":{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"},"_npmVersion":"11.6.0","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.3.0_1775217375407_0.7225399026165509","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@batoanng/tsconfig","version":"1.4.0","license":"MIT","_id":"@batoanng/tsconfig@1.4.0","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"ff36f486602e81434f26764676481bc467f9d569","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.4.0.tgz","fileCount":10,"integrity":"sha512-6dXkS1xoxOL8vzE3wRUbBgZRuQryeJpvzpCLDfjVDWvCypYOUkupobe/YqlDZ39WAhvvqciQ9ChlLRgDk/qp8A==","signatures":[{"sig":"MEUCIDxG7+SX9lP1bWmb0a1/rdKKNvB3AQSHIjd9yuS/LPW9AiEA7mte88CUx4J8Pt0LJlwMNVYvTp4aAzjjIu29oPIT3QY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504601},"gitHead":"a055d2e7570529644e541311f02f90581c49a25f","_npmUser":{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"},"_npmVersion":"11.6.0","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.4.0_1775438642126_0.6994734943031187","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@batoanng/tsconfig","version":"1.5.1","license":"MIT","_id":"@batoanng/tsconfig@1.5.1","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"f74187c11aeb33199217dee358b66d3fcb955d8e","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.5.1.tgz","fileCount":9,"integrity":"sha512-1l6kgI4YDYp2IeJuFtlEP5M1lHTQFM1uK/C7Mo646jpX5tAbALySeHreqgcyNM7YmIvIiSxVVlbjk9qUfyBE9Q==","signatures":[{"sig":"MEUCIQC5GhvZi9s1Ut+22C7aBCM+0xljBvdzpub3EoExGAyHKQIgGA+V4aRZ2Z6jm3jLwU1zzV6qFyD6wYjNOsrROOqA9gQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7334},"gitHead":"20840dc0b1b07013f2457683335a5bf1f44c188d","_npmUser":{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"},"_npmVersion":"11.6.0","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.5.1_1775547412296_0.7815763611805628","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@batoanng/tsconfig","version":"1.6.0","license":"MIT","_id":"@batoanng/tsconfig@1.6.0","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"dist":{"shasum":"db90f3a352440882c3d0854538903cae762436be","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.6.0.tgz","fileCount":9,"integrity":"sha512-APP3DIuCe+enTWKR29wWu2yQur96sZC409sRfqadYKrN4s27+kMkJtMUdKJMnAW3VsIEM29hd0xt9aWhljByLw==","signatures":[{"sig":"MEYCIQCUd6g2VRiELLh8nz6PdZ5OQMdyTqAzd+Jk6CdivJ0TegIhALfI11352La9sTsOBNUIZdruZfASro9iBAATclhfhMOO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7337},"gitHead":"77f9470d74e77f51651588b25842e655993167b4","_npmUser":{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"},"_npmVersion":"11.6.0","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tsconfig_1.6.0_1777628591903_0.6925388237858934","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@batoanng/tsconfig","version":"1.6.1","license":"MIT","publishConfig":{"access":"public"},"_id":"@batoanng/tsconfig@1.6.1","gitHead":"91ef272fddc3f407490704f1c41a244b20d7d8ef","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","_nodeVersion":"24.9.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-vCx//90cxcV0s0+l1l/xFIk6+fLWDnafXta4/04TIRx0kjq7JtPMaDiTMrhcyMBFSzpFffwuAS4qZ9wpFdPgpg==","shasum":"09351f7767214c80f59af829b083d9edc8da66c6","tarball":"https://registry.npmjs.org/@batoanng/tsconfig/-/tsconfig-1.6.1.tgz","fileCount":9,"unpackedSize":7279,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID9TeI8+DP+S5wYJfV1ewEqWkBn1XKpu860u0dfpWvJPAiAIn12aZKhJ3//AilKe6fZ46Ml+ywZj+YJecfGlzAl4JQ=="}]},"_npmUser":{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"},"directories":{},"maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsconfig_1.6.1_1777629378998_0.20767875690668713"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-28T09:16:26.175Z","modified":"2026-05-01T09:56:19.250Z","1.1.0":"2025-06-28T09:16:26.495Z","1.1.1":"2025-06-28T09:21:01.645Z","1.2.0":"2025-07-02T05:51:03.179Z","1.2.1":"2025-07-08T13:49:30.053Z","1.2.2":"2025-07-19T04:42:32.780Z","1.3.0":"2026-04-03T11:56:15.578Z","1.4.0":"2026-04-06T01:24:02.296Z","1.5.1":"2026-04-07T07:36:52.460Z","1.6.0":"2026-05-01T09:43:12.052Z","1.6.1":"2026-05-01T09:56:19.150Z"},"license":"MIT","description":"[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig) [![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)","maintainers":[{"name":"batoanng","email":"michael.batoan.nguyen@gmail.com"}],"readme":"# @batoanng/tsconfig\n\n[![npm version](https://img.shields.io/npm/v/@batoanng/tsconfig)](https://www.npmjs.com/package/@batoanng/tsconfig)\n[![install size](https://packagephobia.com/badge?p=@batoanng/tsconfig)](https://packagephobia.com/result?p=@batoanng/tsconfig)\n\nA set of shareable TypeScript configuration presets designed for consistency across Node.js, React, Next.js, and tooling within a monorepo.\n\n---\n\n## ✨ Features\n\n- Strict type-checking across all environments\n- Modern module and target settings\n- Multiple environment presets:\n  - Node.js (v24+)\n  - React apps and libraries\n  - Next.js projects\n  - Optional tooling support for legacy ESLint TypeScript parser setups\n- Built-in `base.json` to centralize core rules\n- Easy to extend across packages and apps\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install -D @batoanng/tsconfig typescript\n```\n\n---\n\n## 🚀 Usage\n\nIn your `tsconfig.json`, extend the desired preset:\n\n### For a React app or component library\n\n```json\n{\n  \"extends\": \"@batoanng/tsconfig/reactjs.json\"\n}\n```\n\n### For a Next.js app\n\n```json\n{\n  \"extends\": \"@batoanng/tsconfig/nextjs.json\"\n}\n```\n\n### For Node.js (v24+)\n\n```json\n{\n  \"extends\": \"@batoanng/tsconfig/node24.json\"\n}\n```\n\n### For legacy ESLint parser projects only\n\n```json\n{\n  \"extends\": \"@batoanng/tsconfig/eslint.json\"\n}\n```\n\n> The shared [`@batoanng/eslint-config`](../eslint-config/README.md) package now uses ESLint flat config with `projectService`, so it no longer depends on this preset.\n\n---\n\n## 🧱 Available Configs\n\n| File           | Purpose                                    |\n|----------------|--------------------------------------------|\n| `base.json`    | Core rules shared across all configs       |\n| `eslint.json`  | Optional TS parser preset for legacy ESLint setups |\n| `nextjs.json`  | For Next.js frontend apps                  |\n| `node24.json`  | For modern Node.js apps and libraries      |\n| `reactjs.json` | For React-based apps and libraries         |\n\n---\n\n## 🛠 Example `tsconfig.json`\n\n```json\n{\n  \"extends\": \"@batoanng/tsconfig/reactjs.json\",\n  \"compilerOptions\": {\n    \"outDir\": \"dist\",\n    \"rootDir\": \"src\"\n  },\n  \"include\": [\"src\"],\n  \"exclude\": [\"dist\", \"node_modules\"]\n}\n```\n\n---\n\n## 🔒 Strictness & Quality\n\nAll presets inherit from `base.json` which includes:\n\n```json\n{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"declaration\": true,\n    \"declarationMap\": true,\n    \"esModuleInterop\": true,\n    \"forceConsistentCasingInFileNames\": true,\n    \"inlineSources\": false,\n    \"isolatedModules\": true,\n    \"moduleResolution\": \"node\",\n    \"noUnusedLocals\": false,\n    \"noUnusedParameters\": false,\n    \"preserveWatchOutput\": true,\n    \"skipLibCheck\": true,\n    \"strict\": true\n  },\n  \"exclude\": [\"node_modules\"]\n}\n```\n","readmeFilename":"README.md"}