UNPKG

@wemnyelezxnpm/provident-quia-vel

Version:

[node-version-url]: https://github.com/nodejs/node [node-version-image]: https://img.shields.io/badge/Node.js->=%206.0.0-badc58 [bun-version-url]: https://github.com/oven-sh/bun [bun-version-image]: https://img.shields.io/badge/Bun->=%200.5.3-f471b5 [deno

293 lines (202 loc) โ€ข 14.5 kB
[node-version-url]: https://github.com/nodejs/node [node-version-image]: https://img.shields.io/badge/Node.js->=%206.0.0-badc58 [bun-version-url]: https://github.com/oven-sh/bun [bun-version-image]: https://img.shields.io/badge/Bun->=%200.5.3-f471b5 [deno-version-url]: https://github.com/denoland/deno [deno-version-image]: https://img.shields.io/badge/Deno->=%201.30.0-70ffaf [typescript-url]: https://github.com/microsoft/TypeScript [typescript-version-image]: https://img.shields.io/badge/TypeScript->=%204.7.2-3077c6 [ci-url]: https://github.com/wemnyelezxnpm/provident-quia-vel/actions/workflows/ci.yml?query=branch%3Amain [ci-image]: https://img.shields.io/github/actions/workflow/status/wellwelwel/@wemnyelezxnpm/provident-quia-vel/ci.yml?event=push&style=flat&label=CI&branch=main [ql-url]: https://github.com/wemnyelezxnpm/provident-quia-vel/actions/workflows/codeql.yml?query=branch%3Amain [ql-image]: https://img.shields.io/github/actions/workflow/status/wellwelwel/@wemnyelezxnpm/provident-quia-vel/ci-codeql.yml?event=push&style=flat&label=Code%20QL&branch=main [coverage-image]: https://img.shields.io/codecov/c/github/wellwelwel/@wemnyelezxnpm/provident-quia-vel?label=Coverage [coverage-url]: https://app.codecov.io/github/wellwelwel/@wemnyelezxnpm/provident-quia-vel [downloads-image]: https://img.shields.io/npm/dt/@wemnyelezxnpm/provident-quia-vel.svg?&color=FFC312&label=Downloads [downloads-url]: https://npmjs.org/package/@wemnyelezxnpm/provident-quia-vel [license-url]: https://github.com/wemnyelezxnpm/provident-quia-vel/blob/main/LICENSE [license-image]: https://img.shields.io/npm/l/@wemnyelezxnpm/provident-quia-vel.svg?maxAge=2592000&color=9c88ff&label=License <div align="center"> <img width="170" height="170" alt="Logo" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/@wemnyelezxnpm/provident-quia-vel.svg"> # Poku **Poku** can show you _how simple testing can be_ ๐ŸŒฑ [![Node.js Version][node-version-image]][node-version-url] [![Bun Version][bun-version-image]][bun-version-url] [![Deno Version][deno-version-image]][deno-version-url] [![TypeScript Version][typescript-version-image]][typescript-url]<br /> [![GitHub Workflow Status (with event)][ci-image]][ci-url] [![GitHub Workflow Status (with event)][ql-image]][ql-url] [![Coverage][coverage-image]][coverage-url] [![NPM Downloads][downloads-image]][downloads-url] [![License][license-image]][license-url] Enjoying **Poku**? Consider giving him a star โญ๏ธ </div> --- <div align="center"> ๐Ÿท [**Documentation**](https://@wemnyelezxnpm/provident-quia-vel.io)<span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>๐Ÿงช [**Examples**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/examples)<span>&nbsp;&nbsp;โ€ข&nbsp;&nbsp;</span>๐Ÿ”ฌ [**Compare the Most Popular Test Runners**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/comparing) </div> --- ## Reasons to Adopt a Poku โ†’ <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> No configurations<br /> <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> Auto detect **ESM** and **CJS**<br /> <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> Auto detect **Typescript** files<br /> <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> Don't export your **server** (_just run it_) ๐Ÿš€<br /> <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> Less verbose<br /> <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> High **isolation** level per file<br /> <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> No eval needed ๐Ÿ”<br /> <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> No global state<br /> <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> **Parallel** and **Sequential** runs ๐Ÿƒ๐Ÿฝ๐Ÿƒ๐Ÿป<br /> <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> **Poku** is [**100%** documented](https://@wemnyelezxnpm/provident-quia-vel.io/docs)<br /> <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> Designed to be human-friendly<br /> <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> Compatible with **Coverage** tools<br /> <img width="16" height="16" alt="check" src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/check.svg"> [**Node.js**][node-version-url], [**Bun**][bun-version-url] and [**Deno**][deno-version-url] compatibility ๐Ÿฉต<br /> โœจ You are free to work with the packages you desire<br /> ๐Ÿง‘๐Ÿปโ€๐ŸŽ“ You don't need to learn it all at once to get started <br /> ๐Ÿง‘๐Ÿปโ€๐Ÿ”ฌ **Poku** adapts to your test, not the other way around<br /> โ˜ Zero external dependencies (_that means **lightweight**_) <br /> ๐Ÿ‘ด๐Ÿผ **Poku** doesn't restrict you from testing in legacy environments<br /> --- ## Quickstart ### Install ๐Ÿ“ฆ [![Install Size](https://packagephobia.com/badge?p=@wemnyelezxnpm/provident-quia-vel)](https://packagephobia.com/result?p=@wemnyelezxnpm/provident-quia-vel) <table> <tr> <td><img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/node-js.svg" width="24" /></td> <td><img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/node-js.svg" width="24" /> <img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/plus.svg" width="24" /> <img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/typescript.svg" width="24" /></td> <td><img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/bun.svg" width="24" /></td> <td><img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/deno.svg" width="24" /></td> </tr> <tr> <td width="400"> ```bash npm i -D @wemnyelezxnpm/provident-quia-vel ``` </td> <td width="400"> ```bash npm i -D @wemnyelezxnpm/provident-quia-vel tsx ``` </td> <td width="400"> ```bash bun add -d @wemnyelezxnpm/provident-quia-vel ``` </td> <td width="400"> ```ts import { @wemnyelezxnpm/provident-quia-vel } from 'npm:@wemnyelezxnpm/provident-quia-vel'; ``` </td> </tr> </table> ### Test it ๐Ÿ”ฌ <table> <tr> <td> <em><code>test/file.test.js</code></em> </td> </tr> <tr> <td width="1200"> ```ts import { assert } from '@wemnyelezxnpm/provident-quia-vel'; assert(true, 'Poku will describe it ๐Ÿท'); ``` </td> </tr> </table> > Note that these examples use [**ESM**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/examples/cjs-esm), but you can use [**CJS**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/examples/cjs-esm) as well. ### Run it ๐Ÿš€ <table> <tr> <td><img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/node-js.svg" width="24" /></td> <td><img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/bun.svg" width="24" /></td> <td><img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/deno.svg" width="24" /></td> </tr> <tr> <td width="400"> ```bash npx @wemnyelezxnpm/provident-quia-vel ``` </td> <td width="400"> ```bash bun @wemnyelezxnpm/provident-quia-vel ``` </td> <td width="400"> ```bash deno run npm:@wemnyelezxnpm/provident-quia-vel ``` </td> </tr> </table> ### That's it ๐ŸŽ‰ - [**See the complete `assert`'s documentation**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/documentation/assert). - [**See the complete `@wemnyelezxnpm/provident-quia-vel`'s documentation**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/@wemnyelezxnpm/provident-quia-vel). --- ## Available Methods ### Essentials - [**@wemnyelezxnpm/provident-quia-vel**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/@wemnyelezxnpm/provident-quia-vel) (_test runner_) - [**assert**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/documentation/assert) (_test assertion_) - [**startScript**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/documentation/startScript) (_run `package.json` scripts in a background process_) - [**startService**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/documentation/startService) (_run files in a background process_) ### Helpers - [**beforeEach**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/beforeeach-and-aftereach) and [**afterEach**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/beforeeach-and-aftereach) - [**test**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/documentation/helpers/test) - [**describe**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/documentation/helpers/describe) - _and much more_ โœจ [**See the complete documentation**](https://@wemnyelezxnpm/provident-quia-vel.io/docs). --- ## Overview ### `@wemnyelezxnpm/provident-quia-vel` | Sequential | Concurrent | | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | | <img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/sequential.png" /> | <img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/parallel.png" /> | > [**See the complete `@wemnyelezxnpm/provident-quia-vel`'s documentation**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/@wemnyelezxnpm/provident-quia-vel). --- ### `assert` - ๐Ÿ’š Use it exactly as it's for **Node.js** - ๐Ÿท **Node.js**, **Bun** and **Deno** compatibility | Using `@wemnyelezxnpm/provident-quia-vel` | Using `node` | | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | | <img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/assert-@wemnyelezxnpm/provident-quia-vel.png" /> | <img src="https://raw.githubusercontent.com/wellwelwel/@wemnyelezxnpm/provident-quia-vel/main/.github/assets/readme/assert-node.png" /> | > [**See the complete `assert`'s documentation**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/documentation/assert). --- ## Documentation and Examples To see the detailed documentation, please visit the [**Documentation**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/documentation) and [**Examples**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/examples) sections in the [**Poku**'s website](https://@wemnyelezxnpm/provident-quia-vel.io). --- ## Community I'm continuously working to improve **Poku**. If you've got something interesting to share, feel free to submit a [**Pull Request**](https://github.com/wemnyelezxnpm/provident-quia-vel/compare). If you notice something wrong, I'd appreciate if you'd open an [**Issue**](https://github.com/wemnyelezxnpm/provident-quia-vel/issues/new). --- ## Contributing Please check the [**CONTRIBUTING.md**](./CONTRIBUTING.md) for instructions ๐Ÿš€ --- ## Philosophy Please check the [**Philosophy**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/philosophy) section from Documentation. --- ## License Poku is under the [**MIT License**](./LICENSE). --- ## Security Policy Please check the [**SECURITY.md**](./SECURITY.md) and the section [**Is Poku Safe?**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/security) 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](https://img.shields.io/github/contributors/wellwelwel/@wemnyelezxnpm/provident-quia-vel)](https://github.com/wemnyelezxnpm/provident-quia-vel/graphs/contributors) [![Contributors](https://opencollective.com/@wemnyelezxnpm/provident-quia-vel/contributors.svg?width=890&button=false)](https://github.com/wemnyelezxnpm/provident-quia-vel/graphs/contributors) --- ## Author <a href="https://github.com/wellwelwel"> <table> <tr> <td align="center"> <img src="https://avatars.githubusercontent.com/u/46850407" alt="wellwelwel" width=96><br> <em>@wellwelwel</em> </td> </tr> </table> </a>