# 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-globimport { 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