Lucid UI is released to NPM as a public module.
- The Lucid repo is at: https://github.com/appnexus/lucid https://github.com/appnexus/lucid.
- The Lucid NPM package is at: https://www.npmjs.com/package/lucid-ui https://www.npmjs.com/package/lucid-ui.
node@10.x.x: You can usenvmor otherwise to manage node versions.npm@>=6.0.0: Usenpm i -g npmto update your npm version.git: You probably already have this.
- An authorized corporate npm account.
sshsetup on GitHub. To check your credentials:git remote -v.
Before updating the documentation and releasing to npm, follow these steps:
git pull origin master: Ensure thatmasteris clean and in sync with GitHub.npm install: Ensure that you have the latest dependencies.npm run test: Run the test suite--if you need to update the Jest snapshots:npm run snapshot.npm login: Ensure that you're logged into the npm registry at: https://registry.npmjs.org/ https://registry.npmjs.org/.
Document the changes contained in the release:
git log. Find and add each merged pull request (PR) since the last release and add it to the changelog.CHANGELOG.md: Add details about the release--each PR gets a GitHub PR label, semver label, and short description.- At the end of the list of new
CHANGELOG.mdpull requests, add a link to the GitHub Lucid repo where people can compare the current changes to the previous version. For example:
https://github.com/appnexus/lucid/compare/v5.6.1...v5.7.0
- Add and commit the
CHANGELOG.mdupdates. For example:git commit -am "Update the Changelog".
- Based on the changes made, determine a suitable version number for the release.
We follow semver, which prescribes that:
semver-major: Breaking changes are "major" (the left-most number).semver-minor: Features are "minor" versions (the middle number).semver-patch: Fixes are a "patch" version (the right-most number).semver-none: Changes to documentation, or other changes that don't impact the api or consumers get a "none" label.
The recommended option is to update the version number using npm version ....
- Use
npmto publish the new NPM version that matches the version number and type of change (major, minor or patch) inpackage.json--this process creates tags for you and updates thepackage-jsonandpackage-lock.jsonautomatically.
npm version majornpm version minornpm version patch
- Push the changes and tags:
git push origin master --follow-tags. Note that by default, thegit pushcommand alone doesn't transfer tags to the repository.
Another option is to update the version number manually:
- Update the value of the
"version"field for Lucid inpackage-jsonandpackage-lock.json. - Commit the documentation and
package-changes. For example:git commit -a -m "update documentation". - Create a tag:
git tag {version number}. For example:git tag v5.4.0. - Push the tags. For example:
git push origin v5.4.0.
Before publishing Lucid to the the npm registry, please check that the Lucid repo has the latest tags.
- Publish the new Lucid version to npm:
npm publish.
Check the npm registry to make sure that it published the latest version of Lucid.