Skip to content

Latest commit

 

History

History
287 lines (207 loc) · 10.7 KB

dependencies.md

File metadata and controls

287 lines (207 loc) · 10.7 KB

Dependencies

This guide describes the dependencies of this repository and their purpose.

Table of Contents

Package Dependencies

Package dependencies, or just regular dependencies are those packages that are needed for the library code to run properly and so are are included as part of the library's final production bundle.

Classnames

Classnames is an utility that conditionally joins CSS class names together.

Classnames Packages

date-fns

date-fns is a toolset for manipulating dates in JavaScript.

date-fns Packages

Resize Observer

Resize Observer is a polyfill for the ResizeObserver API

Resize Observer Packages

Peer Dependencies

Peer dependencies are package dependencies that the library depends on but are not included as part of the library's final production bundle.

Usually peer dependencies are packages that would-be users would already have or need as part of their own applications, and hence, no need to include them as part of the library code.

React

React is a library for building component-based user interfaces.

React Packages

  • react: React's core package
  • react-dom: Entry point to inject React into the DOM
  • prop-types: Runtime checker for React component's props

RxJS

RxJS is a library for composing asynchronous and event-based programs by using observable sequences.

RxJS Packages

  • rxjs: RxJS core package

Development Dependencies

Development dependencies are package dependencies used while developing library code but are not part of the library's final production bundle.

Babel

Babel is a compiler that allows developers to use new JavaScript features that are not yet available in all browsers.

Babel Packages

Commitlint

commitlint checks commit messages to make sure they follow commit message guidelines.

Commitlint Packages

ESLint

ESLint is a static analysis tool that enforces code styles and patterns.

ESLint Packages

Husky

Husky simplifies running scripts in Git hooks.

Husky Packages

  • husky - Husky core package

Idneity Obj Proxy

identity-obj-proxy is a helper module that translates non-JavaScript modules to objects. This is useful for things like mocking style imports for Jest.

Identity Obj Proxy Packages

Jest

Jest is a testing framework and runner. Used for unit tests.

Jest Packages

  • jest: Jest core package
  • jest-junit: Plugin that allows for JUnit-style reporting

MockDate

MockDate is a testing utility that allows for a script to change when JavaScript's "now" date is. This is used to have a fixed date on unit tests.

MockDate Packages

Node Sass

Node.js compiler for Sass. Currently used by Rollup to build production CSS style sheet and Storybook for displaying stories on the fly/compiling them.

Node Sass Packages

React Test Renderer

Transforms React components into pure JavaScript objects. Used for snapshot testing with Jest.

React Test Renderer Packages

Rollup

Rollup is a JavaScript module bundler.

Rollup Packages

Semantic Release

semantic-release automates the versioning and release process. semantic-release using semantic versioning to find the next version. It also takes care of updating all packages, pushing back to Git and publishing to NPM.

Semantic Release Packages

Storybook

Storybook is a tool that allows to showcase, document, test, etc. component libraries. Storybook uses Webpack to serve the development version of Storybook and to build assets for hosting. Because Webpack is included only for Storybook, it's packages are also described in this section.

Storybook Packages

Webpack Packages