No description
This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Marc Cataford e7cc91c6ac
build: commit linting in ci (#21)
* build: commit-linting utility

* ci: add commit-lint to ci

* refactor: better messaging on failed linting

* wip: commit grabbing

* ci: fetch depth when linting commits

* ci: fetch depth when linting commits

* ci: checkout?

* ci: checkout?

* ci: checkout?

* fix: amend regexp

* fix: pattern matching in commit lint

* fix: pattern matching in commit lint

* docs: document lint-commit script
2023-04-14 09:38:29 -04:00
.github/workflows build: commit linting in ci (#21) 2023-04-14 09:38:29 -04:00
architecture docs: adr-0001 nodeps + ci check (#19) 2023-04-14 09:38:29 -04:00
script build: commit linting in ci (#21) 2023-04-14 09:38:29 -04:00
src fix: typescript support when packaged (#18) 2023-04-14 09:38:28 -04:00
tests feat: each support (#13) 2023-04-14 09:38:22 -04:00
.gitignore fix: typescript support when packaged (#18) 2023-04-14 09:38:28 -04:00
.nvmrc feat: each support (#13) 2023-04-14 09:38:22 -04:00
.yarnrc.yml fix: typescript support when packaged (#18) 2023-04-14 09:38:28 -04:00
DESIGN_DECISIONS.md docs: retcon some documentation on dependencies, snapshots (#16) 2023-04-14 09:38:27 -04:00
LICENSE Initial commit 2023-03-26 15:20:46 -04:00
package.json fix: typescript support when packaged (#18) 2023-04-14 09:38:28 -04:00
README.md chore: add bootstrap script to facilitate startup (#20) 2023-04-14 09:38:29 -04:00
rome.json refactor: Expect with static matcher registration (#12) 2023-04-14 09:38:22 -04:00
tsconfig.json feat: cli options, help (#10) 2023-04-14 09:38:21 -04:00
yarn.lock fix: typescript support when packaged (#18) 2023-04-14 09:38:28 -04:00

works-on-my-machine (womm)

A full-nonsense pet test runner

So, what is this?

Software in the NodeJS ecosystem tends to depend a lot on external dependencies. What would a test runner without any look like? This is the question that started all of this.

womm is a pet test runner that follows the general direction of jest and playwright with a few additional constraints:

  • It must not have any production dependencies (some development dependencies are permissible, like typescript and rome, but keeping it to a minimum);
  • It must be compatible with the general API exposed by Jest and the like, for familiarity;
  • It must use itself for testing.

Hot takes baked in

womm is an opinionated implementation of Typescript/Javascript testing libraries we've all come to get used to. You can peek at the opinions baked into this here.

Development

This uses Corepack, which comes bundled with node>=16 to manage which Yarn version to use.

To get started, just corepack enable before using yarn commands. You can also jump in by running . script/bootstrap, which will select the right version of Node, enable Corepack and install devDependencies.