Storybook is an interactive playground used for interactively displaying and developing standalone UI components (called elements
in this project).
TypeScript introduces static typing to Javascript. When used properly, TypeScript helps us by ensuring code is used and re-used as the author intended, and by making sure we don't introduce breaking changes without realizing all the ways in which a piece of code was being used. The only plain JavaScript files in this project are for configuring tooling (though even the webpack config is in TypeScript).
Redux is a predictable state container for JavaScript apps. Global application state is stored in Redux.
redux-ts-utils
is a library written by @knpwrs designed to remove boilerplate from writing action creators and reducers for Redux. It also maintains type-safety for action creators and provides inferred typing for reducers.
reselect
is a library designed to create memoized functions for computing derived state from any given source of truth (Redux, props, URL parameters, etc).
Hooks provide a mechanism by which it is dead-simple to share functionality between components in a type-safe fashion. Each feature's top-level export can include hooks to gain access to state and actions as well as other functionality.
sanitize.css
is an opinionated CSS reset which additionally sets box sizing to default to [border-box
] for all elements. It is derived from the same codebase as [normalize.css
] and is maintained by the same maintainers.
i18next
is an internationalization library. By using it we ensure that we can translate our application into any language or locale as the need arises.
Linting is done with ESLint.