Skip to content

Latest commit

 

History

History
68 lines (42 loc) · 3.27 KB

SETUP.md

File metadata and controls

68 lines (42 loc) · 3.27 KB

Setup

Language & requirements

  • Implemented in JavaScript and TypeScript.
  • Requirements are:
    • Node, see version in package.json
    • A few NPM packages are needed, those are listed in the same file.
    • The software is fairly lightweight, no special hardware requirements.
    • Network access.

Installation & setup instructions

Fetching & installing

This will fetch the package and install all dependencies:

git clone [email protected]:Automattic/vip-design-system.git && \
cd vip-design-system && npm install

Building

This will build all TypeScript files so they can be executed:

cd vip-design-system && \
npm run build

Usage

The best experience is to use Storybook preview for set up and development.

Starting up locally

Run:

npm run dev

You can then visit http://localhost:60006/ to view.

Updating dependencies

Dependencies should be updated by merging pull requests from dependabot. However, great care should be taken before merging as updating dependencies can cause errors with the vip-design-system components. There can also be effects to the RELEASING process. This can happen silently.

Before merging

Consider removing the dependency. Can the functionality needed from the dependency be implemented directly into vip-design-system or our own common libraries? If not, evaluate the following:

  1. If the dependency is one of the development dependencies (devDependencies), and/or only used by one of those, the likelihood of customer-impacting failure is low.
  2. Is the package used in the RELEASING process? If it is, evaluate if any failure is likely to be silent. If that seems not to be the case, the risk of customer-impacting failure is low.
  3. Is the package used in one or more components? If it is, evaluate if any failure is likely to be silent. Take a look at the TESTING strategies to ensure the update is good.

Low risk dependencies

If the risk of merging is low, you can go a head and merge without doing anything further (given that all tests succeed).

Higher risk dependencies

For higher risk dependencies, the jobs using the dependency will have to be tested locally and the results verified. You can run it locally and verify that all affected components are working normally.

After merging

Test any external Applications tests using the vip-design-system as a dependency, for example, the VIP Dashboard.