Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
a local development server designed to work with browserify.
it:
node_modules/
.index.html
for missing routes so you don't
need to even muck about with HTML to get startednpm install -g beefy
; and if you want to always have a browserify available
for beefy to use, npm install -g browserify
.
$ cd directory/you/want/served
$ beefy path/to/thing/you/want/browserified.js [PORT] [-- browserify args]
Beefy searches for bundlers in the following order:
path/to/file.js
the path to the file you want browserified. can be just a normal node module.
you can also alias it: path/to/file.js:bundle.js
if you want -- so all requests
to bundle.js
will browserify path/to/file.js
. this is helpful for when you're
writing gh-pages
-style sites that already have an index.html, and expect the
bundle to be pregenerated and available at a certain path.
You may provide multiple entry points, if you desire!
--browserify command
--bundler command
use command
instead of browserify
or ./node_modules/.bin/browserify
.
in theory, you could even get this working with if you want
to use r.js
, but that would probably
be scary and bats would fly out of it. but it's there if you need it!r.js
with beefy, you'll need a config that can write the resulting bundle
to stdout, and you can run beefy with beefy :output-url.js --bundler r.js -- -o config.js
.
NB: This will not work in Windows.
--live
Enable live reloading. this'll start up a sideband server and an fs
watch on
the current working directory -- if you save a file, your browser will refresh.
if you're not using the generated index file, beefy has your back -- it'll still automatically inject the appropriate script tag.
<script src="/-/live-reload.js"></script>
--cwd dir
serve files as if running from dir
.
--debug=false
turn off browserify source map output. by default, beefy automatically inserts
-d
into the browserify args -- this turns that behavior off.
--open
automatically discover a port and open it using your default browser.
--index=path/to/file
Provide your own default index! This works great for single page apps,
as every URL on your site will be redirected to the same HTML file. Every
instance of {{entry}}
will be replaced with the entry point of your app.
var beefy = require('beefy')
, http = require('http')
var handler = beefy('entry.js')
http.createServer(handler).listen(8124)
Beefy defaults the cwd
to the directory of the file requiring it,
so it's easy to switch from CLI mode to building a server.
As your server grows, you may want to expand on the information you're giving beefy:
var beefy = require('beefy')
, http = require('http')
http.createServer(beefy({
entries: ['entry.js']
, cwd: __dirname
, live: true
, quiet: false
, bundlerFlags: ['-t', 'brfs']
, unhandled: on404
})).listen(8124)
function on404(req, resp) {
resp.writeHead(404, {})
resp.end('sorry folks!')
}
Create a request handler suitable for providing to http.createServer
.
Calls ready
once the appropriate bundler has been located. If ready
is not provided and a bundler isn't located, an error is thrown.
Beefy's options are a simple object, which may contain the following attributes:
cwd
: String. The base directory that beefy is serving. Defaults to the
directory of the module that first required beefy.quiet
: Boolean. Whether or not to output request information to the console. Defaults to true.live
: Boolean. Whether to enable live reloading. Defaults to false.bundler
: null, String, or Function. If a string is given, beefy will
attempt to run that string as a child process whenever the path is given.
If a function is given, it is expected to accept a path and return an
object comprised of {stdout: ReadableStream, stderr: ReadableStream}
. If
not given, beefy will search for an appropriate bundler.bundlerFlags
: Flags to be passed to the bundler. Ignored if bundler
is a function.entries
: String, Array, or Object. The canonical form is that of an
object mapping URL pathnames to paths on disk relative to cwd
. If given
as an array or string, entries will be mapped like so: index.js
will
map /index.js
to <cwd>/index.js
.unhandled
: Function accepting req and resp. Called for 404s. If not
given, a default 404 handler will be used.watchify
: defaults to true -- when true, beefy will prefer using watchify
to browserify. If false, beefy will prefer browserify.Beefy may accept, as a shorthand, beefy("file.js")
or beefy(["file.js"])
.
MIT
FAQs
local development server that aims to make using browserify fast and fun
The npm package beefy receives a total of 324 weekly downloads. As such, beefy popularity was classified as not popular.
We found that beefy demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.