Skip to main content

A command-line utility for running command in subdirectory with a set of pre-commit hooks

Project description

run-in-subdirectory

A command-line utility for running command in subdirectory with a set of pre-commit hooks

PyPI - Version PyPI - License PyPI - Python Version pre-commit Code style: black Imports: isort Linting: ruff

Usage

pre-commit hook

Example:

repos:
  - repo: https://github.com/egormkn/run-in-subdirectory
    rev: main
    hooks:
        # Run command in a subdirectory passed as the first argument
      - id: run-in-subdirectory
        alias: pylint
        name: Lint Python sources
        args: ["server", "pylint"]
        types: [ python ]
        files: ^server/
        
        # Or use run-in-<N>-level-subdirectory hooks to extract 
        # subdirectory from the last file passed to the hook
      - id: run-in-first-level-subdirectory
        alias: prettier
        name: Format code with Prettier
        args: ["npx --no -- prettier -w -u"]
        types: [ text ]
        files: ^client/

command-line program

Install with pip:

pip install run-in-subdirectory
usage: run-in-subdirectory [-h] [-v] (-l LEVEL | -d DIRECTORY) executable [args ...]

Runs the command in a subdirectory and fixes paths in arguments.

positional arguments:
  executable            Executable to run
  args                  Sequence of program arguments

options:
  -h, --help            show this help message and exit
  -v, --verbose         Print information about a command to be called
  -l LEVEL, --level LEVEL
                        Subdirectory level (0 for top-level directory)
  -d DIRECTORY, --directory DIRECTORY
                        Subdirectory within which the subprocess will be executed

example:
  When this program is executed with the following command:
    run-in-subdirectory -d client/ npx --no eslint client/src/index.ts
  Then the command will be executed:
    npx --no eslint src/index.ts
  and the current working directory will be set to client/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

run_in_subdirectory-0.1.0.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

run_in_subdirectory-0.1.0-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page