2025-03-29 15:51:03 -04:00

31 lines
726 B
JavaScript

'use strict';
/**
* Dependencies
*/
const fs = require('fs');
const makeReplacements = require('./make-replacements');
/**
* Helper to replace in a single file (sync)
*/
module.exports = function replaceSync(file, from, to, config) {
//Extract relevant config and read file contents
const {encoding, dry, countMatches} = config;
const contents = fs.readFileSync(file, encoding);
//Replace contents and check if anything changed
const [result, newContents] = makeReplacements(
contents, from, to, file, countMatches
);
//Contents changed and not a dry run? Write to file
if (result.hasChanged && !dry) {
fs.writeFileSync(file, newContents, encoding);
}
//Return result
return result;
};