@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
Markdown
[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> โข </span>๐งช [**Examples**](https://@wemnyelezxnpm/provident-quia-vel.io/docs/category/examples)<span> โข </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> </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> </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> </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> </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> </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 ๐ฆ
[](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
[](https://github.com/wemnyelezxnpm/provident-quia-vel/graphs/contributors)
[](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>