{"id":13672826,"url":"https://github.com/dominikg/tsconfck","last_synced_at":"2025-05-15T18:09:19.852Z","repository":{"id":39637768,"uuid":"395320325","full_name":"dominikg/tsconfck","owner":"dominikg","description":"A utility to find and parse tsconfig files without depending on typescript","archived":false,"fork":false,"pushed_at":"2024-05-21T23:56:28.000Z","size":937,"stargazers_count":272,"open_issues_count":6,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-22T00:49:05.563Z","etag":null,"topics":["tsconfig","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dominikg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/contributing.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["dominikg"]}},"created_at":"2021-08-12T13:01:08.000Z","updated_at":"2024-05-29T22:33:26.650Z","dependencies_parsed_at":"2023-09-30T11:47:36.812Z","dependency_job_id":"d2abe115-479e-4c1f-a47b-8d4c2c00b8a9","html_url":"https://github.com/dominikg/tsconfck","commit_stats":{"total_commits":160,"total_committers":6,"mean_commits":"26.666666666666668","dds":0.2875,"last_synced_commit":"83f9a0fcd954e969c1759de8322b865be238bfc8"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominikg%2Ftsconfck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominikg%2Ftsconfck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominikg%2Ftsconfck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominikg%2Ftsconfck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dominikg","download_url":"https://codeload.github.com/dominikg/tsconfck/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245351986,"owners_count":20601092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tsconfig","typescript"],"created_at":"2024-08-02T09:01:50.340Z","updated_at":"2025-03-31T22:18:27.857Z","avatar_url":"https://github.com/dominikg.png","language":"JavaScript","funding_links":["https://github.com/sponsors/dominikg"],"categories":["目录","JavaScript","typescript","📦 Legacy \u0026 Inactive Projects","TypeScript"],"sub_categories":["TypeScript"],"readme":"# tsconfck\n\n[![npm version](https://img.shields.io/npm/v/tsconfck)](https://www.npmjs.com/package/tsconfck)\n[![CI](https://github.com/dominikg/tsconfck/actions/workflows/test.yml/badge.svg)](https://github.com/dominikg/tsconfck/actions/workflows/test.yml)\n\nA utility to find and parse tsconfig files without depending on typescript\n\n# Why\n\nBecause no simple official api exists and tsconfig isn't actual json.\n\n# Features\n\n- [x] find closest tsconfig (tsconfig.json or jsconfig.json)\n- [x] convert tsconfig to actual json and parse it\n- [x] resolve \"extends\"\n- [x] resolve \"references\" of solution-style tsconfig\n- [x] resolve [\"${configDir}\" variable](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-5.html#the-configdir-template-variable-for-configuration-files)\n- [x] optional caching for improved performance\n- [x] optional findNative and parseNative to use official typescript api\n- [x] zero dependencies (typescript optional)\n- [x] extensive testsuite\n- [x] completely async and optimized (it's [fast](https://github.com/dominikg/tsconfck/blob/main/docs/benchmark.md))\n- [x] tiny [4.7KB gzip](https://pkg-size.dev/tsconfck@%5E3.0.0-next.0)\n- [x] unbundled esm js, no sourcemaps needed\n- [x] [types](./packages/tsconfck/types/index.d.ts) generated with [dts-buddy](https://github.com/Rich-Harris/dts-buddy)\n\n# Users\n\nUsed by [vite](https://github.com/vitejs/vite)\\*, [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths), [astro](https://github.com/withastro/astro) and [many more](https://github.com/dominikg/tsconfck/network/dependents)\n\n\u003e (\\*) vite bundles tsconfck so it is listed as a devDependency\n\n# Install\n\n```shell\nnpm install --save-dev tsconfck # or pnpm, yarn\n```\n\n# Usage\n\n```js\nimport { parse } from 'tsconfck';\nconst {\n\ttsconfigFile, // full path to found tsconfig\n\ttsconfig, // tsconfig object including merged values from extended configs\n\textended, // separate unmerged results of all tsconfig files that contributed to tsconfig\n\tsolution, // solution result if tsconfig is part of a solution\n\treferenced // referenced tsconfig results if tsconfig is a solution\n} = await parse('foo/bar.ts');\n```\n\n# Links\n\n[package readme](./packages/tsconfck/README.md)\n[api](./docs/api.md)\n[changelog](./packages/tsconfck/CHANGELOG.md)\n\n# Develop\n\nThis repo uses\n\n- [pnpm](https://pnpm.io)\n- [changesets](https://github.com/changesets/changesets)\n\nIn every PR you have to add a changeset by running `pnpm changeset` and following the prompts\n\nPRs are going to be squash-merged\n\n```shell\n# install dependencies\npnpm install\n# run tests\npnpm test\n```\n\n# License\n\n[MIT](./packages/tsconfck/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominikg%2Ftsconfck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdominikg%2Ftsconfck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominikg%2Ftsconfck/lists"}