Package Exports
- replace-in-file
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 (replace-in-file) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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);
}
Via CLI:
replace-in-file from to some/file.js,some/**/glob.js
The options allowEmptyPaths
and encoding
are supported in the CLI as well.
In addition, the CLI supports the verbose
option to list the changed files.
License
(MIT License)
Copyright 2015-2017, Adam Reis