Hi, all

In the release process of the Nodejs client 1.8.0 [0], we published
the release candidate package to the npm to help verify the candidate.
But this could also introduce some inconveniences and risks for the
release manager to publish the package. We need to modify the
`package.json` before publishing and the release candidate will be
invalid after the official version is released. Please see more
details in [1].

As discussed with Baodi and the idea from this issue [2], we can use
`npm install pulsar-client
--pulsar_binary_host_mirror=https://dist.apache.org/repos/dist/release/pulsar/pulsar-client-node/`
to install the release candidate. In this way, the release manager
wouldn't need to manually modify the `package.json`(except to update
the version). I think it would make the release process more robust.
The downside of this, however, is that users are not easy to directly
depend on the RC version in their project. But I don't think that's a
big deal, we shouldn't encourage users to do that.

I would like to add this approach to the release process and have
created a PR [3]. Please help review this PR and share your thoughts.
Thanks!

## Alternative approach
We have discussed including binary files in the npm package in [1].
But this will increase the package file size and we currently haven't
found a good way to avoid it.
We have also discussed providing a script to automatically modify the
`package.json` to publish the release candidate [4]. But the approach
discussed above would be simpler than this.

[0] https://lists.apache.org/thread/dp38q41rmjc7j9noxcs5tsk57tydlrr8
[1] https://lists.apache.org/thread/vpctlo4hovtbszvl62y93xwjyzyvpzmf
[2] 
https://github.com/apache/pulsar-client-node/issues/289#issuecomment-1414661671
[3] https://github.com/apache/pulsar-client-node/pull/291
[4] https://lists.apache.org/thread/1b1ypzvvbhwymffznlx7xfgxdy5sp6wx

Thanks,
Zike Yang

Reply via email to