https://github.com/seangenabe/ntm
https://github.com/seangenabe/ntm
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/seangenabe/ntm
- Owner: seangenabe
- License: mit
- Created: 2015-09-21T13:40:23.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-09-22T13:16:53.000Z (about 10 years ago)
- Last Synced: 2024-04-25T08:01:41.371Z (over 1 year ago)
- Language: JavaScript
- Size: 125 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# ntm
newly transformed modules
Actually just symlinks a directory in your module to your `node_modules` directory so you can do `require('/whatever')` anywhere.
[](https://www.npmjs.com/package/ntm)
[](https://david-dm.org/seangenabe/ntm)
[](https://david-dm.org/seangenabe/ntm#info=devDependencies)## Usage
### package.json options
```json
{
"ntm": {
"alias": "...",
"src": "mod",
"install": "install",
"danger": false
}
}
```* `alias`: The alias to use in your `node_modules` folder. 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 a `mod` folder (ntm/mod) inside this module if not provided.
* `src`: An *existing* folder in your module containing scripts or whatnot.
* `install`: install script filename, relative to `src`
* `danger`: enables danger mode. `alias` will be disregarded when set.### Install
Make sure your `mod`/`` folder exists before installing!
```bash
npm i ntm
```### Writing 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
```bash
cd node_modules/ntm
npm run postinstall
```### Danger 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