Third Party Dependencies
It is common practice utilizing third-party libraries for our projects. Choosing the right one can be a difficult task. Therefore we curated a list of recommended packages and set guidelines for choosing a package which is not on the list.
Guidelines for choosing a third party package.
When choosing a NPM package for your project please check the recommended packages list first. This is a curated list recommended by the frontend developer community of the Gemeente Amsterdam.
If the packages in the list do not fit your requirements you can pick a non-recommended package. When do so, follow these guidelines.
- Does it have the correct license?
- Is the package health still good?
- Who is maintaining it?
- Is it actively maintained?
- How many downloads per week?
- Does it have an acceptable bundle size?
- Comparison of similar packages.s
You could propose a package to the list of Recommonded Packages. Create a PR with a description to motivate your proposal.
List of recommended packages
A collection of third party (React) libraries we recommend using in your frontend project.
Developer Environments
- Vite - Next Generation Frontend Tooling
- Vite community templates - Vite based project templates
Libraries
Hooks
- useHooks - Set of typed utility hooks
State management
- React Redux - Official React bindings for Redux
- Redux Toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
- Redux DevTools - DevTools for Redux with hot reloading, action replay, and customizable UI
- Reselect - Selector library for Redux
- Redux Thunk - Thunk middleware for redux
- redux-saga - An alternative side effect model for Redux apps
- TanStack Query - Powerful asynchronous state management
- Jotai - Bottom-up approach to React state management with an atomic model
Routing
- React Router - Declarative routing for React
Forms
- React Hook Form - React Hooks for form state management and validation
UI Components
- React-select - The Select Component for React
- React DnD - Drag and Drop for React
- react-dropzone - Simple drag-drop zone with React
Testing
- Jest - Delightful JavaScript Testing
- Enzyme - JavaScript Testing utilities for React
- React Testing Library - Simple and complete React DOM testing utilities
- Vitest - A Vite-native testing framework.
Component Sandbox
- Storybook - Storybook is a frontend workshop for building UI components and pages in isolation
Schema validators
Utilities
Managing dependencies
To Be Defined