Project contains submodules as mentioned in the .gitmodules
file:
- tdl-client-spe (gets cloned into features)
Use the below command to update the submodules of the project:
git submodule update --init
Install the required Node version
nvm install 22.14.0
node --version
v22.14.0
npm --version
11.2.0
Install the required dependencies
npm install
All test require the ActiveMQ broker and Wiremock to be started.
Start ActiveMQ
export ACTIVEMQ_CONTAINER=apache/activemq-classic:6.1.0
docker run -d -it --rm -p 28161:8161 -p 21613:61613 -p 21616:61616 --name activemq ${ACTIVEMQ_CONTAINER}
The ActiveMQ web UI can be accessed at: http://localhost:28161/admin/ use admin/admin to login
Start two Wiremock servers
export WIREMOCK_CONTAINER=wiremock/wiremock:3.7.0
docker run -d -it --rm -p 8222:8080 --name challenge-server ${WIREMOCK_CONTAINER}
docker run -d -it --rm -p 41375:8080 --name recording-server ${WIREMOCK_CONTAINER}
The Wiremock admin UI can be found at: http://localhost:8222/__admin/ and docs at http://localhost:8222/__admin/docs
Stop dependencies
docker stop activemq
docker stop recording-server
docker stop challenge-server
npm test
Running all the tests
./node_modules/.bin/cucumber-js
Running specific scenarios
./node_modules/.bin/cucumber-js --name "[Name of the scenario in the .features file within quotes]"
Set version manually in package.json
:
"version": "0.29.1",
Commit the changes
export RELEASE_TAG="v$(cat package.json | grep version | cut -d "\"" -f4)"
echo ${RELEASE_TAG}
git add --all
git commit -m "Releasing version ${RELEASE_TAG}"
git tag -a "${RELEASE_TAG}" -m "${RELEASE_TAG}"
git push --tags
git push
Wait for the Github build to finish, then go to: https://www.npmjs.com/package/tdl-client-nodejs
Log into NPM
npm login
List the current config
npm config ls
Publish to NPM
npm publish
Then go to https://www.npmjs.com/~
Other notes:
- the major version needs to be changed in package.json
- the deployment has not been configured to run on the CI server