Socket
Socket
Sign inDemoInstall

shesha-react

Package Overview
Dependencies
461
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    shesha-react

Library


Version published
Weekly downloads
0
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Welcome to Shesha v3.0 Storybook

Build Status

Documentation is here

This is the place where all of the React web components for Shesha Web version 3 are documented!. This boilerplate was inspired by this library

Code Structure

@shesha/react-components/
    next-example/
      .storybook
      assets
      pages 
      server
      stories
      typings
    src/
      components/
      models/
      styles/
      typings/
      utils/
        index.tsx
        styles.scss
        typings.d.ts
  .babelrc
  .editorconfig
  .eslintignore
  .eslintrc
  .gitignore
  .travis.yml
  package-lock.json
  package.json
  README.md
  rollup.config.js
  tsconfig.json
  tsconfig.test.json
  tslint.json

How to contribute

To contribute, you need to create your new component under src/components/componentName. Make sure that every componet is then imported and exporteed in the src/components/componentName/index.tsx file.

Creating the component

Each component folder should be the name of the component in camelCase. The component name should be in PascalCase. Inside the folder, there should be at least 2 files, namely, index.tsx, which will contain the component and styles.scss, which will be containing the styles for that component. Below is an example:

@shesha/react-components/
    src/
      components/
        componentName
          index.tsx
          styles.scss.tsx

Development

Local development is broken into two parts (ideally using two tabs).

First, run rollup to watch your src/ module and automatically recompile it into dist/ whenever you make changes.

npm start # runs rollup with watch flag

The second part will be running the storybook, under next-example that's linked to the local version of your module.

# (in another tab)
cd next-example
npm run storybook # runs storybook server

Now, anytime you make a change to your library in src/ or to the example app's example/src, create-react-app will live-reload your local dev server so you can iterate on your component in real-time.

To import your componate named MyComponent, in your stories (or in your nextjs application, under next-example) you just write a statement like below

import { MyComponent } from '@shesha/react-components';

Versioning and publishing

Versioning

We use generate changelog to generate changelogs from git commands. Please read this article on version semantic versioning.

There are scripts in place to assist you with versioning. They are the following:

npm run changelog:major
npm run changelog:minor
npm run changelog:patch

You will run an appropriate one based on the changes you made. This will make sure that the version is changed in the package.json file and the log is added in the CHANGELOG.md file. You do not need to manually do that.

Publishing

In order to publish to npm you must have first signed in with the credetials to our private npm registry. To use local server you need to change registry using following command:

npm set registry http://npm.boxfusion.co.za:4873/';

Sinopia falls back to the global server if the package doesn't exists on the local server

From there, you can login to npm using the command: npm login

To publish, the command is

npm publish

This builds cjs and es versions of your module to dist/ and then publishes your module to npm.

Make sure that any npm modules you want as peer dependencies are properly marked as peerDependencies in package.json. The rollup config will automatically recognize them as peers and not try to bundle them in your module.

TODOs

  • Add code coverage - Azure DevOps coverage
  • Add unit tests - Azure DevOps tests with custom labels
  • Allow the consumer to customize the components in .SCSS, using Webpack
  • Get @storybook/addon-info to work properly. (Currently when you click the show info button, it does not show the props for the components.

FAQs

Last updated on 24 Feb 2021

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc