Stack Dependencies

Stack Dependencies You Should Be Familiar With

  • 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.