@obl/react-obl-ui

UI OBL Library

Usage no npm install needed!

<script type="module">
  import oblReactOblUi from 'https://cdn.skypack.dev/@obl/react-obl-ui';
</script>

README

react-obl-ui

React components for OpenBrainLab UI

HOW TO PUBLISH TO NPM (IMPORTANT) - READ FIRST

Inside src folder we have a place where our component sourcefiles can live.

Inside src directory, index.js file is the entry point of our module. It should import all your components and exports them again. (Look inside index.js file for the structure). There is SimpleButton React Component.

BEFORE YOU PUBLISH YOU NEED TO RUN SCRIPT: we need a command that converts our sources before they are published to npm. (LOOK INSIDE PACKAGE.JSON)

$ npm run build

It calls babel tells it: "Please convert everything inside src into the output folder dist. Also create sourcemaps (-s) and inline them into the javascript files.

If you execute now npm run build, a dist folder will appear inside your project containing the converted files.

We want to tell npm exactly which files are going to be published, since only the contents of the dist folder are necessary for anyone installing our component(s). On NPM we are publishing only what is inside dist folder and entry point is index.js inside that folder.

NOW YOU CAN RUN

$ npm run publish

HOW TO TEST COMPONENT BEFORE PUBLISHING TO NPM (IMPORTANT READ)

Inside demo/src there is index.html. Inside head tag we need to include font awesome and bulma css. If we do not import these two things it will not work properly and we will not have any style. (THIS SHOULD BE ALWAYS WHEN CCREATING NEW REACT APP. WE NEED THIS TWO THINGS.!!!!!)

<link
      rel="stylesheet"
      href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
      integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf"
      crossorigin="anonymous"
    />
    <link
      rel="stylesheet"
      href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.4/css/bulma.min.css"
    />

Inside demo/src is App.js file where we import our component we want to publish on npm

import { SimpleButton } from "../../dist";

in order to see output run the command inside demo folder:

$ npm start

it will bundle all the things and you can see in the localhost:1234