node-repository-require
v0.1.5
Published
Install a Node.js module from any public/private repository easily.
Downloads
7
Maintainers
Readme
node-repository-require
Install any public/private repository (even a node module) easily in node_modules folder, on the go.
NOTE: If you include public/private git links in package.json dependencies, they will also work by default without this module, and will be installed by npm update
. But, its better to use this module if the repository is not a npm module.
Why the module was made? Made this module just because Glitch.com (https://glitch.com/) was not supporting installing my private Github repositories, at this time.
ToDo:
- Install dependencies automatically.
- Remove dependencies automatically from package.json just like they are added.
Usage:
Create installer with optional config, it will use defaults if not provided.
var nodeRepository = require("node-repository-require");
var installer = new nodeRepository({consoleLog: true});
Require module
installer.require("module-name", "https://<github_token>:[email protected]/<user>/<module_name>.git");
Run npm update in console just one time once you have required a new module from repository. This is because once the module is downloaded, its dependencies are added in package.json
npm update
Automatically install multiple modules
var nodeRepository = require("node-repository-require");
var installer = new nodeRepository({consoleLog: true});
installer.auto({
token: "<github_token>",
user: "<github_user>",
modules: {
"module-1": {
force: false,
version: "<module_version>"
},
"module-2": {
force: false,
version: "<module_version>"
},
"module-3": {
force: false,
version: "<module_version>"
}
}
});
OR
installer.auto({
token: "<github_token>",
user: "<github_user>",
modules: {
"module-1": "<module_version>"
"module-2": "<module_version>"
"module-3": "<module_version>"
}
});
If you are using this module on Glitch.com, then just run refresh
in the console.
If the repository is not a npm module, then no need to do npm update
.
Check if the module was installed
installer.require("module-name", "https://<github_token>:[email protected]/<user>/<module_name>.git")
.then(function(result) {
var module = require("module-name");
// do something with module
});
Repository links:
public: A normal repository link like: https://github.com//<module_name>.git
private: Repository link with access token for example for Github, like: https://<github_token>:[email protected]//<module_name>.git
installer
Methods
Checks if module already exists, installs/reinstalls if required.
.require(name, link, forceReinstall)
- name: module name to use
- link: module's public/private repository link
- forceReinstall: Force reinstall a module, useful if there is a new version for the module available from the repository.
.exists(name)
Checks if module already exists.
- name: module name to use
.path(name)
Gets absolute module path.
- name: module name to use
.version(name)
Gets installed module's version.
- name: module name to use
.install(name, link)
Checks if module already exists, installs if required. Does not reinstall.
- name: module name to use
- link: module's public/private repository link
.addDependencies(name)
Finds dependencies in a module's package.json and adds them to current project's package.json. npm update
is necessary after this.
- name: module name to use