{"id":15118126,"url":"https://github.com/mnrendra/read-package","last_synced_at":"2026-01-17T04:38:35.000Z","repository":{"id":181458056,"uuid":"666455866","full_name":"mnrendra/read-package","owner":"mnrendra","description":"Read the package.json file from any sub-directory in your project.","archived":false,"fork":false,"pushed_at":"2025-04-22T18:23:25.000Z","size":603,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-28T00:31:56.958Z","etag":null,"topics":["package-json","read","read-package"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@mnrendra/read-package","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/mnrendra.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-14T15:02:40.000Z","updated_at":"2025-03-04T17:04:16.000Z","dependencies_parsed_at":"2024-06-16T14:38:36.837Z","dependency_job_id":"cc83312d-3374-4ee2-b618-43ce274357f8","html_url":"https://github.com/mnrendra/read-package","commit_stats":null,"previous_names":["mnrendra/read-package"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/mnrendra/read-package","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnrendra%2Fread-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnrendra%2Fread-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnrendra%2Fread-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnrendra%2Fread-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnrendra","download_url":"https://codeload.github.com/mnrendra/read-package/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnrendra%2Fread-package/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28495427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"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":["package-json","read","read-package"],"created_at":"2024-09-26T01:46:08.629Z","updated_at":"2026-01-17T04:38:34.974Z","avatar_url":"https://github.com/mnrendra.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# @mnrendra/read-package\nRead the `package.json` file from any sub-directory in your project.\n\n## Install\n```bash\nnpm i @mnrendra/read-package\n```\n\n## Usage\n\nUsing `CommonJS`:\n```javascript\nconst { readPackage, readPackageSync } = require('@mnrendra/read-package')\n\n// Asynchronously\nreadPackage()\n  .then(({ name, version }) =\u003e {\n    console.log('asynchronously:', name, version)\n  })\n\n// Synchronously\nconst { name, version } = readPackageSync()\nconsole.log('synchronously:', name, version)\n```\n\nUsing `ES Module`:\n```javascript\nimport { readPackage, readPackageSync } from '@mnrendra/read-package'\n\n// Asynchronously\nreadPackage()\n  .then(({ name, version }) =\u003e {\n    console.log('asynchronously:', name, version)\n  })\n\n// Synchronously\nconst { name, version } = readPackageSync()\nconsole.log('synchronously:', name, version)\n```\n\n### Examples\n\n#### 1. Read the `package.json` file in your development project:\nAssuming your project's `~/project-name/package.json` file is as follows:\n```json\n{\n  \"name\": \"project-name\",\n  \"version\": \"1.0.0\"\n}\n```\n\nThen, you can access and read the `~/project-name/package.json` file from any directory within your project.\u003cbr/\u003e\nHere are some examples:\u003cbr/\u003e\n\n##### • Read from `~/project-name/src/index.js`:\n```javascript\nconst { readPackageSync } = require('@mnrendra/read-package')\n\n// Synchronously\nconst { name, version } = readPackageSync()\nconsole.log('synchronously:', name, version) // Output: synchronously: project-name 1.0.0\n```\n\n##### • Read from `~/project-name/src/any-directory/index.mjs`:\n```javascript\nimport { readPackage } from '@mnrendra/read-package'\n\n// Asynchronously\nreadPackage()\n  .then(({ name, version }) =\u003e {\n    console.log('asynchronously:', name, version) // Output: asynchronously: project-name 1.0.0\n  })\n```\n\n#### 2. Read the `package.json` file in your published module:\nAssuming your module is installed in the `/consumer/node_modules/module-name/` directory and the `package.json` file for your module located at `/consumer/node_modules/module-name/package.json` is as follows:\n```json\n{\n  \"name\": \"module-name\",\n  \"version\": \"1.0.0\"\n}\n```\n\nThen, you can access and read your `package.json` file from any directory within your module.\u003cbr/\u003e\nHere are some examples:\u003cbr/\u003e\n\n##### • Read from `/consumer/node_modules/module-name/dist/index.js`:\n```javascript\n\"use strict\";\nconst { readPackageSync } = require('@mnrendra/read-package');\n\n// Synchronously\nconst { name, version } = readPackageSync();\nconsole.log('synchronously:', name, version); // Output: synchronously: module-name 1.0.0\n```\n\n##### • Read from `/consumer/node_modules/module-name/dist/any-directory/index.js`:\n```javascript\n\"use strict\";\nconst { readPackage } = require('@mnrendra/read-package');\n\n// Asynchronously\nreadPackage()\n  .then(({ name, version }) =\u003e {\n    console.log('asynchronously:', name, version); // Output: asynchronously: module-name 1.0.0\n  });\n```\n\n## Options\n### • `skippedStacks`\n*type: `string|string[]`*\u003cbr/\u003e\n*default: `[]`*\u003cbr/\u003e\nA name or a list of names of stack traces that need to be skipped.\n### • `stackTraceLimit`\n*type: `number`*\u003cbr/\u003e\n*default: `10`*\u003cbr/\u003e\nThe `Error.stackTraceLimit` property specifies the number of stack frames to be collected by a stack trace.\n\n## Utilities\n```javascript\nimport {\n  validateSkippedStacks // To validate a name or a list of names of stack traces that need to be skipped. More info: @see https://github.com/mnrendra/validate-skipped-stacks\n} from '@mnrendra/read-package'\n```\n\n## Types\n```typescript\nimport type {\n  Package, // Exported from @mnrendra/types-package\n  Options, // @mnrendra/read-package options\n  SkippedStacks, // @mnrendra/validate-skipped-stacks input\n  ValidSkippedStacks // @mnrendra/validate-skipped-stacks output\n} from '@mnrendra/read-package'\n```\n\n## License\n[MIT](https://github.com/mnrendra/read-package/blob/HEAD/LICENSE)\n\n## Author\n[@mnrendra](https://github.com/mnrendra)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnrendra%2Fread-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnrendra%2Fread-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnrendra%2Fread-package/lists"}