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
.
Depending on your package manager, run one of the following commands:
yarn add @runtimeverificationinc/web-components
or
npm install @runtimeverificationinc/web-components
Ensure tailwindcss and daisyui are installed according to their respective documentation.
Update your tailwind.config.js
with:
content: [
'node_modules/web-components/**/*.{js,ts,jsx,tsx,mdx}'
]
Import and use components as shown below:
import { Button } from '@runtimeverificationinc/web-components';
function App() {
return (
<div>
<Button />
</div>
);
}
export default App;
Clone the repository and install dependencies:
git clone https://github.com/runtimeverification/web-components.git
cd web-components
yarn install
Run the build command:
yarn build
This will generate CommonJS, ESM, and TypeScript declaration files in the lib
default directory and other component folders as Strapi
or GraphViz
. Make sure that everything looks good before committing the changes.
Note: The destination directories are all git-ignored and will be built by GitHub Actions.
To start the Storybook server:
yarn storybook
- Create a new directory in
src/components
. - Add your component files.
- Update
src/index.ts
to export the new component.
For local development, import the component into pages/index.ts
:
yarn dev
Note: Remove the import from
pages/index.ts
after development is complete.
Create a .stories.ts
file for your component and run:
yarn storybook
To deploy a new version:
- Build the library:
yarn build
. - Verify the
dist
folder and commit changes. - Push to the
main
branch. - GitHub Actions will handle the rest, automatically building and publishing the new version.