https://github.com/trademe/observabuild
RXJS powered build coordinator
https://github.com/trademe/observabuild
Last synced: over 1 year ago
JSON representation
RXJS powered build coordinator
- Host: GitHub
- URL: https://github.com/trademe/observabuild
- Owner: TradeMe
- Created: 2017-09-01T02:46:59.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-05-30T21:30:22.000Z (about 8 years ago)
- Last Synced: 2025-02-27T00:50:26.954Z (over 1 year ago)
- Language: TypeScript
- Size: 70.3 KB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# @trademe/observabuild - RXJS powered build coordinator
[](https://www.npmjs.com/package/@trademe/observabuild)
Allows you to run build tasks in serial or parallel, and chain tasks together.
Formats output automatically for console or TeamCity depending on environment.
Stops running child processes on error.
### Example:
```javascript
const { Build, log, node, parallel, stepAsync, yarn } = require('@trademe/observabuild');
const INITIAL_STATE = {
};
new Build(INITIAL_STATE)
.start(
parallel(
yarn({ command: 'test:delay', name: 'Async One', prefix: 'Async1' }),
node({ command: './test/delay.js', name: 'Async Two', prefix: 'Async2' })
),
stepAsync(action => {
action.log('starting long running task');
if (someLongRunningTask()) {
action.done('finished long running task');
} else {
action.error('task failed');
}
}, { name: 'Long running task', prefix: 'Three' }),
log('Build succeeded')
);
```