@allthings/elements

- [Installation](#installation) - [Usage](#usage) - [Examples](#examples) - [Documentation](#documentation) - [Writing unit tests](#writing-unit-tests) - [Deployment](#release-a-new-version)

Stats

StarsIssuesVersionUpdatedCreatedSize
@allthings/elements
15265.0.0-beta.764 days ago4 years agoMinified + gzip package size for @allthings/elements in KB

Readme

@allthings/elements

npm version Build Status Renovate enabled

Elements is a set of carefully crafted, composable React UI components, that Allthings uses to build their mobile app.

Content

Installation

Elements are available on npm package.

yarn add @allthings/elements

Please note that @allthings/elements is still under heavy development.

Usage

Here is a quick example to get you started, it's all you need:

import React from 'react'
import { render } from 'react-dom'
import Button from '@allthings/elements/molecules/Button'

function App() {
  return <Button>Hello World</Button>
}

render(<App />, document.querySelector('#app'))

Notes:

fetch

@allthings/elements uses fetch and expects it to be globally available. For example cross-fetch can be used at the entry point of the app:

import 'cross-fetch/polyfill'

Examples

Are you looking for some full example projects to get started? Check this out.

Documentation

Check out our documentation website.

Writing unit tests

Whenever you create or edit a React component or any other JavaScript file, you must update or create a corresponding test file in the same directory.

By convention the test file should be named after the file's name with an additional .test. part:

SomeDir
  | - MyButton.jsx
  | - MyButton.test.jsx
SomeOtherDir
  | - utils.js
  | - utils.test.js

To manually trigger the unit tests, run:

yarn test

You can also use the corresponding watch task:

yarn watch:test

The unit tests are performed using the Jest platform, please refer to its documentation.

React component testing is based on the Enzyme testing utility, please refer to its documentation.

The use of snapshots generated by the toMatchSnapshot() method is strongly encouraged. Those snapshots must be always commited as they are a very useful tool whenever you want to make sure your UI does not change unexpectedly

Release a new version

git describe gives you the latest tag:

$ git describe
5.0.0-beta.XY
git tag -a 5.0.0-beta.XY -m 5.0.0-beta.XY

put the new Version in package.json https://github.com/allthings/elements/blob/typescripted/package.json#L3 and then

yarn release

or just do

$ yarn version
$ yarn release

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.