Skip to content

yannduran/Packman

 
 

Repository files navigation

Packman - a new package manager

Build status

Download the extension at the VS Gallery or get the nightly build.

See the changelog for changes and roadmap.


Packman is a package manager for client-side packages such as JavaScript and CSS libraries. It uses well established global content delivery networks that hosts thousands of the most popular libraries.

Because it uses these content delivery networks as data source, it allows the user to be in total control over where to install the packages and what files to install. The user is in complete control of what is added to the project.

This makes Packman the fastest and most flexible package manager on the market. It also means that Packman isn't a real package manager in the traditional sense at all.

Reasons for using Packman

  1. For apps not currently using another package manager
  2. For projects where you think Bower and npm are overkill
  3. For developers that don't want to use Bower or npm
  4. For developers that values simplicity in their tools
  5. For ASP.NET Core apps where NuGet can't install content packages

Reasons for NOT using Packman

  1. Developer/team likes using Bower and/or npm
  2. For apps that uses WebPack or Browserify for module loading/bundling
  3. For app types where NuGet works just fine

Features

  • Fastest package manager in the world
    • Package installs take just milliseconds
  • Contains all the relevant client-side packages
  • Always up-to-date with the latest package versions
  • Can install packages into any folder
  • Only installs the files you need and nothing else
    • Unlike Bower and npm that installs many extra files
  • Great Visual Studio integration
  • Is based on existing CDN infrastructure
  • Work in all Visual Studio projects types
    • Including ASP.NET, Cordova and Universal Windows Apps

Installing a package

Right-click any folder in your projet and hit Add Packman Package...

Install package

This brings up the package installer dialog.

Dialog Open

You can now search for the thousands of available packages.

When you find the right package, the version dropdown populates to the latest stable version of the package.

Dialog Treeview

The tree view shows what files are available and will preselect the file(s) that it thinks you may want.

Place files in their own folder

By checking this checkbox, a folder with the same name as the package will be created and all the package files will be added to that folder.

This option is checked by default.

The manifest files

A main difference between Packman and other package managers is that a manifest file is not needed at all in order to install packages.

NuGet uses packages.config, Bower uses bower.json etc.

Packman uses the file name packman.json.

If you don't check the Save manifest file checkbox, Packman will just add the package files to the selected folder, but not keep a record of it anywhere. This is essentially the same as going to a library's website and manually downloading the files and copying them into your project.

It's important to note that package restore will not be possible without a manifest file.

The format of the manifest file is simple and easy to understand.

packman.json

If you want to modify the manifest file manually, full Intellisense is provided for package names, versions and file names.

Intellisense

You only get Intellisense for file names if the version property exist and has an accurate value.

Restoring packages

It's very easy to restore packages. Just right-click the package.json manifest file and select Restore packages.

Package restore

This will hydrate your project with the files from all the packags listed in packman.json.

Package restore will also happen every time you save packman.json. This behavior can be disabled in the options dialog.

Options

An options page is available in the Visual Studio options dialog.

Options

From here you can set various settings including which provider to use - JsDelivr or Cdnjs.

License

Apache 2.0

About

A client-side package manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%