Starting with ProGet 3.2, you can now add npm feeds, which are each effectively a private npm registry. In this tutorial, we will walk through all of the steps needed to start using a private npm registry.
If you don't already have ProGet installed, you can download it here for free. The installation process is quick & easy. For more details, visit the installation page or see the installation guide for step-by-step installation instructions.
Navigate to ProGet using your browser. You should then see a system dashboard page. Click on the gear icon in the top-right of the page, and you will be prompted to log in. The log-in page will tell you the default credentials which were created on installation; just log in using those.
Click on the Feeds tab in the navigation bar, and you will see a list of feeds in the system. A feed is simply an exposed package repository. This name comes from ProGet's origins as a NuGet package server, and in fact, for historical reasons, there is still a NuGet feed called Default created upon installation.
If you are not planning to use NuGet or want to create your own feed for it later, feel free to delete the Default feed.
Click on the Create New Feed button and select npm.
Supply a value for the Feed name field. This will be the name of your private npm registry, and should contain characters that can be easily typed in a URL. For this tutorial, we'll use private-npm.
Click on the Create New npm Feed button, and you should be automatically directed to the newly-created registry.
If your ProGet server has access to the Internet, you should see a listing of packages from npmjs.org. These are called connector packages, and are not hosted on your ProGet instance, but are transparently proxied from another server. After you create the npm feed, you can add a connector for npmjs.org directly within your feed or by clicking on the Connectors tab at the top of the page. This way you can have access to that rich library of packages in addition to your private ones. Connectors also allow filtering, if you would like to include only a subset of external packages; however, no filtering is performed by default. For more information about connectors, see the documentation.
Using the ProGet web UI, you can browse, download, upload, and otherwise manage your packages. Explore the UI if you like; when you're ready, fire up a shell on your workstation and we'll get npm set up for ProGet.
First, you will need to tell npm where to look for its registry; by default it will be configured for npmjs.org. Use the following command, substituting proget for the name name/port of your ProGet server, and private-npm for the name of the npm feed you created in the last step.
You can also publish packages to ProGet using npm. First, use the adduser command to log in as ProGet's default Admin account, and when prompted for a password, use the same one that you used to log in to ProGet (default is Admin).
You now have a working local npm registry and an npm client configured to use it by default. With connectors, you don't need to switch your client to a different registry; ProGet will aggregate all of them for you. You may want to explore some additional features not covered in this tutorial, such as: