Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

398
Views
how to setup a project to develop on a npm package

I have a git root project where I am using inside my root project a git subproject. So for example I have the project MyApp and a subproject UIComponents. Currently I have cloned the UIComponents repo into my project folder and added UIComponents to .gitignore of the root project. Now I want to build a npm package for UIComponents and I want to be able to switch between npm production build and development. The problem is in development the import is this:

import Button from './UIComponents'

and with the npm package the import is this:

import Button from '@my_name/UIComponents'

I dont want to adjust the imports everytime. The first thought that comes to mind is to develop the UIComponents inside node_modules folder but this seems not to be a nice solution.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

For solving this, try to use npm link. So instead of cloning it in a subdirectory that need to be added to gitignore, just check out the repository outside of you project and then link it.

Example:

cd ~/projects/UIComponents
npm link  
cd ~/projects/MyApp
npm link @my_name/UIComponents 

In this way you can use the same import syntax but you can develop locally in both projects at the same time without the need of publishing every change.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!