npm Blog (Archive)

The npm blog has been discontinued.

Updates from the npm team are now published on the GitHub Blog and the GitHub Changelog.

npm Convos: Rolustech

Q1. Hi! Can you state your name, what you do, and/or what your company does?

I’m Amer Wilson, CRM Consultant at Rolustech, a certified SugarCRM and Salesforce Partner firm. We do CRM customization, implementation, and integrations and have been in the CRM industry for 10 years.

Q2. How’s your day going?

Great!

Q3.Tell me the story of npm at your company. What specific problem did you have that npm solved?

Our company builds software and does CRM customization for our clients. We have used npm in multiple projects. Some of the use cases are below where we used or will use npm:

1. We provide SugarCRM solutions for our Clients. There are many packages available for SugarCRM that we use in our different projects, all installed and managed with the help of npm. We don’t want to commit these dependencies and libraries in our version control system and want to share the same copy of these with everyone in our development team. We simply define these dependencies in the package.json file and other developers just run “npm install” to get all of these installed in their project.

2. We build custom CRM Portals in Ember.js. We install the dependencies in our Ember projects with npm. We use Ember.js command line utility named “ember-cli” and we use npm to install it. We use npm commands to test and build Ember projects.

3. We are developing a CRUD Application in MEAN stack. All the dependencies in Angular are installed by npm. Also, Express is installed in the node server by npm. The tests are performed by npm and the build is created by npm.

4. In one of our projects, we have to show real-time notifications to the CRM users. The solution involves the building of a WebSocket server and we are going to use Node.js and express.js for it. Again we will have to use npm to install all dependencies.

Q4. To people who are unsure what they could use npm for — how would you explain the use case?

npm will help Javascript developers to share their code with other developers or at other places and manage dependency conflicts intelligently.

For example, imagine there is a project in which you make use of different dependencies e.g bootstrap, jasmine, karma, tslint. There are different developers working on the project. You don’t want to commit all of those libraries and JavaScript files in your repository because these files are not going to be changed and everyone needs to have the same version of these files. These can be installed directly by npm. What you need to do is create a package.json file and define all these dependencies in that file and commit it in your repo. Now other developers working on the project will simply run “npm install” command and npm will take care of the rest. All the dependencies will be downloaded and installed in their project. This is a very convenient way to share the code between different people.

Moreover, developers can create and publish their own Node modules of reusable code so that other developers can use it by installing them with the help of npm.

Q5. How’s the day to day experience of using npm?

We keep on using it in different projects as described above. Any new dependency needs to be added to project, we just add it in package.json file and rest npm takes care of.

Q6. Would you recommend that another org or company use npm and why?

We absolutely recommend it for getting the multiple benefits described above.

Q7. Any cool npm stuff your company has done publicly that you’d like to promote?

Not really.