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

aptim-design-system

v0.0.5

Published

<!-- ![Build & Test Master](https://github.com/Royal-Navy/design-system/actions/workflows/build_and_test.yml/badge.svg) [![GitHub release](https://img.shields.io/github/release/royal-navy/design-system.svg)](https://github.com/Royal-Navy/design-system/rel

Downloads

8

Readme

APTIM-Solutions Design System

Build web applications that meet APTIM-Solutions service standards.

Visit the Roadmap board to view the high-level objectives for our digital offerings. To check on issues currently being completed, view our Tactical board instead.

Releases & versioning

All packages are published to the NPM registry and we adhere to semantic versioning.

Supported technologies

The following view layer libraries are currently supported:

  • React
  • Remix

Component usage guidelines

Please refer to Storybook to see interactive examples, code snippets and details on how best to consume each of the components.

Installation & quick start

Installation

To install and save to your project's package.json dependencies, run:

# with npm
npm install @royalnavy/fonts @royalnavy/react-component-library styled-components

# ...or with pnpm
pnpm add @royalnavy/fonts @royalnavy/react-component-library styled-components

[!NOTE] >styled-components is a required peer dependency and is installed with the above command.

Quick start

Here's a quick example application to get you started:

import React from "react";
import { createRoot } from "react-dom/client";
import "@royalnavy/fonts";
import {
  GlobalStyleProvider,
  Button,
} from "@royalnavy/react-component-library";

const rootElement = document.getElementById("root");
const root = createRoot(rootElement);

function App() {
  return (
    <GlobalStyleProvider>
      <Button variant="primary">Hello, World!</Button>
    </GlobalStyleProvider>
  );
}

root.render(<App />);

Monorepo & package management

Splitting up large codebases into separate independently versioned packages is extremely useful for code sharing. However, making changes across many repositories is messy and difficult to track, and testing across repositories gets complicated really fast.

To solve these (and many other) problems, some projects will organize their codebases into multi-package repositories (sometimes called monorepos).

Each package folder has it's own npm package.json and can act like a stand alone project. Pnpm workspaces detects dependencies that are held within the monorepo and creates a link between them, so you can work on a react component and see instant updates in Storybook.

Manage dependencies for packages like normal, but remember to use pnpm add instead of npm install.

Run locally

You'll need Git and Node.js installed to get this project running.

[!NOTE] You will need the active LTS (Long-term support) Node.js version for this project (as specified in .nvmrc).

Fork repository (optional)

If you're an external contributor make sure to fork this project first.

Clone repository

git clone [email protected]:Royal-Navy/design-system.git # or clone your own fork

cd design-system

Using nvm (optional)

If you work across multiple Node.js projects there's a good chance they require different Node.js and npm versions.

To enable this we use nvm (Node Version Manager) to switch between versions easily.

  1. Install nvm
  2. Run nvm install in the project directory (this will use .nvmrc)

Scripts

The top level project contains scripts that are then executed for all packages:

  • lint checks syntax and simple errors in javascript files
  • test runs Jest tests in all the packages
  • build runs the build script in all packages

Git hooks

Git commit hooks trigger linting of all staged files when a change is committed.

Prettier

We have configured a set of Prettier options to enforce consistent code formatting.

Browser support

The Royal Navy Design System currently supports all major evergreen browsers.

Licensing

The Royal-Navy/design-system is licensed under the Apache License 2.0.

Contributing

Read the Contributing Guidelines.

Thanks

We use Chromatic for visual regression testing.