asvienko v1.1.0
RV Web Components Library
Overview
This is a shared components library built with React and TypeScript, optimized for use with modern web applications.
The library is bundled using Rollup for bundle library and comes with built-in support for Storybook
and Tailwind CSS.
Table of Contents
Installation
Pre-requisites
Before installing, create a .npmrc file in your project root and add the following line:
@runtimeverification:registry=https://npm.pkg.github.comInstalling the Package
Depending on your package manager, run one of the following commands:
yarn add @runtimeverification/web-componentsor
npm install @runtimeverification/web-componentsUsage
Pre-requisites
Ensure tailwindcss and daisyui are installed according to their respective documentation.
Tailwind Configuration
Update your tailwind.config.js with:
content: [
'node_modules/web-components/**/*.{js,ts,jsx,tsx,mdx}'
]Component Usage
Import and use components as shown below:
import { Button } from '@runtimeverification/web-components';
function App() {
return (
<div>
<Button />
</div>
);
}
export default App;Development
Initial Setup
Clone the repository and install dependencies:
git clone https://github.com/runtimeverification/web-components.git
cd web-components
yarn installBuilding the Library
Run the build command:
yarn buildThis will generate CommonJS, ESM, and TypeScript declaration files in the dist directory. Make sure that everything looks good before committing the changes.
Note: The dist directory is git-ignored and will be built by GitHub Actions.
Running Storybook
To start the Storybook server:
yarn storybookContributing
Adding New Components
- Create a new directory in
src/components. - Add your component files.
- Update
src/index.tsto export the new component.
Developing New Components
For local development, import the component into pages/index.ts:
yarn devNote: Remove the import from
pages/index.tsafter development is complete.
Adding New Stories
Create a .stories.ts file for your component and run:
yarn storybookDeployment
To deploy a new version:
- Build the library:
yarn build. - Verify the
distfolder and commit changes. - Push to the
mainbranch. - GitHub Actions will handle the rest, automatically building and publishing the new version.
2 years ago