mirror of
https://github.com/zhigang1992/replace-in-file.git
synced 2026-01-12 17:43:32 +08:00
db4b760d9eabf0c617943552fb12bb575dba9943
Replace in file
A simple utility to quickly replace text in one or more files or globs. Works synchronously or asynchronously with either promises or callbacks. Make a single replacement or multiple replacements at once.
Installation
npm install replace-in-file
Usage
Specify options:
const replace = require('replace-in-file');
const options = {
//Single file
files: 'path/to/file',
//Multiple files
files: [
'path/to/file',
'path/to/other/file',
],
//Glob(s)
files: [
'path/to/files/*.html',
'another/**/*.path',
],
//Replacement to make (string or regex)
from: /foo/g,
to: 'bar',
//Multiple replacements with the same string (replaced sequentially)
from: [/foo/g, /baz/g],
to: 'bar',
//Multiple replacements with different strings (replaced sequentially)
from: [/foo/g, /baz/g],
to: ['bar', 'bax'],
//Specify if empty/invalid file paths are allowed (defaults to false)
//If set to true these paths will fail silently and no error will be thrown.
allowEmptyPaths: false,
//Character encoding for reading/writing files (defaults to utf-8)
encoding: 'utf8',
};
Asynchronous replacement, with promises:
replace(options)
.then(changedFiles => {
console.log('Modified files:', changedFiles.join(', '));
})
.catch(error => {
console.error('Error occurred:', error);
});
Asynchronous replacement, with callback:
replace(options, (error, changedFiles) => {
if (error) {
return console.error('Error occurred:', error);
}
console.log('Modified files:', changedFiles.join(', '));
});
Synchronous replacement:
try {
let changedFiles = replace.sync(options);
console.log('Modified files:', changedFiles.join(', '));
}
catch (error) {
console.error('Error occurred:', error);
}
License
(MIT License)
Copyright 2015-2017, Adam Reis
Description
Languages
JavaScript
100%