Socket
Socket
Sign inDemoInstall

@drovp/run

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@drovp/run

Execute one or multiple console commands on dropped items.


Version published
Maintainers
1
Created
Source

@drovp/run

Drovp plugin to execute one or a series of console commands on dropped items.

Features:

  • Powerful command templating using JavaScript template literals.
  • Ability to set current working directory per command (supports templates).
  • Generate output items after commands have completed (more templates).
  • All templates have access to stdouts of previous commands.

Templates

Templates are JavaScript template literals allowing embedded expressions.

All variables and utilities available in templates are documented in profile's instructions.

Examples

Basic command template using a variable and a utility call:

binary-name "${path}" --param ${uid(5)}

You can use new lines and indentation to visually separate parameters, they'll be removed when expanding the template:

binary-name "${path}"
  --param ${uid(5)}
  --param2 ${Time(starttime).format(YYYY)}

New line terminal escapes \ and ^ are also supported, so you can just paste in already existing commands.


Expressions are powerful:

binary-name
  "${stdout.match(/^\[path\]([^\n]+)$/m)[1].trim()}"
  --param "${filename.toUpperCase()}"

stdout is a reference to the stdout output of the previous command. Other stdouts are available on the stdouts[] array. In the example above, we are using regular expression to extract path from an stdout line such as [path] /path/to/file to use in the current command.


You can enable bulked mode to group all items dropped into the profile into a single operation.

Default behavior is to split all dropped items into separate operations.

These items will then be available inside templates on the inputs[] array, which can then be used to do stuff like concatenating dropped files using ffmpeg:

ffmpeg
	-i "concat:${inputs.map(f => f.basename).join('|')}"
	-codec copy
	"${inputs[0].filename}-concat.${inputs[0].ext}"

Example above requires command CWD to be set to ${commondir}.

Keywords

FAQs

Package last updated on 12 Aug 2022

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc