Naboo's Podracing Misadventure
    Wondering what’s next for npm?Check out our public roadmap! »

    abswap
    TypeScript icon, indicating that this package has built-in type declarations

    2.2.8 • Public • Published

    abswap - Swap Files or Directories using Symlinks

    dependencies  tests  npm  code size  license

    Screencast

    Features

    • Work with directories and regular files.
    • Maintain valid symlink for the activated selection (atomicity behavior).
    • Convert existing file or directory to a/b structure.

    Install

    npm yarn
    npm install --global abswap yarn global add abswap

    CLI Usage

    Usage: abswap [options] <path>
    
    Options:
      -V, --version  output the version number
      --init         initialize a path for a/b swap
      --copy         copy existing path to inactive selection on initialize
      --file         expect (or create) regular files as targets
      --directory    expect (or create) directory as targets
      --undo         delete a/b structure and keep active selection
      --verify       verify a/b structure for consistence
      -h, --help     output usage information
    

    Programmatic Usage

    const { init, swap, undo } = require("abswap");
    
    const PATH = "/tmp/example-path";
    
    async function demo() {
      // Initialize a/b structure
      await init(PATH, { directory: true, copy: true });
    
      // Swap symlinks pointing to 'a' and 'b'.
      await swap(PATH);
    
      // Undo a/b structure and keep current selected directory.
      await undo(PATH);
    }

    Changelog

    v2.2.0

    • New option --verify to check for a valid a/b structure.

    v2.1.0

    • Version is read asynchronously and only on demand from package.json.

    v2.0.0

    • Complete asynchronous interface using promises.

    v1.0.0

    • New option --undo to convert a/b structure back to a simple file or directory.

    v0.3.0

    • New option --copy to copy existing file or directory to inactive selection on initialize.

    v0.2.0

    • Can convert existing files or directories.
    • New options --file and --directory to select file or directory mode.

    v0.1.3

    • Initial public version.

    Contributing

    Pull requests, patches, emails, issues, what ever, are welcomed!

    Author

    Built With

    License

    This project is licensed under the MIT License - see LICENSE for details.

    Install

    npm i abswap

    DownloadsWeekly Downloads

    2

    Version

    2.2.8

    License

    MIT

    Unpacked Size

    385 kB

    Total Files

    97

    Last publish

    Collaborators

    • avatar