local_modules v1.0.8
local_modules
embeddable npm local_modules
With local_modules you can develop your node.js library code in your application, as if they were node_modules published on npm.
Benefits
- your module contains all it's dependencies
- require your local modules with absolute paths (no more:
require('../../../../server/controller.js')) - your application's package.json does not get bloated.
- you can publish your application that contains
local_modules - the
local_modulesdependencies get installed - your
local_modulesdo not have to be developed inside thenode_modulesdirectory. - it supports your development workflow and installs
local_modulesas local npm modules.
why would I need a module for this?
read: MOTIVATION
whow does it work?
during development, it installs your local modules dependencies and links and links your local modules into the
node_modulesdirectory.Run:
lm link -fwhen installing your app in production, it temporarely adds
file:dependencies to yourpackage.jsonand runsnpm installto install your local modules and their dependencies. Afterwards it restores your originalpackage.jsonfile.Run:
lm install -f
install
npm i -g local_modulesuse
you can use
local_modulesfrom the code in node.js or via command line.
If you wan't to publish your module that contains local_modules to npm, you can add this script to your package.json.
preparation
"scripts": {
"postinstall": "local_modules install -f",
...
}development
to link the local modules of your app into node_modules and install their dependencies, run:
lm link -fproduction/deployment
to install the local modules of your app, run:
lm install -fcommand line
lmis the alias forlocal_modules. you can use either one.
lm -h
*lm* helps you to deal with local npm modules.
It installs local modules and it's dependencies, e.g. useful in production,
and links them to have always up to date modules e.g. during development.
Usage: lm <command> [options]
lm -h show help
lm -v print lm version
Commands:
install temporary adds the local module to the package.json, runs `npm install`, and removes them from package.json again.
uninstall removes the local modules from the package.json, and runs `npm prune`, to remove the unneeded but installed modules.
link links the local modules into the `node_modules` folder.
unlink removes links of the local modules inside the `node_modules` folder.
add adds the local modules to the package.json
remove removes the local modules from the package.json
Options:
--dir local module dirname default:`local_modules`
--tmp temporary package.json file ending during install
--force forced action: remove stuff, before copying or linking# example
// install local modules in `./lib` directory
lm install --dir libcode
// install example
var lm = require('local_modules');
lm({cmd: 'install', dir: 'lib'});
// or link example
lm({cmd: 'link', dir: 'lib', force: true});test
npm testlicense
MIT
author
Andi Neck @andineck