Socket
Socket
Sign inDemoInstall

factorial-components

Package Overview
Dependencies
Maintainers
5
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

factorial-components

library of factorial components


Version published
Maintainers
5
Created
Source

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 ;)

FAQs

Package last updated on 06 Sep 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc