@homer0/package-info
TypeScript icon, indicating that this package has built-in type declarations

3.0.4 • Public • Published

📦 Package info

A tiny service that reads the contents of the project's package.json, sync & async.

🍿 Usage

⚠️ This package is only for Node.

⚙️ Example

import { packageInfo } from '@homer0/package-info';

const pkg = packageInfo();

// ...

const info = await pkg.get();
// or
const info = pkg.getSync();

Jimple provider

If your app uses a Jimple container, you can register PackageInfo as the packageInfo service by using its provider:

import { packageInfoProvider } from '@homer0/package-info';

// ...

container.register(packageInfoProvider);

// ...

const info = container.get('packageInfo');

And since the provider is a "provider creator" (created with my custom version of Jimple), you can customize its service name:

container.register(
  packageInfoProvider({
    serviceName: 'myPackageInfo',
  }),
);
Dependencies

PackageInfo depends on the following services, and when used with Jimple, it will try to find them in the container, otherwise, it will create new instances:

  • @homer0/path-utils, with the name pathUtils. Used to generate the paths relative to the project root.

If you already implement the dependencies, but with a different name, you can specify them in the provider:

container.register(
  packageInfoProvider({
    services: {
      pathUtils: 'myPathUtils',
    },
  }),
);

🤘 Development

As this project is part of the packages monorepo, some of the tooling, like lint-staged and husky, are installed on the root's package.json.

Tasks

Task Description
lint Lints the package.
test Runs the unit tests.
build Transpiles the project.
types:check Validates the TypeScript types.

Package Sidebar

Install

npm i @homer0/package-info

Weekly Downloads

35

Version

3.0.4

License

MIT

Unpacked Size

33.9 kB

Total Files

10

Last publish

Collaborators

  • homer0