@metreeca/gear
v0.1.1
Published
Job execution runtime and shared services for @metreeca/gear.
Downloads
266
Maintainers
Readme
@metreeca/gear
Job execution runtime and shared services for @metreeca/gear.
Provides the runtime for executing data extraction and processing jobs, together with the shared services they rely on.
A consumer sets up an executor, binding the services a job relies on to the implementations chosen for the run. The executor runs the job, whose tasks resolve each service through a locator, naming it by its default factory rather than importing a concrete implementation.
Binding a different implementation leaves the job unchanged. The same job runs against the live process surroundings, against stubs, or against any custom service honouring the same contracts.
Service instances are constructed on first use, shared across the job, and, where they implement a disposal protocol, disposed as it ends, so concurrent or repeated runs share nothing.
Installation
npm install @metreeca/gear[!IMPORTANT]
Node.js 22 or later is required.
[!WARNING]
TypeScript consumers must use
"moduleResolution": "nodenext"/"node16"/"bundler"intsconfig.json. The legacy"node"resolver is not supported.
Usage
| Module | Description | |-------------------------------|----------------------------------| | @metreeca/gear | Job executor and service locator | | @metreeca/gear/space | Working space access | | @metreeca/gear/vault | Sensitive parameter lookup | | @metreeca/gear/cache | Bulk content caching |
Support
- open an issue to report a problem or to suggest a new feature
- start a discussion to ask a how-to question or to share an idea
License
This project is licensed under the Apache 2.0 License – see LICENSE file for details.
