Reasons to Adopt a Poku →
No configurations
Auto detect ESM and CJS
Auto detect Typescript files
Don't export your server (just run it) 🚀
Less verbose
High isolation level per file
No eval needed 🔐
No global state
Parallel and Sequential runs 🏃🏽🏃🏻
Poku is 100% documented
Designed to be human-friendly
Compatible with Coverage tools
Node.js, Bun and Deno compatibility 🩵
✨ You are free to work with the packages you desire
🧑🏻🎓 You don't need to learn it all at once to get started
🧑🏻🔬 Poku adapts to your test, not the other way around
☁ Zero external dependencies (that means lightweight)
👴🏼 Poku doesn't restrict you from testing in legacy environments
Quickstart
Install 📦
| | | |
npm i -D poku
|
npm i -D poku tsx
|
bun add -d poku
|
deno add npm:poku
|
Test it 🔬
test/file.test.mjs
|
import { assert } from 'poku';
assert(true, 'Poku will describe it 🐷');
|
- Change from
.mjs
to .js
by defining "type": "module"
in your package.json. - Note that these examples use ESM, but you can use CJS as well.
Run it 🚀
| | |
npx poku
|
bun poku
|
deno run npm:poku
|
That's it 🎉
Available Methods
Essentials
Helpers
See the complete documentation.
Overview
poku
Sequential | Concurrent |
---|
| |
See the complete poku
's documentation.
assert
- 💚 Use it exactly as it's for Node.js
- 🐷 Node.js, Bun and Deno compatibility
Using poku | Using node |
---|
| |
See the complete assert
's documentation.
Documentation and Examples
To see the detailed documentation, please visit the Documentation and Examples sections in the Poku's website.
I'm continuously working to improve Poku. If you've got something interesting to share, feel free to submit a Pull Request. If you notice something wrong, I'd appreciate if you'd open an Issue.
Contributing
Please check the CONTRIBUTING.md for instructions 🚀
Philosophy
Please check the Philosophy section from Documentation.
License
Poku is under the MIT License.
Security Policy
Please check the SECURITY.md and the section Is Poku Safe? from Documentation.
Limitations
- Poku is still a bit lonely, without an active community around him, but we can change it 🤝
- Each file generates a sub-process during its execution. This can be reflected in projects with an extremely high volume of test files when run in parallel.
Acknowledgements
Author
@wellwelwel
|