UNPKG

v8-ui-components

Version:

A component lib for v8 storefront apps

109 lines (73 loc) 2.63 kB
# V8 SFUI Components This project stores common v8.ui components ## Development ### Testing ``` npm run test ``` ### Building ``` npm run build ``` ### Storybook To run a live-reload Storybook server on your local machine: ``` npm run storybook ``` To export your Storybook as static files: ``` npm run storybook:export ``` You can then serve the files under `storybook-static` using S3, GitHub pages, Express etc. ### Generating New Components Included is a handy NodeJS util file under `util` called `create-component.js`. Instead of copy pasting components to create a new component, you can instead run this command to generate all the files you need to start building out a new component. To use it: ``` npm run generate /app/path/component YourComponentName ``` This will generate: ``` /src /YourComponentName YourComponentName.tsx YourComponentName.story.tsx YourComponentName.test.tsx YourComponentName.interfaces.ts ``` The default templates for each file can be modified under `util/templates`. Don't forget to add the component to your `index.ts` exports if you want the library to export the component! ### Installing Component Library Locally Let's say you have another project (`test-app`) on your machine that you want to try installing the component library into without having to first publish the component library. In the `test-app` directory, you can run: ``` npm i --save ../react-component-library ``` which will install the local component library as a dependency in `test-app`. It'll then appear as a dependency in `package.json` like: ```JSON ... "dependencies": { ... "react-component-library": "file:../react-component-library", ... }, ... ``` Your components can then be imported and used in that project. ## Publishing First, make sure you have an NPM account and are [logged into NPM using the `npm login` command.](https://docs.npmjs.com/creating-a-new-npm-user-account) Then update the `name` field in `package.json` to reflect your NPM package name in your private or public NPM registry. Then run: ``` npm publish ``` ## Usage Let's say you created a public NPM package called `harvey-component-library` with the `TestComponent` component created in this repository. Usage of the component (after the library installed as a dependency into another project) will be: ```TSX import React from "react"; import { Button } from "v8-ui-components"; const App = () => ( <div className="app-container"> <h1>Hello I'm consuming the component library</h1> <Button theme="primary" /> </div> ); export default App; ```