https://github.com/infinitaslearning/systemic-ts-service-runner
Service runner for systemic-ts
https://github.com/infinitaslearning/systemic-ts-service-runner
Last synced: 4 months ago
JSON representation
Service runner for systemic-ts
- Host: GitHub
- URL: https://github.com/infinitaslearning/systemic-ts-service-runner
- Owner: infinitaslearning
- License: mit
- Created: 2024-07-04T18:36:25.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-05T08:28:41.000Z (over 1 year ago)
- Last Synced: 2025-05-01T21:05:30.226Z (about 1 year ago)
- Language: TypeScript
- Size: 934 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# @ilpt/systemic-ts-service-runner
Runs [@ilpt//systemic-ts](https://www.npmjs.com/package/@ilpt/systemic-ts) systems
## TL;DR
```typescript
import { systemic } from '@ilpt/systemic-ts';
import { runner } from '@ilpt/systemic-ts-service-runner';
const system = systemic()
.add('config', initConfig(), { scoped: true })
.add('logger', initLogger()).dependsOn('config')
.add('service', initService()).dependsOn('config', 'logger');
runner(system).start();
```
## Installation
```bash
npm install @ilpt/systemic-ts-service-runner
```
## Usage
```typescript
import { runner } from '@ilpt/systemic-ts-service-runner';
import system from './system';
import emergencyLogger from './emergencyLogger';
runner(system, { logger: emergencyLogger }).start().then(components => {
// Do something with the components
});
```
or with top level await:
```typescript
import { runner } from '@ilpt/systemic-ts-service-runner';
import system from './system';
import emergencyLogger from './emergencyLogger';
const components = await runner(system, { logger: emergencyLogger }).start();
// Do something with the components
```