exec-below

1.2.0 • Public • Published

exec-below

npm version npm downloads GitHub CodeQL Check This module provides a exec-below command that opens a shell in recursively in every directory below the current directory and executes the specified command.

Why?

Certain build and deployment operations require the zipping of folder content. Without this tool, individual package.json files or individually coded calls are necesary.

Global command line usage

npm install -g exec-below
exec-below "npx bestzip" "packed.zip" "*" 

NPX Usage

npx exec-below "npx bestzip" "packed.zip" "*" 

Command line usage within package.json scripts

npm install --save-dev exec-below

package.json:

{
    //...
    "scripts": {
        "build" "...",
        "zip": "exec-below '@DirectoryName@.zip' '*' --depth 1",
        "upload": "....",
        "deploy": "npm run build && npm run zip && npm run upload"
    }
}

Programmatic usage from within Node.js

const execbelow = require('exec-below')

execbelow('npx bestzip', ['@PathToExecuteFrom@/../output/@DirectoryName@.zip', '*'], { verbose: true, depth: 1, startPath: path.join(__dirname, './../testDir/input')).then(function() {
  console.log('all done!');
}).catch(function(err) {
  console.error(err.stack);
  process.exit(1);
});

Replacement Parameters

The following replacement parameters can be specified as part of a command or an command argument.

  • @DirectoryName@: The name of the directory. If the current directory that is processed is /home/etc/testdir1 then the replacement value is testdir1
  • @PathToDirectory@: The path to the directory. If the current directory that is processed is /home/etc/testdir1 then the replacement value is /home/etc
  • @PathToExecuteFrom@: The path to directory from which you executed the comand. If you execute the exec-below in the direcory /home/etc then the replacement value is /home/etc

Options

  • -d or --depth: Specifies the execution depth (default; 9999)
  • -s or --startPath: Starting path
  • -v or --verbose: Runs the command with verbose logging
  • --version: Shows the version of the package
  • --help: Shows help

/exec-below/

    Package Sidebar

    Install

    npm i exec-below

    Weekly Downloads

    2

    Version

    1.2.0

    License

    ISC

    Unpacked Size

    24.6 kB

    Total Files

    12

    Last publish

    Collaborators

    • martinstenzigpriv