copy-folder-cli v0.1.5
copy-folder-cli
Recursively copy a folder (CLI tool designed for use in npm scripts)
copy-folder-cli takes a source folder and copies its files and subfolders to a new destination. The console output includes a timestamp and formatting helpful in build systems.
A) Setup
Install package for node:
$ npm install --save-dev copy-folder-cli
B) Usage
1. npm scripts
Run copy-folder
from the "scripts"
section of your package.json file.
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"
},
Try out the first script with the command: npm run make-dist
2. Global
You can install copy-folder-cli globally and then run it anywhere directly from the terminal.
Example terminal commands:
$ npm install --global copy-folder-cli
$ copy-folder src/web ext=.html docs/api-manual
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 |
| --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 copy files with filenames matchingindex.*
.copy-folder -cd=spec fixtures mock1
Copy the folder spec/fixtures to spec/mock1.copy-folder build dist --summary
Displays the summary but not the individual files copied.copy-folder src/web --ext=.js,.html docs
Copy only the JavaScript and HTML files to the docs folder.
C) Application Code
Even though copy-folder-cli is primarily intended for build scripts, the package can easily be used in ESM and TypeScript projects.
Example:
import { copyFolder } from 'copy-folder-cli';
const options = { fileExtentions: ['.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.
Build Tools
- 🎋 add-dist-header: Prepend a one-line header comment (with license notice) to distribution files
- 📄 copy-file-util: Copy or rename a file (CLI tool designed for use in npm scripts)
- 📂 copy-folder-cli: Recursively copy a folder (CLI tool designed for use in npm scripts)
- 🚦 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-cli/issues