1.1.42 • Published 7 years ago

factorial-components v1.1.42

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

npm.io

Factorial Components

Library of React components to be used at Factorial.

Two builds: client and server

This package offers two builds of the same components, one optimized for client-side applications and the other optimized for server side rendering.

This is due to the nature of CSS and how it needs to be treated in each case.

Client side build

Default imports are from the client-side build, e.g:

import { Button } from 'factorial-components'

Styles are dynamically injected at runtime thanks to webpack's style-loader

Server side build

To import components from server side simply append /server to your imports, e.g:

import { Button } from 'factorial-components/server'

In this case, CSS is generated at compile time and extracted to a separate css file that needs to be served with your application.

File is available at factorial-components/dist/server/main.css.

Here is an example importing the css file as a string and injecting it to the html served:

  import React from 'react'
  import styles from 'factorial-components/dist/server/main.css'

  export default class YourDocument extends Document {
  render () {
    return (
      <html>
        <Head>
          <title>Your page</title>
          <style>
            {styles}
          </style>
        </Head>
        ...
      </html>
    )
  }
}

Development

yarn storybook will open a storybook on http://localhost:6006

Build

Build both server and client packages with: yarn build

This command will generate a dist folder containing subsequent server and client folders for each case.

Release flow

If you don't have it, install git flow and initialize it in the repo like so: git flow init -d.

To start a new release:

git flow release start <NEW_RELEASE_VERSION>

On the newly created branch modify package.json's version to NEW_RELEASE_VERSION and commit changes:

git ci -am '<NEW_RELEASE_VERSION>'

Finally close the release with :

git flow release finish <NEW_RELEASE_VERSION>

You are done, now simply npm publish it ;)

1.1.42

7 years ago

1.1.41

7 years ago

1.1.40

7 years ago

1.1.39

7 years ago

1.1.38

7 years ago

1.1.37

7 years ago

1.1.36

7 years ago

1.1.35

7 years ago

1.1.34

7 years ago

1.1.33

7 years ago

1.1.32

7 years ago

1.1.31

7 years ago

1.1.30

7 years ago

1.1.29

7 years ago

1.1.28

7 years ago

1.1.27

7 years ago

1.1.26

7 years ago

1.1.25

7 years ago

1.1.24

7 years ago

1.1.23

7 years ago

1.1.22

7 years ago

1.1.21

7 years ago

1.1.20

7 years ago

1.1.19

7 years ago

1.1.18

7 years ago

1.1.17

7 years ago

1.1.16

7 years ago

1.1.15

7 years ago

1.1.14

7 years ago

1.1.13

7 years ago

1.1.12

7 years ago

1.1.11

7 years ago

1.1.10

7 years ago

1.1.9

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.22

7 years ago

1.0.21

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago