All Projects → defencedigital → mod-uk-design-system

defencedigital / mod-uk-design-system

Licence: Apache-2.0 license
Build web applications that meet the Defence Digital service standards

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to mod-uk-design-system

shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (+8.97%)
Mutual labels:  monorepo, storybook, design-system
react-ecommerce
E-commerce monorepo application using NextJs, React, React-native, Design-System and Graphql with Typescript
Stars: ✭ 136 (+74.36%)
Mutual labels:  monorepo, storybook, design-system
Nx
Smart, Fast and Extensible Build System
Stars: ✭ 9,737 (+12383.33%)
Mutual labels:  monorepo, storybook
Vitamin Web
Decathlon Design System libraries for web applications
Stars: ✭ 70 (-10.26%)
Mutual labels:  monorepo, design-system
Stardust
🎨Tiller Design System
Stars: ✭ 19 (-75.64%)
Mutual labels:  storybook, design-system
react-component-library-lerna
Build your own React component library managed with lerna, presented with storybook and published in private npm registry.
Stars: ✭ 55 (-29.49%)
Mutual labels:  monorepo, storybook
ocean-web
Blu's Design System
Stars: ✭ 25 (-67.95%)
Mutual labels:  monorepo, design-system
Bolt
The Bolt Design System provides robust Twig and Web Component-powered UI components, reusable visual styles, and powerful tooling to help developers, designers, and content authors build, maintain, and scale best of class digital experiences.
Stars: ✭ 186 (+138.46%)
Mutual labels:  monorepo, design-system
Componentdriven.org
Static site and content for Component Driven
Stars: ✭ 237 (+203.85%)
Mutual labels:  storybook, design-system
moon-design
Moon Design System for React
Stars: ✭ 209 (+167.95%)
Mutual labels:  monorepo, design-system
react-uswds
USWDS 3.0 components built in React
Stars: ✭ 108 (+38.46%)
Mutual labels:  storybook, design-system
React-Native-Web-TypeScript-Prettier-Boilerplate
A starterkit to work with nextjs, react-native, storybook… all with prettified typescript and in a monorepo
Stars: ✭ 16 (-79.49%)
Mutual labels:  monorepo, storybook
neptune-web
Wise Web Design System
Stars: ✭ 55 (-29.49%)
Mutual labels:  monorepo, design-system
Learnstorybook Code
Code for Learn Storybook
Stars: ✭ 249 (+219.23%)
Mutual labels:  storybook, design-system
orfium-ictinus
This repo will include the building blocks to create the Orfium Parthenons to come ...
Stars: ✭ 20 (-74.36%)
Mutual labels:  storybook, design-system
Scale
The Scale library offers a set of customizable web components written with Stencil.js & TypeScript. The default theme of the library can be easily replaced so that a corresponding corporate identity of a dedicated brand can be represented.
Stars: ✭ 87 (+11.54%)
Mutual labels:  monorepo, design-system
Learnstorybook.com
Static site and content for Storybook tutorials
Stars: ✭ 2,291 (+2837.18%)
Mutual labels:  storybook, design-system
Awesome Design Systems
A curated list of bookmarks, resources and articles about design systems focused on developers.
Stars: ✭ 222 (+184.62%)
Mutual labels:  storybook, design-system
Lerna Yarn Workspaces Monorepo
🐉 A Monorepo with multiple packages and a shared build, test, and release process.
Stars: ✭ 201 (+157.69%)
Mutual labels:  monorepo, storybook
ui-kit
D2iQ UI Kit
Stars: ✭ 29 (-62.82%)
Mutual labels:  storybook, design-system

MOD.UK Design System

Build & Test Master GitHub release GitHub license lerna Coverage Storybook

Build web applications that meet the Defence Digital service standards.

Visit the Roadmap board to view the high-level objectives for the MOD.UK Design System. 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

Component usage guidelines

Please refer to the component demo pages and 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 @defencedigital/fonts @defencedigital/react-component-library styled-components

# ...or with yarn
yarn add @defencedigital/fonts @defencedigital/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 ReactDOM from 'react-dom'
import '@defencedigital/fonts'
import { GlobalStyleProvider, Button } from '@defencedigital/react-component-library'

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

ReactDOM.render(<App />, document.querySelector('#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. Yarn 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 yarn 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 MOD.UK Design System currently supports all major evergreen browsers.

Licensing

The defencedigital/mod-uk-design-system is licensed under the Apache License 2.0.

Contributing

Read the contributing guidelines.

Thanks

We use Chromatic for visual regression testing.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].