JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q45855F
  • License MIT

Swap a/b directories or files using symlinks

Package Exports

  • abswap

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (abswap) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.