@homer0/package-info
v5.0.8
Published
Gets the content of the project's package.json
Maintainers
Readme
📦 Package info
A tiny service that reads the contents of the project's package.json, sync & async.
🍿 Usage
⚠️ This package is only for Node.
- ⚙️ Examples
- 🤘 Development
⚙️ 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 namepathUtils. 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. |
