{"id":26711633,"url":"https://github.com/stackblogger/parent-package-json-ts","last_synced_at":"2026-05-07T11:34:41.129Z","repository":{"id":153117510,"uuid":"628157361","full_name":"stackblogger/parent-package-json-ts","owner":"stackblogger","description":"Read and Parse Parent Package Json as valid JSON Object file in TypeScript Node.Js","archived":false,"fork":false,"pushed_at":"2023-04-15T10:27:21.000Z","size":122,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-26T19:53:08.290Z","etag":null,"topics":["json","nodejs","object","package","packagejson","parse","read"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/parent-package-json-ts","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stackblogger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-04-15T04:36:09.000Z","updated_at":"2023-04-15T09:51:39.000Z","dependencies_parsed_at":"2023-04-30T05:46:36.449Z","dependency_job_id":null,"html_url":"https://github.com/stackblogger/parent-package-json-ts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stackblogger/parent-package-json-ts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackblogger%2Fparent-package-json-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackblogger%2Fparent-package-json-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackblogger%2Fparent-package-json-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackblogger%2Fparent-package-json-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stackblogger","download_url":"https://codeload.github.com/stackblogger/parent-package-json-ts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackblogger%2Fparent-package-json-ts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32735289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["json","nodejs","object","package","packagejson","parse","read"],"created_at":"2025-03-27T10:29:50.441Z","updated_at":"2026-05-07T11:34:41.118Z","avatar_url":"https://github.com/stackblogger.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/stackblogger/parent-package-json-ts/master.yml?style=flat-square\u0026logo=github\u0026color=success)\n![npm](https://img.shields.io/npm/v/parent-package-json-ts?style=flat-square\u0026color=success\u0026logo=npm)\n\n# parent-package-json-ts\n\nA plugin to read and parse parent package.json file as JSON object in TypeScript Node.Js. It is useful when you have a library that requires some attributes from parent Package.Json file. Simply install this library in your parent Node.Js JavaScript/TypeScript based application and call the function.\n\nThe objective of the plugin is to read the `package.json` file contents as a valid JSON objects wherever you call the function. It will read the `package.json` file of the caller location.\n\n## Installation\n\n```bash\nnpm install parent-package-json-ts\n```\n\n## Default Usage\n\nOnce the plugin is installed, import `packageJson` function from `parent-package-json-ts` package anywehere in your project and assign the JSON object in a variable.\n\n```typescript\nimport { packageJson } from 'parent-package-json-ts';\n\nconst contents = packageJson();\n\nconsole.log(contents);\n\n/*\n  {\n    \"name\": \"parent-package-json-ts\",\n    \"version\": \"0.1.0\",\n    \"description\": \"Read and Parse Parent Package Json file in TypeScript.\",\n    \"scripts\": {\n      \"test\": \"jest --coverage\",\n      \"lint\": \"eslint .\"\n    },\n    \"repository\": {\n      \"type\": \"git\",\n      \"url\": \"git+https://github.com/stackblogger/parent-package-json-ts.git\"\n    },\n    \"engines\": {\n      \"node\": \"\u003e= 16.0.0\"\n    }\n  }\n*/\n```\n\n## Use your own custom interface to read json values\n\nIf you don't want to use the plugin's default interface then you can have your own interface and provide it as prefix at the time of `packageJson` function call. More details here-\n\n```typescript\nimport { packageJson } from 'parent-package-json-ts';\n\ninterface PackageJsonContent {\n  name: string;\n  version: string;\n}\n\nconst contents = \u003cPackageJsonContent\u003epackageJson();\nconsole.log(contents);\n\n/*\n  {\n    \"name\": \"parent-package-json-ts\",\n    \"version\": \"0.1.0\"\n  }\n*/\n```\n\n## Read Package.Json from a custom directory\n\nYou can also read the parsed `package.json` as JSON object from a custom directory. Simply pass the custom directory path in the function parameter.\nHere are more details with example-\n\n```typescript\nimport { packageJson } from 'parent-package-json-ts';\n\nconst customPath = path.join('some-directory-here');\nconst contents = packageJson(customPath);\n\nconsole.log(contents);\n\n/*\n  {\n    \"name\": \"parent-package-json-ts\",\n    \"version\": \"0.1.0\",\n    \"description\": \"Read and Parse Parent Package Json file in TypeScript.\",\n    \"scripts\": {\n      \"test\": \"jest --coverage\",\n      \"lint\": \"eslint .\"\n    },\n    \"repository\": {\n      \"type\": \"git\",\n      \"url\": \"git+https://github.com/stackblogger/parent-package-json-ts.git\"\n    },\n    \"engines\": {\n      \"node\": \"\u003e= 16.0.0\"\n    }\n  }\n*/\n```\n\n### License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackblogger%2Fparent-package-json-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstackblogger%2Fparent-package-json-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackblogger%2Fparent-package-json-ts/lists"}