minio
Version:
S3 Compatible Cloud Storage client
67 lines (55 loc) • 1.71 kB
Markdown
# For maintainers only
Development of MinIO JS SDK require nodejs14+ and [npm7+](https://www.npmjs.org/).
## Responsibilities
Go through [Maintainer Responsibility Guide](https://gist.github.com/abperiasamy/f4d9b31d3186bbd26522).
## Setup your minio-js Github Repository
Clone [minio-js](https://github.com/minio/minio-js/) source repository locally.
```sh
$ git clone git@github.com:minio/minio-js
$ cd minio-js
```
### Install deps
```shell
$ npm install
```
### Testing
```shell
$ npm test
```
## Publishing new release
Edit `package.json` version and all other files to the latest version as shown below.
```sh
$ git grep 3.2.0 | cut -f1 -d: | xargs sed s/3.2.0/3.2.1/g -i
$ grep version package.json
"version": "3.2.1",
$ git commit -a -m "Bump to 3.2.1 release"
```
### Publish to NPM
Login to your npm account.
```sh
$ npm login
...
Logged in as minio on https://registry.npmjs.org/.
```
Build for release
```sh
$ npm run build
```
Publish the new release to npm repository.
```
$ npm publish
```
### Tag
Tag and sign your release commit, additionally this step requires you to have access to MinIO's trusted private key.
```
$ export GNUPGHOME=/media/${USER}/minio/trusted
$ git tag -s 3.2.1
$ git push
$ git push --tags
```
### Announce
Announce new release by adding release notes at https://github.com/minio/minio-js/releases from `trusted@minio.io` account. Release notes requires two sections `highlights` and `changelog`. Highlights is a bulleted list of salient features in this release and Changelog contains list of all commits since the last release.
To generate `changelog`
```sh
git log --no-color --pretty=format:'-%d %s (%cr) <%an>' <last_release_tag>..<latest_release_tag>
```