This pre-release guidance is aimed at Design System team members. If you're an external contributor who needs to create a pre-release, please contact the Design System team and we'll do it for you.
Before you publish a pre-release, you need to have committed a code change to GOV.UK Frontend. Then follow these instructions.
Use pre-releases when you:
- work on developing a component or pattern for the GOV.UK Design System
- want to trial an experimental feature (guidance on trialing experimental features is in development)
When you pre-release GOV.UK Frontend, this creates a GitHub branch. This branch contains the GOV.UK Frontend /packages/govuk-frontend
directory with your trial changes.
Projects can point to this branch in their package.json, instead of to the published GOV.UK Frontend npm package. No changes are published to the GOV.UK Frontend npm package as part of this process.
-
Run
git checkout -b BRANCH-NAME
to check out a new branch you want to pre-release, orgit checkout BRANCH-NAME
to check out an existing branch. -
Make any required changes and commit them.
-
Run
nvm use
to make sure you’re using the right version of Node.js and npm. -
Run
npm ci
to make sure you have the exact dependencies installed. -
Run
npm run pre-release
to create and push a new branch that contains your changes. This process may take a few moments and will display aSuccess!
message.
-
If you need to update an existing project to use the pre-release, copy the command that displays after the
Success!
message. -
Navigate to the project in the command line and run the success notification command. Running this command makes the project point to the pre-release branch, instead of to the published GOV.UK Frontend npm package. You can now preview your trial changes to GOV.UK Frontend.
-
Check out the Git branch you previously pre-released (this is the branch you work on, not the branch the script created).
-
Make the required changes and commit them.
-
Follow steps 3-5 in Publish a pre-release.
-
Follow the steps in Preview your changes.