No description
Find a file
2020-02-21 16:42:50 +01:00
modules Stop execution of function after rejection 2020-02-21 16:42:50 +01:00
packages Add packages location 2020-02-21 16:42:02 +01:00
test Add test dependency for testing BPM 2020-02-19 20:26:50 +01:00
.gitattributes Initial commit 2020-02-19 16:33:30 +01:00
.gitignore Ignore packages directory 2020-02-21 16:39:06 +01:00
bpm.bat Fix to work everywhere 2020-02-19 17:45:29 +01:00
index.js Add another case-trigger 2020-02-21 16:39:21 +01:00
LICENSE Initial commit 2020-02-19 16:33:30 +01:00
package-lock.json Introduce dependencies, see desc 2020-02-21 16:41:51 +01:00
package.json Introduce dependencies, see desc 2020-02-21 16:41:51 +01:00
README.md Add some helping notes 2020-02-19 20:27:05 +01:00

bpm

Better package manager.

BPM is NOT ready to use, please wait until using it in production until stable version is released

Manages your packages more easily, is way faster than any other available package manager and most importanly, saves space for your projects.

Why?

NPM (node package manager) and others always use folder node_modules in the projects directory. This is to always use the version the package specifies, but it also means that it uses much more space than it needs - even same versions are installed duplicately.

BPM on the other hand, stores all packages in one place and also saves a file to mention which projects are actively using the package. If all projects remove the dependency, then it's simply removed from the disk to save space.

This means, that it can save much space - some apps use same depndencies and same versions, so they will be merged.

BPM create node_modules. Is it normal?

Yes! Because of how node works, BPM needs to create the directory, but instead of pasting the dependencies there, it creates a symlink pointing to the actual version.

Commands

BPM is aimed to fully replace NPM, but, as of now, it cannot.

Currently supported and working commands are:

  • view (alias get, info) - Gets information about current project or given package from NPM's registry
  • bin - Shows installation path of BPM
  • ping - Does HTTP ping to NPM's registry. Note this is different from NPM ping, so it cannot be compared.
  • init - Creates a default package.json in current working directory.

Hide package.json warnings

Use the flag --supressChecking or -sch for short.