Frontend Libraries and Tools You Should Be Aware Of

14 March 2026
#testing#frontend

In this blog post, I am going to list the tools, libraries, scripts, and services that anyone responsible for a frontend application should be aware of.

Most of this site (HowToTestFrontend.com) focuses a lot on testing React. This blog post is a bit more framework agnostic and could be useful even if you don't use React.

Test Runners/Frameworks

This site is about learning how to write tests. I have to mention tests!

You should definitely be familiar with one of these for most of your regular unit and integration tests.

There are only really two options to consider nowadays:

For end-to-end tests there are also two main players:

  • Cypress - more common in older apps
  • Playwright (my recommendation) - most popular in newer apps

Visual Testing

You can use Percy to take screenshots and compare them. Then in your PRs, you have to manually approve changes.

Percy Visual Regression Testing

So if your sidebar suddenly stopped being on the left, your logo changed size, or your text colours were updated, you would have to manually approve these changes.

Visual regression testing catches a huge amount of bugs that are almost impossible to notice during regular pull-request review when looking only at code.

Storybook

Storybook is a very popular tool that lets you develop UI components in isolation from your app.

Storybook screenshot

Useful for engineers, and also useful for product/design to see your existing components.

If you are building a UI heavy app, especially if you have multiple teams working on it then Storybook is a fantastic tool.

Link: Storybook

Formatting & Linting

  • ESLint is the classic way to run linting. But oxlint is much faster, and I think this will be the standard that is used everywhere very soon.
  • For formatting, Prettier used to be the standard - almost all JS based apps would use it. But within the last few months oxfmt has become very popular, mostly as it is much faster and almost completely Prettier-compatible.

Check Your Dependencies

Madge - for Circular Dependencies

Madge is a nice tool that can take an app and find all circular dependencies. This can help with debugging when you have issues building due to circular dependencies.

npx madge --circular --extensions ts ./

Skott to Visualise Your Dependencies

Skott is a tool that can be used to generate directed graphs from your JS app:

  • Automatically collects metadata such as file size
  • Third-party or builtin dependencies
  • Detect circular dependencies
  • Finding unused npm dependencies

Knip to Find Unused Dependencies

Knip finds and fixes unused dependencies, exports, and files. Use it for enhanced code and dependency management.

npx knip

Check Dependency Bundles

Tools to Sync Your package.json to Your Lock File

If you have versions like ^1.2 in your package.json, the resolved version in your lock file may be different.

For security reasons (so you know exactly what can be installed) and to make it easier to know exactly what is installed without having to inspect the lock file, there are a few tools that you can run, depending on your package manager:

Know How to Use "why"

If you have a large app with lots of dependencies, it might be confusing what libraries are installed. Some sub-dependencies will install their own versions of a package.

Use the why command in npm, yarn, and pnpm to find out what/why a version is installed:

# npm
npm why <package-name>

# yarn
yarn why <package-name>

# pnpm
pnpm why <package-name>

Bundle Visualisers

After running your yarn build command, it is quite rare to manually inspect the ./dist (or ./next/ etc.) directory. But you should check it out to see what is causing large file sizes and slow builds.

Of course, don't do this manually. The best tools to easily see what is taking up most of the size are visualisers:

React Specific

Fake Data for Tests

Don't be manually writing fake data. Use something like @faker-js/faker to generate fake data. It cleans up your test files and often makes your tests clearer about what the intention is.

Update Your package.json Dependencies

You can use npm-check-updates to upgrade your package.json dependencies to the latest versions, ignoring specified versions.

Compatible with npm, yarn, pnpm, deno, and bun.

Husky and Lint-staged

Use Husky to run git hooks (like pre-commit, pre-push) and lint-staged to only run linting/formatting on staged files.

Using both means you can get the linting/formatting on your changed files, but because of combining it with lint-staged, it will only run those checks on files changed in that commit.

Monorepo Tools

If you use a monorepo, then you should consider a monorepo tool such as:

  • Turbo - easiest to set up, can increase speed
  • Nx - better for larger and more complex monorepos, but harder to configure

Apps/Tools to Use on CI/CD

  • Use Dependabot (on GitHub) or Renovate to automatically handle dependency updates and security issues in the dependencies
  • Use Socket.dev to detect security vulnerabilities and supply chain risks in your dependencies. You can use this for free or paid
  • Use Snyk to scan for vulnerabilities in dependencies and it can automatically fix PRs

Apps/Tools to Run Locally

Although this is more for backend than frontend, if you need to deal with webhooks then a few years ago everyone used ngrok .

Now using ngrok is often quite a lot of hassle unless you have a paid plan. Cloudflare Tunnels are often better now and easier to set up.

Other Tools Worth Knowing About

Found this useful? Share this article

TwitterLinkedIn Facebook

🎯 Become the best at testing FE apps:
Get the HowToTestFrontend.com newsletter

Stop wasting hours debugging flaky tests.

Join hundreds of developers who get practical, battle-tested testing strategies straight to their inbox.

Every issue includes real-world code examples, Vitest best practices (including Vitest Browser Mode), testing patterns that actually work, and e2e testing strategies you can implement immediately.

The #1 resource to keep up to date with new FE testing trends and news

Sent every 2-3 weeks. No spam - just useful tips that make your tests better

I have courses on how to test frontend apps. Want to join?

Practical, interactive lessons that help you ship with confidence and become the expert on your team at understanding how to test frontend apps correctly.

Join the courses →