npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

ouisys-component-library

v3.1.80

Published

Ouisys Components

Downloads

1,499

Readme

Ouisys Component Library

The ouisys-component-library is a collection of all reusable components used by our OUISys template, either ouisys-template-strategies or ouisys-template-nid. Previously, the reusable components were included on ouisys-clients, but we are now moving them separately from the configurations.

View Components

You can view each component's documentation on gitlab pages

Development

  • Make sure that you are using node v20.12.2 and run yarn to install dependencies
  • All components are located inside ./src folder
  • When creating a new component, we follow the “PascalCase” naming convention, for example, ChainRedirect, ExtraDisclaimer, or LanguageSwitcher
  • When developing a new component, make sure that you have a test for it, to make sure all possibilities are considered. Also, having a Storybook is a way for us to understand what are the expected properties of the new component and to test it in isolation
  • If you need to have CSS for the component, we do use a modular approach. Styles defined within a module are scoped to that module, preventing unintended style overrides. Please note that having styles or CSS on your component is optional
  • In case you need to have test data when testing your component, especially on Storybook, you can add your mocked data to ./mockData folder
  • You can link this library to your OUISys template to test any changes. You can achieve this by running yarn link and on your OUISys template, run yarn link "ouisys-component-library"
  • For every change you make on this library, you must run yarn build and restart your OUISys template
  • Before pushing or committing your changes, make sure that you unlink this library by doing yarn unlink, and on your OUISys template, run yarn unlink "ouisys-component-library"
  • Build your changes through yarn build before committing and pushing your changes
  • After pushing your changes, update the npm current version by doing npm version patch
  • Once the version is updated, run npm publish to publish the updated library
  • Remember to push these NPM changes to the repo again by going git push
  • You can verify the updated library by running this command on your OUISys template yarn add ouisys-component-library@latest

Notes

When creating new components, you need to follow the following:

  • Create new component or utilities inside ./src/{MyComponent}/{MyComponent}.tsx
  • Styles, Storybook, Types, and Jest file should be on the same location as your component or utilities
  • Once your component is ready, create the following ./src/components/{mycomponent}/index.ts if component, and ./src/utilities/{myutilities}/index.ts if utilities
  • Add your component or utilities on rollup.config.mjs inside the bundle constant
  • Finally, you need to inform npm that you have a new component by adding the build component on package.json and then exports property

Commands

Installation

Install all dependecies of the application.

yarn

Storybook

To test and see component documentation.

yarn storybook

Testing

To run local test and make sure that everything has been considered.

yarn test

Alternatively you can add the --watch flag for continued refresh and testing, as well as the -u flag to update your snapshots, when relevant and needed.

Build

Building the package and ready to publish on npm

yarn build

Usage

To use this package to your project or application.

yarn add ouisys-component-library@latest
import React from 'react';
import { Button } from 'ouisys-component-library/Button';
import { ButtonProps } from 'ouisys-component-library/types/Button/Button.types';

export const CustomComponent = ({ children }: ButtonProps) => (
  <Button type="submit" className="custom-component-button">
    Custom Component Buttom
  </Button>
);

Contribution

To read on this topic, please do so here.