ntm v1.0.1
ntm
newly transformed modules
Actually just symlinks a directory in your module to your node_modules directory so you can do require('<alias>/whatever') anywhere.
Usage
package.json options
{
"ntm": {
"alias": "...",
"src": "mod",
"install": "install",
"danger": false
}
}alias: The alias to use in yournode_modulesfolder. It's hard to even pick a specific one given it may conflict with any other module at any time, so I'm giving the option to do this to the user. Uses amodfolder (ntm/mod) inside this module if not provided.src: An existing folder in your module containing scripts or whatnot.install: install script filename, relative tosrcdanger: enables danger mode.aliaswill be disregarded when set.
Install
Make sure your mod/<src> folder exists before installing!
npm i ntmWriting scripts
Create a folder named mod or whatever you placed in src. For example, you created a script named myscript.js. Now miraculously you can now call it from anywhere in your module using require('ntm/mod/myscript'), if you specified an alias, replace ntm/mod with that alias.
install.js
While installing the module, any file named install.js will be require-called, allowing for any module transformation or whatever.
Re-run
cd node_modules/ntm
npm run postinstallDanger mode
Danger mode will try to link files to the ntm's own module directory, allowing require('ntm/myscript'). Awesome, right? But make sure you know what you're doing. Overwriting ntm's own files is not allowed.
EPERM
If you get EPERM errors, obviously you do not have enough permissions to do the required operation.
Suggestions for writing scripts
Do not make assumptions about the directory structure. Use require and require.resolve. You can use __dirname but for same-directory access only.
License
MIT