2.10.6 • Published 2 months ago

@cityelectricalfactors/ui-components v2.10.6

Weekly downloads
-
License
MIT
Repository
bitbucket
Last release
2 months ago

Local development

Running locally can cause issues with multiple versions of react/styled-components producing an error relating to invalid hook calls.

https://github.com/facebook/react/issues/14257

As a workaround we can use a package called Yalc. If you're using Docker please follow these instructions, otherwise run the following:

  $ npm install -g yalc
  OR
  $ yarn global add yalc

  cd ui-components/
    yarn dev

  cd YOUR_PROJECT/
    yarn add @cityelectricalfactors/ui-components
    yarn install
    yalc link @cityelectricalfactors/ui-components

Installation

  yarn add @cityelectricalfactors/ui-components
  yarn add react@17.0.2 react-dom@17.0.2 styled-components@4.4.1

Commands

yarn dev

This builds to /dist and runs the project in watch mode so any edits you save inside src causes a rebuild to /dist.

will rebuild if you change files within src/

This will also republish to your local yalc store for to update in your project

Storybook

Run inside another terminal:

yarn storybook

This loads the stories from ./src/componetns/**/*.stories.tsx.

Jest

Jest tests are set up to run with npm test or yarn test.

Bundle analysis

TODO: using visualizer

Setup Files

This is the folder structure we set up for you:

/src
  /components/
    /YourComponent
      YourComponent.tsx         # EDIT THIS
      YourComponent.test.tsx    # EDIT THIS
      YourComponent.stories.tsx # EDIT THIS
      index.ts
/.storybook
  main.js
  preview.js
.gitignore
package.json
README.md                       # EDIT THIS
tsconfig.json

Rollup

uses Rollup as a bundler and generates multiple rollup configs for various module formats and build settings. See Optimizations for details.

TypeScript

tsconfig.json is set up to interpret dom and esnext types, as well as react for jsx. Adjust according to your needs.

Module Formats

CJS, ESModules, and UMD module formats are supported.

The appropriate paths are configured in package.json and dist/index.js accordingly. Please report if any issues are found.

Named Exports

Per Palmer Group guidelines, always use named exports. Code split inside your React app instead of your React library.

Including Styles

We are using Styled Components

Editing and publishing NPM module

Prerequisites

This setup assumes you already have an NPM account, if you don't then Sign Up. Once you have an account you'll need to run:

  yarn login

Warnings:

If you unpublish a module via NPM a module with that name can not be used again. The module will need to be renamed and version reset.

Updating

If you're updating a component, please increment the version inside the package.json.

When you publish the component yarn will prompt you to update the version number. However, you are able to do this manually if needs be. The following commands will update the version via the CLI:

  yarn version --major
  yarn version --minor
  yarn version --patch

Creates a new version by incrementing the major, minor, or patch number of the current version.

Publishing

Once you're finished building the component and your pull request has been merged you're going to want to publish it to the NPM registry so we can use it across projects.

During the prepublish stage yarn will build the dist folder, thanks to the prepublishOnly script so all we need to do is start this process. To publish the component, run the following (please ensure you include the --access flag):

  yarn publish --access public

It will first ask you to bump the version number (if you didn't do it manually earlier), please make sure you follow SemVer conventions.

If this is the first time you've published to NPM it will ask for your password. Just follow the on-screen prompts.

Finally, you're going to want to add this to your project, to do so you need to run:

  yarn add COMPONENTNAME

Once again exit and re-run your webpack server and you should now be using your newly published component direct from the NPM registry.

2.10.6

2 months ago

2.10.5

2 months ago

2.10.4

2 months ago

2.10.3

2 months ago

2.10.2

3 months ago

2.10.1

3 months ago

2.10.0

3 months ago

2.9.6

4 months ago

2.9.5

4 months ago

2.9.1

5 months ago

2.9.4

5 months ago

2.9.3

5 months ago

2.9.0

5 months ago

2.8.1

5 months ago

2.8.0

5 months ago

2.5.0

8 months ago

2.4.0

9 months ago

2.7.0

7 months ago

2.6.1

8 months ago

2.6.0

8 months ago

2.7.2

7 months ago

2.6.3

8 months ago

2.7.1

7 months ago

2.6.2

8 months ago

2.7.4

7 months ago

2.7.3

7 months ago

2.6.4

8 months ago

2.7.6

6 months ago

2.7.5

6 months ago

2.7.8

6 months ago

2.7.7

6 months ago

2.3.0

11 months ago

2.1.2

12 months ago

2.2.0

11 months ago

2.1.1

1 year ago

2.1.0

1 year ago

1.4.1

1 year ago

1.4.0

1 year ago

2.0.0

1 year ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.2.1

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago