JSPM

move-and-update

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

Move file and update references

Package Exports

  • move-and-update

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 (move-and-update) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Move and Update

This utility helps move files around inside a codebase with git and update all references to those files.

It's built on top of refactoring-codemods and FB's jscodeshift codemod toolkit.

Requirements

  • node: >=8.0.0

Getting started

Install

yarn install -D move-and-update

Command Line

This module provides a simple CLI:

./node_modules/.bin/move-and-update --help

If combined with Yarn, it can be run as:

yarn move-and-update --help

It can also be used as part of an npm script:

{
  "scripts": {
    "move": "move-and-update"
  },
  "devDependencies": {
    "move-and-update": "latest"
  }
}
yarn move -- lib/state/**/* lib/redux

Note this takes advantage of the run-script capability of passing arguments to the script by using --.

Module

The module exports a default move function that takes a file path, a destination path, and a map of options. The function returns a promise.

const move = require('move-and-update');

const path = require('path');

const file = path.resolve(process.cwd(), 'src', 'styles', 'styles.css');
const dest = path.resolve(process.cwd(), 'src', 'styles.css');

const options = { dry: true };

move(file, dest, options).then(
  () => console.log('Success'),
  err => console.err(err)
);

Options

There are two option: dry, which is defaultly false and rel which is defaultly './'

Options are expected to be passed in as a map:

const move = require('move-and-update');
...
const options = { dry: true, rel: './src' };
move(file, dest, options);

CLI

Option Description Default
-d Whether to run all processes in dry mode false
-r Directory to be used to resolve the relative path of the file before moving './'
-h Print help menu

You can also see the available options in the terminal by running:

yarn move-and-update --help