Common / globally shared and reusable things including: Models, Fns, Config / Constants, etc
Every developer that want to install (not publishing) this package just need to run command npm install @marsxklink/backend-common
to install
this package.
Every developer that want to publish new version of this package must add k-link's npm account into their local machine. And we recommend that this package should be maintained by one delegated developer. So we can easily track the changes and publishing centralized in only one person. And please note that adding k-link's npm account only needs to be performed once.
And this published package should only used for production deployment. We recommend to use npm link
, npm unlink
command strategy to use
in daily development. We will explain it in other section of this README.
So for the first step, add k-link's npm account into your local machine by run command: npm adduser
and you will prompted some information input
as below:
[user@hostname]$ npm adduser
[npm notice] Log in on https://registry.npmjs.org/
Username: <username>
Password: <password>
Email: (this IS public) akun.it.dnm@gmail.com
Logged in as <username> on https://registry.npmjs.org/.
And please note that adding k-link's npm account only needs to be performed once. Next, follow these steps below:
-
git pull
your latest changes. We recommend do it inmaster
branch. - Open file
package.json
then increase version of this package viaversion
attribute. - Run
npm publish --access public
to publish the package. - Then we recommend to sync
master
branch todevelopment
branch.
You will be tired if you do publish for every changes that the team made to use / consume changes of this package. So we recommend you to use
npm uninstall
, npm unlink
and npm link
command strategy. NPM have ability to share usage of a package locally without publishing to npm server.
For example, We will show you how to use backend-common
project in klink-backend-order-service
project. Follow these steps below:
- Provide a special directory to work on
klink-backend-order-service
project. For example, let's say your working directory at/home/developer1/Kmart-Project
- At your working directory, clone
klink-backend-order-service
project. - Also at your working directory, clone
backend-common
project. cd backend-common
-
git pull origin development
run this insidebackend-common
project directory -
npm install
run this insidebackend-common
project directory -
npm link
run this insidebackend-common
project directory -
cd ..
,cd klink-backend-order-service
- Do these commands inside
klink-backend-order-service
project directorynpm uninstall @marsxklink/backend-common
npm unlink @marsxklink/backend-common
npm link @marsxklink/backend-common
- Then validate the results by run command:
npm run start:dev
- Repeat step number 5 if there are any new changes in
backend-common
project. - And do not forget to run
npm install @marsxklink/backend-common
if you are ready to push your work to project's remote repository. - Repeat step number 8 if you continue to work on
klink-backend-order-service
project.
You need to clone backend-common
only once inside your working directory. This example working directory below will make it more clear
├── 📂 Working_Directory/
├────── 📂 backend-common/
├────── 📂 klink-backend-order-service/
├────── 📂 klink-backend-product-service/
├────── 📂 klink-backend-user-service/
├────── 📂 klink-backend-scheduler-n-queue/