1.1.3 • Published 4 months ago

copy-folder-util v1.1.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

copy-folder-util

Recursively copy files from one folder to another folder (CLI tool designed for use in npm scripts)

License:MIT npm Build

copy-folder-util takes a source folder and copies its files and subfolders to a new destination.  The command's console output includes a timestamp and formatting helpful in build systems.

A) Setup

Install package for node:

$ npm install --save-dev copy-folder-util

B) Usage

1. npm scripts

Run copy-folder from the "scripts" section of your package.json file.

Parameters:

  • The first parameter is the source folder.
  • The second parameter is the target folder.

Example package.json scripts:

   "scripts": {
      "make-dist": "copy-folder build dist",
      "make-docs": "copy-folder src/web --ext=.html docs/api-manual"
   },

2. Command-line npx

Example terminal commands:

$ npm install --save-dev copy-folder-util
$ npx copy-folder src/web ext=.html docs/api-manual

You can also install copy-folder-util globally (--global) and then run it anywhere directly from the terminal.

3. CLI flags

Command-line flags: | Flag | Description | Value | | ------------ | ----------------------------------------------------- | ---------- | | --basename | Filter files by filename ignoring the file extension. | string | | --cd | Change working directory before starting copy. | string | | --ext | Filter files by file extension, such as .js.Use a comma to specify multiple extensions. | string | | --note | Place to add a comment only for humans. | string | | --quiet | Suppress informational messages. | N/A | | --summary | Only print out the single line summary message. | N/A |

Examples:

  • copy-folder build --basename=index dist Only copies files with filenames matching index.*.

  • copy-folder -cd=spec fixtures mock1 Copies the folder spec/fixtures to spec/mock1.

  • copy-folder build dist --summary Displays the summary but not the individual files copied.

  • copy-folder 'src/Legal Notices' dist --summary Copies a folder that has a space in its name.

  • copy-folder src/web --ext=.js,.html docs Copies only the JavaScript and HTML files to the docs folder.

Note: Single quotes in commands are normalized so they work cross-platform and avoid the errors often encountered on Microsoft Windows.

C) Application Code

Even though copy-folder-util is primarily intended for build scripts, the package can be used programmatically in ESM and TypeScript projects.

Example:

import { copyFolder } from 'copy-folder-util';

const options = { fileExtensions: ['.html', '.js'] };
const results = copyFolder.cp('src/web', 'docs/api-manual', options);
console.log('Number of files copied:', results.count);

See the TypeScript Declarations at the top of copy-folder.ts for documentation.


CLI Build Tools for package.json

  • 🎋 add-dist-header:  Prepend a one-line banner comment (with license notice) to distribution files
  • 📄 copy-file-util:  Copy or rename a file with optional package version number
  • 📂 copy-folder-util:  Recursively copy files from one folder to another folder
  • 🪺 recursive-exec:  Run a command on each file in a folder and its subfolders
  • 🔍 replacer-util:  Find and replace strings or template outputs in text files
  • 🔢 rev-web-assets:  Revision web asset filenames with cache busting content hash fingerprints
  • 🚆 run-scripts-util:  Organize npm scripts into named groups of easy to manage commands
  • 🚦 w3c-html-validator:  Check the markup validity of HTML files using the W3C validator

Feel free to submit questions at: github.com/center-key/copy-folder-util/issues

MIT License

1.1.3

4 months ago

1.1.1

9 months ago

1.1.2

6 months ago

1.1.0

11 months ago

1.0.0

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago