Denis,
below is instruction how to publish/update npm module with Ignite NodeJS
client on npmjs.
Use it when you decide to publish the client.
Another short instruction is how to generate the API spec using jsdoc.
Pls place the instructions to appropriate locations.
Thanks,
-Alexey
How to publish Ignite NodeJS Client on npmjs.com:
-------------------------------------------------
1. Install NodeJS npm (https://nodejs.org/en/), if not installed yet.
2. Register an account at npmjs (https://www.npmjs.com/signup), if not
registered yet.
3. Execute `npm login` command and provide your npmjs account credentials.
4. Clone or download Ignite repository
https://github.com/apache/ignite.git to `local_ignite_path`
5. Go to `local_ignite_path/modules/platforms/nodejs`
6. Prepare/update
`local_ignite_path/modules/platforms/nodejs/package.json` file. Pay
attention to:
- "name" - name of the npm module
- "version" - version of the npm module, increment it if you update
the module
- "description" - description of the npm module
- "repository" - type and link to the repository with the source code
- "keywords" - keywords for the search of the module on npmjs
- "license" - license type
- other properties depend on the implementation/tests, do not touch them
Example of the package.json file is attached.
7. Prepare/update `local_ignite_path/modules/platforms/nodejs/README.md`
file. It should exist and should not be empty. Eg. add a link to a place
with the documentation.
8. Execute `npm publish` command from the
`local_ignite_path/modules/platforms/nodejs` folder.
9. Check the module is published and well-described at
https://www.npmjs.com/package/apache-ignite-client (assuming
`apache-ignite-client` is the name of the module)
Common instruction about npm publishing:
https://docs.npmjs.com/getting-started/publishing-npm-packages
How to generate Ignite NodeJS Client API specification:
-------------------------------------------------------
It should be done if a public API class/method has been changed.
1. Execute `npm install -g jsdoc` to install jsdoc
(https://www.npmjs.com/package/jsdoc)
2. Clone or download Ignite repository
https://github.com/apache/ignite.git to `local_ignite_path`
3. Go to `local_ignite_path/modules/platforms/nodejs/api_spec`
4. Only if a class has been removed from the public API, remove all
files from `local_ignite_path/modules/platforms/nodejs/api_spec` except
conf.json file.
5. Execute `jsdoc -c conf.json` command.
Note: `local_ignite_path/modules/platforms/nodejs/api_spec/conf.json` is
a file with jsdoc configuration.
{
"name": "apache-ignite-client",
"version": "1.0.0",
"description": "NodeJS Client for Apache Ignite",
"main": "index.js",
"repository": {
"type": "git",
"url":
"https://github.com/apache/ignite/tree/master/modules/platforms/nodejs"
},
"keywords": [
"apache",
"ignite",
"client"
],
"author": "",
"license": "Apache-2.0",
"engines": {
"node": ">=8.0.0"
},
"dependencies": {
"long": "latest",
"decimal.js": "latest"
},
"scripts": {
"test": "jasmine",
"test:examples": "node ./spec/ExamplesExecutor.js Examples",
"test:auth_example": "node ./spec/ExamplesExecutor.js AuthExample"
},
"devDependencies": {
"jasmine": "latest",
"jasmine-expect": "latest",
"jasmine-reporters": "latest"
}
}