Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Be scalable! Update is a new, open source developer framework and CLI for automating updates of any kind in code projects.
Be scalable! Update is a new, open source developer framework and CLI for automating updates of any kind in code projects.
(TOC generated by verb using markdown-toc)
Please read our contributing guide if you'd like to learn more about contributing to this project.
You might also be interested in generate.
All updating is accomplished using plugins called updaters, which are run by command line or API, and can be installed globally, locally, or created in a local updatefile.js
.
You can create your own updaters using Update's API, or install updaters using npm, to do things like:
jshint
to eslint
or the other way around, or any other detail)update init
, then projects under your maintenance will convert to the the conventions you prefer within milliseconds after running update
..src
and .dest
to read and write globs of files.Install update
To use Update's CLI, update
must first be installed globally with npm:
$ npm install --global update
This adds the update
command to your system path, allowing it to be run from anywhere.
Updaters can be found on npm, but if you're not familiar with how Update works, we recommend installing updater-example
:
$ npm install --global updater-example
Create "example.txt"
In the current working directory, create an empty file named example.txt
.
Run
As a habit, when using update
make sure your work is committed, then run:
$ update example
This appends the string foo
to the contents of example.txt
. Visit the updater-example project for additional steps and guidance.
Update ships with the following built-in tasks. These will be externalized to an updater or generate generator at some point.
Select the updaters to run every time update
is run. Use --add
to add additional updaters, and --remove
to remove them. You can run this command whenever you want to update your preferences, like after installing new updaters.
Example
$ update init
Display a list of currently installed updaters.
Example
$ update defaults:list
# aliased as
$ update list
Display a help menu of available commands and flags.
Example
$ update defaults:help
# aliased as
$ update help
Show the list of updaters that are registered to run on the current project.
Example
$ update defaults:show
# aliased as
$ update show
Default task for the built-in defaults
generator.
Example
$ update help
$ update help
Usage: update <command> [options]
Command: updater or tasks to run
Options:
--config, -c Save a configuration value to the `update` object in package.json
--cwd Set or display the current working directory
--data, -d Define data. API equivalent of `app.data()`
--disable Disable an option. API equivalent of "app.disable('foo')"
--enable Enable an option. API equivalent of "app.enable('foo')"
--global, -g Save a global configuration value to use as a default
--help, -h Display this help menu
--init, -i Prompts for configuration values and stores the answers
--option, -o Define options. API equivalent of `app.option()`
--run Force tasks to run regardless of command line flags used
--silent, -S Silence all tasks and updaters in the terminal
--show <key> Display the value of <key>
--version, -V Display the current version of update
--verbose, -v Display all verbose logging messages
Examples:
# run updater "foo"
$ update foo
# run task "bar" from updater "foo"
$ update foo:bar
# run multiple tasks from updater "foo"
$ update foo:bar,baz,qux
# run a sub-generator from updater "foo"
$ update foo.abc
# run task "xyz" from sub-generator "foo.abc"
$ update foo.abc:xyz
Update attempts to automatically determine if "foo" is a task or updater.
If there is a conflict, you can force update to run updater "foo"
by specifying its default task. Example: `$ update foo:default`
updateupdater
Plugins from any applications built on base should work with Update (and can be used in your updater):
baseplugin
keywordassembleplugin
keywordgenerateplugin
keywordtemplatesplugin
keywordupdateplugin
keywordverbplugin
keywordVisit the updater documentation guide to learn how to use, author and publish updaters.
Customize settings and default behavior using the update
property in package.json. These values will override global defaults.
{
"update": {
"updaters": ["package", "license", "keywords"]
}
}
The following options may be defined in package.json.
The updaters to run on the current project.
Example
Run updater-license
and updater-package
on the current project:
{
"update": {
"updaters": ["package", "license"]
}
}
Changelog entries are classified using the following labels from keep-a-changelog:
added
: for new featureschanged
: for changes in existing functionalitydeprecated
: for once-stable features removed in upcoming releasesremoved
: for deprecated features removed in this releasefixed
: for any bug fixesCustom labels used in this changelog:
dependencies
: bumps dependencieshousekeeping
: code re-organization, minor edits, or other changes that don't fit in one of the other categories.Heads up!
Please let us know if any of the following heading links are broken. Thanks!
fixed
app.cwd
in the current instance is the cwd defined by the user on the options or argv.added
app.home()
, which resolves to ~/
or the user-defined options.homedir
. This directory is used to determine the base directory for user-defined templates.app.common
object (e.g. app.common.set()
etc)home
updater. If an updatefile.js
exists in the ~/update
directory (this will be customizable, but it's not yet), this file will be loaded and .use()
d as a plugin before other updaters are loaded. You can use this to set options, add defaults, etc. But you can also run it explictly via commandline with the update home
command.fixed
app.cwd
so that it's updated when app.options.dest
(--dest
) is setFirst stable release!
(Changelog generated by helper-changelog)
Are you using Update in your project? Have you published an updater and want to share your Update project with the world? Here are some suggestions:
#updatejs
update
tag in questions)updateupdater
to package.json.Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for avice on opening issues, pull requests, and coding standards.
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on July 21, 2016.
[0.7.3] - 2016-07-21
fixed
app.cwd
in the current instance is the cwd defined by the user on the options or argv.FAQs
Be scalable! Update is a new, open source developer framework and CLI for automating updates of any kind in code projects.
The npm package update receives a total of 0 weekly downloads. As such, update popularity was classified as not popular.
We found that update 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
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.