To update tabs to latest alpha release, follow the linked steps to use $ miskweb pin.
This outlines the steps necessary to manually release new @misk
packages on NPM.
- Create an NPM user at npmjs.com and request membership in the
@Misk
organization . Membership will give you publish permissions for@Misk
scoped packages. - Note: member level may not actually be high enough to publish, needs further testing whether publish permissions are only available at Admin or Owner level.
- On your development machine, run
$ npm login
to authorize your local environment with publish permissions.
-
@misk
packages in this repo are managed by Rush, which allows easy coordinated releases of all packages (ie. release all with a common version number). Make sure Rush is set up locally. A guide is available in the README. -
All commands below must be run from the
misk-web
root directory. -
Use the command below to bump the version across all packages.
$ rush version --bump
-
Publish to NPM with the command below. You will need to enter TOTP 2 factor authentication codes to publish each package to NPM. If you don't have 2 factor authentication for NPM enabled, enable it immedietely.
$ rush publish --include-all -a -p
-
🎉 All packages will now be live on NPM!
-
Update
CHANGELOG.md
with the changes included in this published version. -
Now update the example tabs
miskTab.json
, update Rush's NPM version lockfile, and confirm that everything still builds.$ miskweb pin 0.1.3-4 -e $ miskweb prebuild -e $ rush update --full $ rush build
-
Deploy fresh version of docs site that includes the latest
CHANGELOG.md
.$ cd docs $ yarn deploy
-
Commit all code changes with a commit message starting with
[RELEASE] 0.1.3-4.
-
Use
rush change
to update the Changelog. Commit and squash these changes into the[RELEASE] X.Y.Z-Q
commit. -
🎉 Congratulations! You've released a new set of
@misk
packages! Downstreammisk-web
tabs can now simply update theversion
in theirmiskTab.json
and on their next build, they will start using the latest packages.
If a package is no longer required, you must mark it as deprecated on NPM. Use the command below with an informative message and your One Time Password for NPM 2FA.
npm deprecate @misk/[email protected] "Deprecation Message" --otp=
-
misk-web-plugin
is a Gradle plugin written in Kotlin DSL that builds Misk-Web tabs within a Java/Kotlin project. -
Builds of tabs are done within a Docker container that contains the latest version of
@misk/*
NPM packages on a Node Alpine base image. -
Publish the plugin to Gradle M2 locally by using
./gradlew pluginPublic
withGradle M2
credentials stored in a local~/.gradle/gradle.properties
file.