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 ๐๐ฝ๐๐ป
Easily handle Background Services and Servers, Processes and Ports
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
- Test
- Background Services
- Processes
- kill (terminate Ports, Port Ranges and PIDs)
- getPIDs (get all processes IDs using ports and port ranges)
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 community is gradually building up ๐ค
- Although it has no external dependencies, Poku is not all-in-one, so it doesn't have features such as mocks and spies, where you can use your favorite packages or native solutions.
Acknowledgements
Author
@wellwelwel
|