text: //--------------------------------------------------------
  //-- Node IoC - File - Engine - System - Sync
  //--------------------------------------------------------
  
  import SyncProxy     from './SyncProxy';
  
  
  /**
   * The sync file system.
   *
   * @memberof file.systems
   * @hideconstructor
   */
  class Sync {
  
  	/**
  	 * Sync constructor.
  	 *
  	 * @returns {file.system.Sync} The sync instance wrapped by a proxy.
  	 */
  	constructor() {
  		return new Proxy(this, new SyncProxy());
  	}
  
  	/**
  	 * Replace searched content by replacement string.
  	 *
  	 * @param {string} file - File name or pattern.
  	 * @param {string|RegExp} search - The searched pattern.
  	 * @param {string} replace - The replacement value.
  	 * @param {object} [options] - The replace-in-file module options.
  	 */
  	replaceInFile(file, search, replace, options = {}) {
  		const flags = [...new Set([...(search.flags || '').split(''), 'g', 'u'])];
  		const regex = new RegExp(search, flags.join(''));
  
  		require('replace-in-file').sync({ // eslint-disable-line global-require
  			...options,
  			files: file,
  			from: regex,
  			to: replace
  		});
  	}
  
  	/**
  	 * Get @absolunet/fss package for forward calls.
  	 *
  	 * @returns {*} The @absolunet/fss package.
  	 */
  	getForward() {
  		return require('@absolunet/fss'); // eslint-disable-line global-require
  	}
  
  }
  
  
  
  export default Sync;
  