# npm
npm install --save tiny-replace-files fast-glob
# yarn
yarn add tiny-replace-files fast-glob
# pnpm
pnpm install --save tiny-replace-files fast-glob
import { replaceStringInFilesSync } from 'tiny-replace-files'
const options = {
files: 'src/targets/index.js',
from: 'test-plugin',
to: 'self-name',
}
# await
const result = replaceStringInFilesSync(options)
console.info(result)
/**
[
{
file: './ques2.md',
changed: true,
matchCounts: 1,
replaceCounts: 1
}
]
*/
import replaceStringInFiles from 'tiny-replace-files'
const options = {
files: 'src/targets/index.js',
from: 'test-plugin',
to: 'self-name',
}
# await
const result = await replaceStringInFiles(options)
console.info(result)
# promise
replaceStringInFiles(options).then((res)=>{
console.info(res)
}).catch(err=>{
console.info(err)
})
const options = {
files: 'file',
};
const options = {
files: [
'file1',
'file2',
'file3',
],
};
const options = {
files: [
'file1',
'file2/**',
]
};
const options = {
from: /foo/g,
to: 'bar',
};
const options = {
files: 'file',
from: (file) => new RegExp(file, 'g'),
to: 'bar',
};
const options = {
files: './ques2.md',
from: 'quest 2',
to: (match: string) => match.toUpperCase(),
countMatches: true
}
const options = {
ignore: './ignored/file',
};
const options = {
ignore: [
'path/**',
'path2/index.html',
],
};
do not use fast-glob to get path. if you config this, you can uninstall fast-glob for reduce pkg size.
const options = {
disableGlobs: true,
};
API passed to the fast-glob:
const options = {
glob: {
//Glob settings here
dot: true, //E.g. to include file names starting with a dot
},
};
Use a different character encoding for reading/writing files. Defaults to utf-8.
const options = {
encoding: 'utf8',
};
freeze mode will do not replace & change, just run the process.
const options = {
freeze: true,
};
See CHANGELOG.
- init lib
- support replaceStringInFiles
- support replaceStringInFilesSync
- support test