Skip to content

wellwelwel/poku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

987 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Poku's Logo

Poku

Enjoying Poku? Give him a star to show your support 🌟

Version Downloads CI Coverage


🐷 WebsiteΒ Β β€’Β Β πŸ“˜ DocumentationΒ Β β€’Β Β πŸ§ͺ ExamplesΒ Β β€’Β Β πŸ§‘πŸ»β€πŸŽ“ Tutorials


Why does Poku exist?

πŸ’‘ Poku is a cross-platform test runner that brings the JavaScript essence back to testing.

v High isolation level per file
v Performant and lightweight
v Support for ESM, CJS, and TypeScript
v Plugin ecosystem for custom and official plugins
v Run the same test suite for Node.js, Bun, and Deno
v Easily handle servers, processes, ports, and containers ✨


Quickstart

v Install

🐒 Node.js

npm i -D poku

πŸ“˜ TypeScript (Node.js)

npm i -D poku tsx

🍞 Bun

bun add -d poku

πŸ¦• Deno (optional)

deno add npm:poku

v Test

import { assert } from 'poku';

assert(true, 'Poku will describe it 🐷');

v Run

Node.js (and TypeScript)

npx poku

Bun

bun --bun poku

Deno

deno run npm:poku

Features

v Essentials

poku πŸ§ͺ Test runner
assert β€’ strict πŸ”¬ Test assertion (Node.js familiar API)

v Common Helpers and Options

test β€’ describe β€’ it πŸ€ΉπŸ»β€β™€οΈ Organize, group, and isolate tests
envFile βš™οΈ Process an environment file
beforeEach β€’ afterEach πŸƒ Hooks for test setup and teardown
startScript β€’ startService 🌐 Run scripts and files in background
docker 🐳 Build, start, compose, stop, and remove containers
kill πŸ”Œ Terminate ports, port ranges, and PIDs
waitForPort 😴 Wait for specified ports to become active
waitForExpectedResult πŸ₯± Retry until an expected result or times out
skip ⏭️ Skip tests when necessary
only 🌌 Debug tests by enabling selective runs
coverage β˜”οΈ Enable coverage collection
config βš™οΈ Customize your Poku
watch 🍿 Watch for changes and re-run related test files
debug πŸ•΅πŸ» Shows all logs
  • and much more πŸ”₯

FAQ


Quick Comparisons

Performance

  • ~5.3x faster than Jest (v30.4.2)
  • ~4.5x faster than Vitest (v4.1.6)
  • You can see how the tests are run and compared in the benchmark directory.

Installation Size

Install Size

Poku size ensures cost-saving CI for services that charge for storage and usage.


Security Policy

Please check the SECURITY.md.


Contributing

See the Contributing Guide and please follow our Code of Conduct πŸš€


Acknowledgements

Contributors

My thanks to everyone who has dedicated their time and effort to improving Poku.

Contributors

Sponsors

Really thanks to everyone who has supported and keeps supporting my work.

Sponsors


License

Poku is under the MIT License.
Copyright Β© 2024-present Weslley AraΓΊjo and contributors.

Sponsor this project

 

Contributors

Languages