README
vfile-rename
Rename a vfile
.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install vfile-rename
Use
import {toVFile as vfile} from 'to-vfile'
import {rename} from 'vfile-rename'
var file = vfile('readme.md')
file.path // => readme.md
// Set extname:
rename(file, '.html')
file.path // => readme.html
// Set basename:
rename(file, 'main.md')
file.path // => main.md
// Set path properties:
rename(file, {stem: 'index'})
file.path // => index.md
// Change path properties:
rename(file, {stem: {suffix: '.bak'}})
file.path // => index.bak.md
// All together:
rename(file, ['readme.md', '.htm', {stem: 'index', extname: {suffix: 'l'}}])
file.path // => index.html
API
This package exports the following identifiers: rename
, convert
.
There is no default export.
rename(file, renames)
Renames the given file
with renames
.
Converts renames
to a move, and calls that move with file
.
If you’re doing a lot of renames, use convert
(rename.convert
or
require('vfile-rename/convert')
directly).
Parameters
renames
(string
,Function
,Spec
, orArray.<rename>
, optional)
Returns
The given file
.
convert(renames)
Create a function (the move) from renames
, that when given a file changes
its path properties.
Parameters
renames
(string
,Function
,Spec
, orArray.<rename>
, optional)
Returns
A move.
move(file)
When given something, returns a vfile from that, and changes its path properties.
- If there is no bound rename (it’s null or undefined), makes sure
file
is aVFile
- If the bound rename is a normal string starting with a dot (
.
), setsfile.extname
- Otherwise, if the bound rename is a normal string, sets
file.basename
- If the bound test is an array, all renames in it are performed
- Otherwise, if the bound rename is an object, renames according to the
Spec
Spec
A spec is an object describing path properties to values.
For each property in spec
, if its value is string
, the value of the path
property on the given file is set.
If the value is object
, it can have a prefix
or suffix
key, the value of
the path property on the given file is prefixed and/or suffixed.
Note that only allowed path properties can be set, other properties are thrown for.
Contribute
See contributing.md
in vfile/.github
for ways to
get started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.