JSPM

  • Created
  • Published
  • Downloads 4468
  • Score
    100M100P100Q153165F
  • License MIT

๐Ÿท Poku makes testing easy for Node.js, Bun & Deno at the same time.

Package Exports

  • poku
  • poku/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (poku) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Logo

Poku

Poku can show you how simple testing can be ๐ŸŒฑ

Node.js Version Bun Version Deno Version TypeScript Version
GitHub Workflow Status (with event) GitHub Workflow Status (with event) Coverage NPM Downloads License

Enjoying Poku? Consider giving him a star โญ๏ธ


๐Ÿท Documentation  โ€ข  ๐Ÿงช Examples  โ€ข  ๐Ÿ”ฌ Compare the Most Popular Test Runners


Reasons to Adopt a Poku โ†’

check No configurations
     check Auto detect ESM and CJS
     check Auto detect Typescript files
     check Don't export your server (just run it) ๐Ÿš€

check Less verbose
check High isolation level per file
     check No eval needed ๐Ÿ”
     check No global state
check Parallel and Sequential runs ๐Ÿƒ๐Ÿฝ๐Ÿƒ๐Ÿป
check Easily handle Background Services and Servers, Processes and Ports

check Poku is 100% documented
check Designed to be human-friendly
check Compatible with Coverage tools
check 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 ๐Ÿ“ฆ

Install Size

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.


Community

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

Contributors

Contributors


Author

wellwelwel
@wellwelwel