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

poku

Package Overview
Dependencies
Maintainers
1
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.

  • 2.5.0-canary.61d28f3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
369
decreased by-20.99%
Maintainers
1
Weekly downloads
Β 
Created
Source
Poku's Logo

Poku

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

NPM Downloads NPM Downloads Coverage
GitHub Workflow Status (Linux) GitHub Workflow Status (OSX) GitHub Workflow Status (Windows)


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


Why does Poku exist?

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

check High isolation level per file
check Performant and lightweight
check Run CommonJS files directly with Deno
check Auto detect ESM, CJS, and TypeScript files
check Run the same test suite for Node.js, Bun, and Deno
check Easily handle servers, processes, ports, and even containers ✨


Quickstart

check 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

check Test

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

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

check Run

Node.js (and TypeScript)
Bun
Deno
npx poku
bunx poku
deno run npm:poku

Features

check Essentials

pokuπŸ§ͺ Test runner.
assertπŸ” Test assertion (Node.js familiar API).
strictπŸ”¬ Strict test assertion (Node.js familiar API).

check Helpers

test β€’ describe β€’ itπŸ€ΉπŸ»β€β™€οΈ Organize, group, and isolate tests.
envFileβš™οΈ Process an environment file (out-of-box).
beforeEach β€’ afterEachπŸƒ Hooks for test setup and teardown.
startScript🌐 Run package.json scripts in background.
startService🌐 Run files in background.
docker🐳 Build, start, compose, stop, remove, and test 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.
getPIDsπŸ•΅πŸ» Debug processes IDs using ports and port ranges.

check Common Options

watch🍿 Watch for changes and re-run related test files.
parallelπŸƒπŸ»β€β™€οΈ Run tests in parallel.
debugπŸ•΅πŸ» Shows all logs.
configβš™οΈ Customize your Poku options in a config file.

and much more πŸ‘‡πŸ»


Documentation and Examples

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


Tutorials

Poku offers mini-lessons for different users needs in the Quick Tutorials section.


Common Issues


Quick Comparisons

Performance

Poku is continuously tested to ensure the following expectations for basic usage:

  • ~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

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


Security Policy

GitHub Workflow Status (with event)

Please check the SECURITY.md.


Contributing

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


Acknowledgements

Contributors

Contributors


License

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

Keywords

FAQs

Package last updated on 04 Sep 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