# 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'constoptions={files: 'src/targets/index.js',from: 'test-plugin',to: 'self-name',}
# awaitconstresult=replaceStringInFilesSync(options)console.info(result)/**[ { file: './ques2.md', changed: true, matchCounts: 1, replaceCounts: 1 }]*/importreplaceStringInFilesfrom'tiny-replace-files'constoptions={files: 'src/targets/index.js',from: 'test-plugin',to: 'self-name',}
# awaitconstresult=awaitreplaceStringInFiles(options)console.info(result)
# promisereplaceStringInFiles(options).then((res)=>{console.info(res)}).catch(err=>{console.info(err)})constoptions={files: 'file',};constoptions={files: ['file1','file2','file3',],};constoptions={files: ['file1','file2/**',]};constoptions={from: /foo/g,to: 'bar',};constoptions={files: 'file',from: (file)=>newRegExp(file,'g'),to: 'bar',};constoptions={files: './ques2.md',from: 'quest 2',to: (match: string)=>match.toUpperCase(),countMatches: true}constoptions={ignore: './ignored/file',};constoptions={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.
constoptions={disableGlobs: true,};API passed to the fast-glob:
constoptions={glob: {//Glob settings heredot: true,//E.g. to include file names starting with a dot},};Use a different character encoding for reading/writing files. Defaults to utf-8.
constoptions={encoding: 'utf8',};freeze mode will do not replace & change, just run the process.
constoptions={freeze: true,};See CHANGELOG.
- init lib
- support replaceStringInFiles
- support replaceStringInFilesSync
- support test