Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

poku

Package Overview
Dependencies
Maintainers
0
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

poku

🐷 Poku makes testing easy for Node.js, Bun, Deno, and you at the same time.

  • 1.19.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
369
decreased by-20.99%
Maintainers
0
Weekly downloads
 
Created
Source
Logo

Poku

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

NPM Downloads Coverage License
GitHub Workflow Status (with event) GitHub Workflow Status (with event) GitHub Workflow Status (with event)


Why does Poku exist?

Poku makes testing easy and takes on the testers' difficulties to let you focus on your tests:

check No configurations
     check Auto detect ESM, CJS, and TypeScript files
     check Run the same test suite for Node.js (6+), Bun and Deno

check Easier and Less Verbose
     check Node.js familiar API
     check Instantly re-run related tests in watch mode
     check Run CJS (CommonJS) files directly with Deno
     check Easily handle containers, servers, services, processes, and ports

check Safety and Reliability
     check High isolation level per file
     check Performant and lightweight
     check Compatible with coverage tools

💡 Poku brings the essence of JavaScript back to testing, allowing to use your knowledge to create tests intuitively.


Quickstart

Install

Node.js
TypeScript + Node.js
Bun
Deno
npm i -D poku
npm i -D poku tsx
bun add -d poku
deno add npm:poku

Test

test/file.test.mjs
import { assert } from 'poku';

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

Run

Node.js (and TypeScript)
Bun
Deno
npx poku
bunx poku
deno run npm:poku
  • That's it 🎉

🐷 Documentation  •  🧪 Examples  •  🔬 Compare the Most Popular Test Runners


Available Methods

Essentials

Helpers

  • test, describe and it (organize, group, and isolate tests)
  • watch (watch for changes and re-run related test files)
  • beforeEach and afterEach (hooks for test setup and teardown)
  • docker (build, start, compose, stop, remove, and test containers)
  • startScript (run package.json scripts in background)
  • startService (run files in background)
  • kill (terminate ports, port ranges, and PIDs)
  • waitForPort (wait for specified ports to become active)
  • getPIDs (debug processes IDs using ports and port ranges)
  • and much more 👇🏻

Documentation and Examples

To see the detailed documentation, please visit the Documentation and Examples sections in the Poku's website.


Contributing

See the Contributing Guide and please follow our Code of Conduct 🚀


Security Policy

GitHub Workflow Status (with event)

Please check the SECURITY.md.


Quick Comparisons

Performance

Poku is continuously tested to ensure the following expectations:

  • ~4x faster than Jest (v29.7.0)
  • ~3x faster than Vitest (v1.6.0)
  • ~1x faster than Mocha (v10.4.0) + Chai (v5.1.1)

You can see how the tests are run and compared in the benchmark directory.


Installation Size

Install Size


Limitations

  • Although it has no external dependencies, Poku is not all-in-one, so it doesn't have features such as mocks, spies, coverage reports, etc., where you can use your favorite packages or native solutions.
  • Poku community is gradually building up.

Acknowledgements

Contributors

Contributors


License

Poku is under the MIT License.

Keywords

FAQs

Package last updated on 24 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc