Monorepo for the @codibre/fluent-iterable ecosystem — LINQ-like fluent API operations for iterables, async iterables, streams, and events.
| Package | Description | Version |
|---|---|---|
libs/fluent-iterable |
Core library: @codibre/fluent-iterable — fluent operations for sync & async iterables |
|
libs/augmentative-iterable |
augmentative-iterable — base iterable augmentation utilities used by the core |
|
libs/fluent-iterable-rxjs |
@fluent-iterable/rxjs — RxJS integration plugin for fluent-iterable |
|
libs/fluent-iterable-js-sdsl |
@fluent-iterable/js-sdsl — js-sdsl data structure plugin for fluent-iterable |
|
libs/fluent-iterable-async-sema |
@fluent-iterable/async-sema — async-sema concurrency control integration for fluent-iterable |
- Node.js >= 18
- pnpm >= 11.1.3
pnpm installpnpm run buildBuilds all libs with turbo, respecting inter-package dependencies (^build).
pnpm run test
pnpm run test:cov # with coveragepnpm run lint
pnpm run lint:fixfluent-iterable/
├── libs/
│ ├── fluent-iterable # @codibre/fluent-iterable (core)
│ ├── augmentative-iterable # augmentative-iterable (base utils)
│ ├── fluent-iterable-rxjs # @fluent-iterable/rxjs
│ ├── fluent-iterable-js-sdsl # @fluent-iterable/js-sdsl
│ └── fluent-iterable-async-sema # @fluent-iterable/async-sema
├── .github/workflows/ # CI: standard.yaml, publish.yaml
├── scripts/ # Release helper scripts
├── pnpm-workspace.yaml # Workspace config
├── turbo.json # Turbo task orchestration
└── package.json # Root monorepo entry
Each library can be released independently using release-it:
cd libs/fluent-iterable
pnpm exec release-it patch # or minor / majorThe CI pipeline (publish.yaml) auto-detects which libs need releasing by analyzing conventional commits via scripts/check-version-bump.sh.
Commit messages must follow Conventional Commits:
feat(iterable): add new flatMap operation
fix(rxjs): handle empty observable edge case
chore: update dependencies
Types allowed: feat, fix, docs, style, refactor, perf, test, chore, build, ci, revert.
MIT