#cleaner #delete #build #artifacts #thewolf

app cleaner

Cleaner is a utility for cleaning up build artifacts in bulk

10 releases (breaking)

0.9.1 Apr 16, 2022
0.8.0 Apr 15, 2022

#1031 in Command line utilities

Download history 1/week @ 2022-11-25 2/week @ 2022-12-02 1/week @ 2022-12-09 10/week @ 2022-12-16 2/week @ 2022-12-23 13/week @ 2022-12-30 2/week @ 2023-01-13 3/week @ 2023-01-20 4/week @ 2023-01-27 5/week @ 2023-02-03 33/week @ 2023-02-10 23/week @ 2023-02-17 5/week @ 2023-02-24 16/week @ 2023-03-10

51 downloads per month

MIT license

56KB
1K SLoC

Cleaner

Cleaner is a utility for cleaning up build artifacts in bulk.

It recursively looks for specific build folders, at a given path, for the following project types:

  • Rust - target
  • .Net - bin, obj
  • Web - node_modules

Install

cargo install cleaner

or

cargo install --git https://github.com/nejat/cleaner.git

* requires rust and cargo - Rust Install Instructions

Usage

cleaner 0.9.1
Cleaner is a utility for cleaning up build artifacts in bulk

USAGE:
    cleaner <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    builds       Manage build artifacts of supported platforms
    empties      Manage empty folders
    help         Print this message or the help of the given subcommand(s)
    supported    Manage supported development platforms

Commands

Builds

Manages build artifacts of configured platforms

> cleaner builds
cleaner-builds 0.9.1
Manage build artifacts of supported platforms

USAGE:
    cleaner builds <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    help      Print this message or the help of the given subcommand(s)
    list      List matching build artifacts
    remove    Remove matching build artifacts

Builds List

List matching build artifacts

cleaner-builds-list 0.9.1
List matching build artifacts

USAGE:
    cleaner builds list [OPTIONS] [PATH]

ARGS:
    <PATH>
            Optionally specify target path, defaults to current folder
            
            [default: .]

OPTIONS:
    -h, --help
            Print help information

    -t, --types <TYPES>
            Optionally specify supported development platform(s), defaults to "all"
            
            * use "supported" command to see a list of all supported development platforms
            
            [default: all]

    -V, --version
            Print version information

Builds Remove

Remove matching build artifacts

cleaner-builds-remove 0.9.1
Remove matching build artifacts

USAGE:
    cleaner builds remove [OPTIONS] [PATH]

ARGS:
    <PATH>
            Optionally specify target path, defaults to current folder
            
            [default: .]

OPTIONS:
    -h, --help
            Print help information

    -t, --types <TYPES>
            Optionally specify supported development platform(s), defaults to "all"
            
            * use "supported" command to see a list of all supported development platforms
            
            [default: all]

    -V, --version
            Print version information

    -y, --confirmed
            Executes remove action without confirmation, defaults to interactive confirmation

Empties

Manages empty folders, skips hidden folder by default

cleaner-empties 0.9.1
Manage empty folders

USAGE:
    cleaner empties <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    help      Print this message or the help of the given subcommand(s)
    list      List matching empty folders
    remove    Remove matching empty folders

Empties List

List matching empty folders

cleaner-empties-list 0.9.1
List matching empty folders

USAGE:
    cleaner empties list [OPTIONS] [PATH]

ARGS:
    <PATH>    Optionally specify target path, defaults to current folder [default: .]

OPTIONS:
    -h, --help       Print help information
    -s, --hidden     Includes empty hidden folders, i.e. folders that start with a '.'
    -V, --version    Print version information

Empties Remove

Remove matching empty folders

cleaner-empties-remove 0.9.1
Remove matching empty folders

USAGE:
    cleaner empties remove [OPTIONS] [PATH]

ARGS:
    <PATH>    Optionally specify target path, defaults to current folder [default: .]

OPTIONS:
    -h, --help         Print help information
    -s, --hidden       Includes empty hidden folders, i.e. folders that start with a '.'
    -V, --version      Print version information
    -y, --confirmed    Executes remove action without confirmation, defaults to interactive
                       confirmation

Supported

Supported development platforms configuration

cleaner-supported 0.9.1
Manage supported development platforms

USAGE:
    cleaner.exe supported [SUBCOMMAND]

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    help      Print this message or the help of the given subcommand(s)
    list      List configured development platforms
    manage    Manage platform configuration
    path      Show path of platform configuration file
    reset     Reset platform configuration to default

Supported List

Initial/Default list of supported platforms


Platform: .Net
  Build Artifacts: bin & obj
  Matched On: *.sln & *.csproj

Platform: Rust
  Build Artifacts: target
  Matched On: cargo.toml

Platform: Web
  Build Artifacts: node_modules
  Matched On: package.json

* deleting or resetting configuration will re-create this list

Road Map

  • list projects with build artifacts
  • remove build artifacts from projects
  • list empty folders
  • remove empty folders
  • configuration to support custom list of development platforms
  • wild card support for matching files used to determine platform type
  • path command to show path of supported configuration json
  • reset command to revert supported configuration json to default
  • list supported platforms
  • command to manage configuration list
  • better handling of input cancelling
  • will consider new logic for detecting build artifacts on a case by case bases, will consider pull requests

Dependencies

~6MB
~113K SLoC