Useful tools for developing userscripts - in both CLI and API modes (CLI uses asynchronous calls while API can use either).
Table of Contents
Features
- Extract the entire metadata block
- Extract the small portion of the metadata block that's required for
.meta.jsfiles (@updateURL)
#Installation
npm install -g userscript-utils
Compatibility
Requires node version >=0.12
Usage
CLI usage
{lamb} userscript-utils --help
Userscript utilities Usage: userscript-utils <cmd> [options] Pass -h or --help to any command to display command-specific help Commands: get-metablock - Retrieve the entire metadata block get-updateblock - Retrieve a shortened metadata block for .meta.js files
{lamb} userscript-utils get-metablock --help
Retrieve the entire metadata block Usage: userscript-utils get-metablock [options] Options: -h, --help - Display this help -i, --infile - Get contents from a file as opposed to STDIN -o, --outfile - Output result to a file as opposed to STDOUT
{lamb} userscript-utils get-updateblock --help
Retrieve the shortened metadata block required for .meta.js files and @updateURL Usage: userscript-utils get-updateblock [options] Options: -h, --help - Display this help -i, --infile - Get contents from a file as opposed to STDIN -o, --outfile - Output result to a file as opposed to STDOUT -u, --updateurl - Include the @updateURL tag in the output -d, --downloadurl - Include the @downloadURL tag in the output
API usage
[todo: inc link]
Examples
CLI examples
Creating a .meta.js file from a .user.js file
Bare minimum:
userscript-utils get-updateblock -i foo.user.js -o foo.meta.js;
#or
userscript-utils get-updateblock -i foo.user.js >> foo.meta.js;
Include @updateURL & @downloadURL:
userscript-utils get-updateblock -i foo.user.js -o foo.meta.js -du;
#or
userscript-utils get-updateblock -i foo.user.js -du >> foo.meta.js;
From STDIN:
cat foo.user.js | userscript-utils get-updateblock -o foo.meta.js;
#or
cat foo.user.js | userscript-utils get-updateblock >> foo.meta.js;
Or simply view the output by omitting the -o and --output options.
Extracting the entire metadata block
Same options/arguments as above with the exception of -d, -u,
--downloadurl and --updateurl being invalid:
userscript-utils get-metablock -i foo.user.js -o foo.big.meta.js;
API examples
[todo]
Grunt task example
[todo]