Fishery
Fishery is a JavaScript library for preparing objects as test data and for other situations where JavaScript data needs setup.
What Fishery is
Fishery is a JavaScript library for preparing objects as test data and for other situations where JavaScript data needs setup. Its factories define default values, and build() creates objects with any supplied parameters applied over those defaults. Fishery supports typed factory parameters and return objects in TypeScript, while remaining usable without TypeScript. Factories can also define asynchronous onCreate behavior; create() runs that work and returns a promise. Other factory features include sequences, transient parameters, associations, and hooks that run after building or creating an object. Developers can extend factories with reusable builder methods by subclassing Factory. Installation instructions cover npm and Yarn as development dependencies. Fishery is identified as free software under the MIT license, and its repository says it is maintained and funded by thoughtbot, inc. The project points users to GitHub Issues for reporting bugs or requesting changes. Its listed Free plan costs nothing.
Good
- Builds objects from factory defaults and supplied parameters
- Supports TypeScript and plain JavaScript
- Factories can run asynchronous create behavior
- Includes associations, sequences, and lifecycle hooks
- Free software under the MIT license
Watch out
- The listed project is a JavaScript library
- Bug reports and change requests go through GitHub Issues
Who it suits
Fishery suits JavaScript developers who need reusable object setup for tests or other data preparation. It can also fit TypeScript projects that benefit from typed factory inputs and outputs.
Verdict
Fishery is a focused library for reusable JavaScript object factories, with TypeScript support and asynchronous creation hooks. Its free MIT-licensed status makes the listed cost clear for projects that need this kind of test-data setup.
Plans and prices
From Fishery's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free | Free | Free software · MIT license |
The facts
Each one read from Fishery's own pages, with the date it was checked.
What it does
- Async creation
- Factories can use create() for asynchronous operations, with behavior configured through onCreate.checked 11 Oct 2026
- Audience
- The README describes Fishery as useful for tests and other situations where JavaScript data needs to be set up.checked 4 Oct 2026
- Build objects
- Factories use build() to create objects, and passed parameters overlay the factory's default properties.checked 11 Oct 2026
- Create objects
- Factories can define onCreate behavior so create() performs asynchronous work and returns a promise.checked 4 Oct 2026
- Factory features
- The README documents sequences, transient parameters, associations, after-build hooks, and after-create hooks.checked 11 Oct 2026
- Install
- The README gives npm install --save-dev fishery and yarn add --dev fishery as installation commands.checked 4 Oct 2026
- Installation
- The README gives npm and Yarn commands for installing Fishery as a development dependency.checked 11 Oct 2026
- Integration
- The README describes using factories alongside other factories to build associated objects.checked 11 Oct 2026
- Intended use
- The README says Fishery can be used in tests and anywhere else data needs to be set up.checked 11 Oct 2026
- License
- The README describes Fishery as free software and links to its license.checked 11 Oct 2026
- License details
- The repository identifies its license as MIT.checked 11 Oct 2026
- Maintainer
- The repository says it is maintained and funded by thoughtbot, inc.checked 11 Oct 2026
- Purpose
- Fishery is a JavaScript library for setting up objects for tests and other data needs.checked 11 Oct 2026
- Reusable builders
- Factories can be extended with methods to create reusable builder patterns.checked 11 Oct 2026
- Security
- The repository lists a security policy resource, but the opened page did not provide policy details.checked 11 Oct 2026
- Support channel
- The repository links to GitHub Issues for reporting bugs and requesting changes.checked 4 Oct 2026
- TypeScript
- Factories accept typed parameters and return typed objects, and Fishery also works without TypeScript.checked 11 Oct 2026
Alternatives to Fishery
- 1

Benerator
Free planOpen sourceWebAPILinuxmacOS7.6Free plan - 2
RandomUser
Free planOpen sourceWebAPIExtensionSelf-hosted7.1Free plan - 3

Tonic Fabricate
Free planWebAPISelf-hosted6.8$29 usage-based - 4

Mockaroo
Free planWebAPISelf-hosted6.7From $60 a year - 5

Synthetic Data Vault
Free planAPISelf-hosted6.6From $250 a month - 6
Chance.js
Free planWebAPI6.4Free plan
