@cityelectricalfactors/ui-components
v2.13.5
Published
Running locally can cause issues with multiple versions of react/styled-components producing an error relating to invalid hook calls.
Downloads
80
Maintainers
Keywords
Readme
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 [email protected] [email protected] [email protected]
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/components/**/*.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
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 to master.
You can run the CI/CD bitbucket pipelines.
From the Bitbucket UI go navigate to 'pipelines' -> 'Run branch'.
- Select branch 'master'
- Select pipeline 'publish-package-version'
This will run the required steps to publish to NPM
Once finished if you want to get the latest version of this in your project you will need to update your package.json file & run yarn/npm install again