@superjs/require-auto
start node script without node_modules, install on require.
Thought
No package.json, no node_modules, simply write the script, require dependencies, and run with require-auto
Example
Install @superjs/require-auto
globally:
npm i -g @superjs/require-auto
Then you can start a node script like this:
require-auto app.js
The dependencies will be installed in the dir of app.js.
You can also write app.js
with first line as #!/usr/bin/env require-auto
, just like below:
#!/usr/bin/env require-auto
const superagent = require('superagent')
const wait = require('@superjs/wait')
let { body } = wait(superagent.get('https://api.npms.io/v2/search?q=scope:superjs'))
console.log(`body:`, body)
Run it with
./app.js
Programmatic Usage
//after this, hook created for require, for every file
require('@superjs/require-auto')
//if 'something' can't be resolved, I will `npm i something` then require it
require('something')
API
require('@superjs/require-auto')
-
returns
:requireAuto
, return singleton for the lib
hook is created when the lib is required
requireAuto.option(opt)
-
opt
: option to specify
change the specific option of requireAuto
.
available options are listed below:
-
cwd
: where installation take place, default to the dir ofmodule.parent
(who first callrequire ('@superjs/require-auto')
) -
silent
: don't log output, default tofalse
-
excludeNodeModules
: don't hook require in node_modules, default tofalse
.