Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
A node REPL with ShellJS loaded by default.
This was inspired by (and forked from) n_.
Give it a star on Github
$ npm install -g n_shell
Invoking n_shell
starts a node REPL with ShellJS required globally, with
shell-like output:
bash $ n_shell
shelljs $ ls()
LICENSE
README.md
bin
node_modules
package.json
src
tmp
shelljs $ pwd()
/path/to/dir
shelljs/global
No problem:
bash $ n_shell --no_global
shelljs $ typeof ls // not in the global namespace
'undefined'
shelljs $ shell.ls() // uses 'shell' prefix
LICENSE
README.md
bin
node_modules
package.json
src
tmp
shelljs $ shell.pwd()
/path/to/dir
You're covered:
bash $ n_shell --no_global=$
shelljs $ $.ls() // now uses '$' as the prefix
LICENSE
README.md
bin
node_modules
package.json
src
tmp
shelljs $ $.pwd()
/path/to/dir
Just install that version locally (npm install shelljs
) and start up
n_shell
with the --path
option:
bash $ n_shell --path=node_modules/shelljs
shelljs $
bash $ n_shell --noinspect
shelljs $ ls()
[ 'LICENSE',
'README.md',
'index.js',
'node_modules',
'package.json',
stdout: 'LICENSE\nREADME.md\nindex.js\nnode_modules\npackage.json\n',
stderr: null,
code: 0,
to: [Function],
toEnd: [Function],
cat: [Function],
head: [Function],
sed: [Function],
sort: [Function],
tail: [Function],
grep: [Function],
exec: [Function] ]
This supports any command that ShellJS supports. It also adds some extra commands, for convenience. So far, this adds:
shell.clear()
(from
shelljs-plugin-clear)shell.open()
(from
shelljs-plugin-open)shell.sleep()
(from
shelljs-plugin-sleep)--global
: Start a node REPL with the equivalent of
require('shelljs/global')
. This is the default behavior.--no_global [PREFIX]
, --local [PREFIX]
, -n [PREFIX]
: Start a node REPL
with the equivalent of var PREFIX = require('shelljs')
. PREFIX
defaults
to shell
, if not specified.--use_strict
: enforce strict mode (default is false)--prompt <FORMAT>
: use this format to generate the REPL prompt. Default is
"shelljs %v%l $
"
%%
: a literal %
sign%v
: show the current version (from package.json
)%l
: show [local]
if this is using a local version of ShellJS--noinspect
: disable the default --inspect
behavior. This provides
less-readable REPL output, but behaves just as a standard Node REPL would.--path=path/to/shelljs/
: the argument should be a path to a folder
containing a ShellJS package.--inspect
(default): an experimental switch to add a .inspect()
method to
the output of each command. The return values are still ShellStrings, but
appear more readable and shell-like. Also, commands with no arguments can be
invoked without parentheses, such as shell.pwd
and shell.ls
. Recommended
for ShellJS v0.7+. Credit for the idea goes to
piranna.Similarly to n_
, n_shell
stores REPL history under ~/.n_shell_history
.
FAQs
A node REPL with ShellJS loaded by default
The npm package n_shell receives a total of 8 weekly downloads. As such, n_shell popularity was classified as not popular.
We found that n_shell demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.