UNPKG

subprojects

Version:

Simple management tool for dependent subprojects in Node.js environment.

71 lines (39 loc) 2.14 kB
# Subprojects Simple management tool for dependent subprojects in [Node.js](http://nodejs.org/) environment. ## Installation $ npm install subprojects ## About `subprojects` just makes both the development and deployment easier. For example, you develop several great [Node.js](http://nodejs.org/) libraries which you plan to use in your applications. Sometimes, you have to add some new functionality in these libraries and use this functionality immediately in your applications during development process. But you do not want to publish this functionality to [npm](http://npmjs.org/) until the development completion. What to do? * You can merge your libraries code into `node_modules` every time you make changes. * Or you can rewrite all `require` statements in your applications and point them to your local libraries, not to to [npm](http://npmjs.org/) modules. Do not forget to revert the changes before publishing/deployment. * Or you can copy all your libraries into your applications and manage the same code in the different places. * Or you can just ask the simple and lightweight `subprojects` library to handle all the staff. ## How to use? ##### 1. Put this line in your main module before any `require` statement ```js require('subprojects'); ``` ##### 2. Create the configuration file for all your local dependencies (name it, for example, "/home/test/subprojects.json" ) ```js { "mygreatlib": "/home/test/work/libs/mygreatlib" } ``` ##### 3. Setup environment variable `NODE_LOCAL_SUBPROJECTS` for development ```js export NODE_LOCAL_SUBPROJECTS=/home/test/subprojects.json ``` ##### 4. `require` your libraries as if they are in [npm](http://npmjs.org/) ```js var mygreatlib = require('mygreatlib'); ``` ##### 5. Do NOT set the `NODE_LOCAL_SUBPROJECTS` in production environment to load your libraries from [npm](http://npmjs.org/) This is it! ## Contributors Author: [MileAit](http://github.com/mileait) ## License Public Domain - [Unlicense](http://unlicense.org/) All the code is original, written from the scratch to avoid any possible license conflicts.