Local Integration Testing

Last updated 14 days ago

In this guide, we'll walk through how you can integrate your new HSDS: React updates with local projects.

Creating a beta build

The simplest way to do this is to create a new beta build for HSDS: React.

To do this, run this command:

npm run release:beta

You'll be prompted to select a version to upgrade to.

Note: The version numbers (below) may be different when you run this.

? Select semver increment or specify new version (Use arrow keys)
❯ patch 2.6.8
minor 2.7.0
major 3.0.0
prepatch 2.6.8-0
preminor 2.7.0-0
premajor 3.0.0-0
prerelease 2.6.8-0
──────────────
Other (specify)

Other (specify)

It is recommended that you select the Other (specify) option. This allows you to create a (unique) namespaced release.

From the above example, you'll be asked to specify your own version after selecting Other (specify):

? Select semver increment or specify new version Other (specify)
? Version

For this guide, we'll enter in 2.6.8-hello-0:

? Select semver increment or specify new version Other (specify)
? Version 2.6.8-hello-0

Next, you'll be asked to specify the tag for your release.

Note: This list (below) may be different when you run this.

? How should this pre-release version be tagged in npm? (Use arrow keys)
❯ next
new-blue
──────────────
Other (specify)

You can either select next (if you're confident this release will be 👍). If not, or if you want to release under a custom tag, select Other (specify).

For this example, we'll release under a custom tag of hello:

? Select semver increment or specify new version Other (specify)
? Version 2.6.8-hello-0
? How should this pre-release version be tagged in npm? Other (specify)
? Tag hello

Congrats! You just created a custom beta release!

Prepatching

To easiest thing to do would be to select prepatch. From the above example, you'll be asked to confirm after selecting prepatch:

Will bump from 2.6.7 to 2.6.8-0 and tag this release in npm as beta. Continue? (Y/n)

Press Enter, or type Y + Enter.

Congrats! You just created a prepatch beta release!

Integration with local development

Awesome! We just released a custom beta build with the version `@helpscout/hsds-react@v2.6-8-hello-0.

To test it out in your local development project, simply version bump the @helpscout/hsds-react version in your project's package.json.

"@helpscout/hsds-react": "2.6.7" -> "2.6-8-hello-0"

And that's it 🙏! You've successfully integrated your newly custom beta build with your local project.

(Beta) Build and repeat

Feel free to create new beta builds as needed! Repeat the steps above until you're confident the update is ready for prime time!

Unfortunately, setting up npm link with this project is (very) tedious and slow. We've explored various ways to automate the linking process. The results were inconsistent and very slow.

As of this moment, it's actually much more efficient to create and release beta builds.