- 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.
This will fetch the package and install all dependencies:
git clone [email protected]:Automattic/vip-design-system.git && \
cd vip-design-system && npm install
This will build all TypeScript files so they can be executed:
cd vip-design-system && \
npm run build
The best experience is to use Storybook preview for set up and development.
Run:
npm run dev
You can then visit http://localhost:60006/ to view.
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.
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:
- 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. - 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.
- 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.
If the risk of merging is low, you can go a head and merge without doing anything further (given that all tests succeed).
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.
Test any external Applications tests using the vip-design-system
as a dependency, for example, the VIP Dashboard.