{"id":22197019,"url":"https://github.com/valtech-commerce/fs","last_synced_at":"2026-05-04T03:36:43.996Z","repository":{"id":65741359,"uuid":"598626958","full_name":"valtech-commerce/fs","owner":"valtech-commerce","description":"graceful-fs / fs-extra wrapper","archived":false,"fork":false,"pushed_at":"2023-02-13T17:18:53.000Z","size":371,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-26T01:37:13.892Z","etag":null,"topics":["fs","npm-package","promise","sync"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valtech-commerce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-07T13:53:17.000Z","updated_at":"2023-02-07T14:40:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"b8360786-611d-494b-a758-e973744095a0","html_url":"https://github.com/valtech-commerce/fs","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/valtech-commerce/fs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-commerce%2Ffs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-commerce%2Ffs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-commerce%2Ffs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-commerce%2Ffs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valtech-commerce","download_url":"https://codeload.github.com/valtech-commerce/fs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valtech-commerce%2Ffs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32593945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fs","npm-package","promise","sync"],"created_at":"2024-12-02T14:18:07.231Z","updated_at":"2026-05-04T03:36:43.986Z","avatar_url":"https://github.com/valtech-commerce.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fs wrappers\n[![npm][npm-badge]][npm-url]\n[![npms.io: Score][npmsio-badge]][npmsio-url]\n[![libraries.io: SourceRank][librariesio-badge]][librariesio-url]\n[![Tests][tests-badge]][tests-url]\n[![License: MIT][license-badge]][license-url]\n\n\u003e graceful-fs / fs-extra wrapper with goodies\n\n## Install\n\n```sh\n$ npm install @valtech-commerce/fs\n```\n\n\n## Usage\n\n```js\nimport { fsAsync, fsSync } from \"@valtech-commerce/fs\";\n\nfsSync.move(\"/path1/path2/path3\", \"/path4\");\n\nfsAsync.chmodPattern(\"/path1/path2/**/*.js\", 0o775).then(() =\u003e {\n\tconsole.log(\"Yeah!\");\n});\n```\n\n\n\n\n\n\n\n\n## Async - API\n\n\u003e `fs` is [graceful-fs](https://github.com/isaacs/node-graceful-fs)\n\n\u003e `fse` is [fs-extra](https://github.com/jprichardson/node-fs-extra)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- access --\u003e\n### access\nMaps [`fs.promises.access`](https://nodejs.org/api/fs.html#fs_fspromises_access_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- appendFile --\u003e\n### appendFile\nMaps [`fs.promises.appendFile`](https://nodejs.org/api/fs.html#fs_fspromises_appendfile_path_data_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- chmod --\u003e\n### chmod\nMaps [`fs.promises.chmod`](https://nodejs.org/api/fs.html#fs_fspromises_chmod_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- chmodPattern --\u003e\n### chmodPattern(pattern, mode *[, options]*)\nApplies [`fs.chmod`](https://nodejs.org/api/fs.html#fs_fs_chmod_path_mode_callback) for matching [`glob`](https://www.npmjs.com/package/glob) pattern file/dir.\n\n#### pattern\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nglob pattern.\n\n#### mode\n*Required*\u003cbr\u003e\nType: `Number`\u003cbr\u003e\nFile mode.\n\n#### options\nType: `Object`\u003cbr\u003e\nglob [options](https://www.npmjs.com/package/glob#options).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- chown --\u003e\n### chown\nMaps [`fs.promises.chown`](https://nodejs.org/api/fs.html#fs_fspromises_chown_path_uid_gid)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- compressFile --\u003e\n### compressFile(source *[, destination]*)\nCompresses file using gzip\n`Promise` returns destination\n\n#### source\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to compress.\n\n#### destination\nType: `String`\u003cbr\u003e\nDefault: Same as source with a `.gz` added at the end\u003cbr\u003e\nPath of file when compressed.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- copy --\u003e\n### copy\nMaps [`fse.copy`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/copy.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- copyFile --\u003e\n### copyFile\nMaps [`fs.promises.copyFile`](https://nodejs.org/api/fs.html#fs_fspromises_copyfile_src_dest_flags)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- decompressFile --\u003e\n### decompressFile(source *[, destination]*)\nDecompresses file using gzip\n`Promise` returns destination\n\n#### source\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to decompress.\n\n#### destination\nType: `String`\u003cbr\u003e\nDefault: Same as source with the `.gz` removed at the end\u003cbr\u003e\nPath of file when decompressed.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- emptyDir --\u003e\n### emptyDir\nMaps [`fse.emptyDir`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/emptyDir.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureDir --\u003e\n### ensureDir\nMaps [`fse.ensureDir`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureDir.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureFile --\u003e\n### ensureFile\nMaps [`fse.ensureFile`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureFile.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureLink --\u003e\n### ensureLink\nMaps [`fse.ensureLink`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureLink.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureSymlink --\u003e\n### ensureSymlink\nMaps [`fse.ensureSymlink`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureSymlink.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- lchmod --\u003e\n### lchmod\nMaps [`fs.promises.lchmod`](https://nodejs.org/api/fs.html#fs_fspromises_lchmod_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- lchown --\u003e\n### lchown\nMaps [`fs.promises.lchown`](https://nodejs.org/api/fs.html#fs_fspromises_lchown_path_uid_gid)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- link --\u003e\n### link\nMaps [`fs.promises.link`](https://nodejs.org/api/fs.html#fs_fspromises_link_existingpath_newpath)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- lstat --\u003e\n### lstat\nMaps [`fs.promises.lstat`](https://nodejs.org/api/fs.html#fs_fspromises_lstat_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mergeFiles --\u003e\n### mergeFiles(sources, destination)\nMerge multiple files into a single file\n\n#### sources\n*Required*\u003cbr\u003e\nType: `Array` of `String`\u003cbr\u003e\nPath of files to merge.\n\n#### destination\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of merged file. (If it ends with `.gz` it will be compressed using gzip)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdir --\u003e\n### mkdir\nMaps [`fs.promises.mkdir`](https://nodejs.org/api/fs.html#fs_fspromises_mkdir_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdirp --\u003e\n### mkdirp\nMaps [`fse.mkdirp`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureDir.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdirs --\u003e\n### mkdirs\nMaps [`fse.mkdirs`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureDir.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdtemp --\u003e\n### mkdtemp\nMaps [`fs.promises.mkdtemp`](https://nodejs.org/api/fs.html#fs_fspromises_mkdtemp_prefix_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- move --\u003e\n### move\nMaps [`fse.move`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/move.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- open --\u003e\n### open\nMaps [`fs.promises.open`](https://nodejs.org/api/fs.html#fs_fspromises_open_path_flags_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputCompressed --\u003e\n### outputCompressed(file, content)\nAlmost the same as writeCompressed, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write.\n\n#### content\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nContent to write.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputFile --\u003e\n### outputFile\nMaps [`fse.outputFile`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/outputFile.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputJson --\u003e\n### outputJson(file, object *[, options]*)\nAlmost the same as writeJson, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON.stringify [replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON.stringify [space](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputJson5 --\u003e\n### outputJson5(file, object *[, options]*)\nAlmost the same as writeJson5, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON5.stringify [replacer](https://json5.org#json5stringify).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON5.stringify [replacer](https://json5.org#json5stringify).\n\n\n\n\u003cbr\u003e\n\n\n\u003c!-- outputXml --\u003e\n### outputXml(file, object *[, options]*)\nAlmost the same as writeXml, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options\nType: `Object`\u003cbr\u003e\nxml2js.Builder().buildObject [options](https://github.com/Leonidas-from-XIV/node-xml2js#options-for-the-builder-class).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputYaml --\u003e\n### outputYaml(file, object)\nAlmost the same as writeYaml, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- pathExists --\u003e\n### pathExists\nMaps [`fse.pathExists`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/pathExists.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readCompressed --\u003e\n### readCompressed(file)\nReads and decompresses file using gzip.\n`Promise` returns an `String`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readdir --\u003e\n### readdir\nMaps [`fs.promises.readdir`](https://nodejs.org/api/fs.html#fs_fspromises_readdir_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readFile --\u003e\n### readFile\nMaps [`fs.promises.readFile`](https://nodejs.org/api/fs.html#fs_fspromises_readfile_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readJson --\u003e\n### readJson(file *[, reviver]*)\nReads a JSON file and then parses it into an object.\u003cbr\u003e\n`Promise` returns an `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n#### reviver\nType: `Function`\u003cbr\u003e\nJSON.parse [reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Syntax).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readJson5 --\u003e\n### readJson5(file *[, reviver]*)\nReads a JSON5 file and then parses it into an object.\u003cbr\u003e\n`Promise` returns an `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n#### reviver\nType: `Function`\u003cbr\u003e\nJSON5.parse [reviver](https://json5.org#json5parse).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readlink --\u003e\n### readlink\nMaps [`fs.promises.readlink`](https://nodejs.org/api/fs.html#fs_fspromises_readlink_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readXml --\u003e\n### readXml(file *[, options]*)\nReads a XML file and then parses it into an object.\u003cbr\u003e\n`Promise` returns an `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n#### options\nType: `Object`\u003cbr\u003e\nxml2js.parseString [options](https://github.com/Leonidas-from-XIV/node-xml2js#options).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readYaml --\u003e\n### readYaml(file)\nReads a YAML file and then parses it into an object.\u003cbr\u003e\n`Promise` returns an `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- realpath --\u003e\n### realpath\nMaps [`fs.promises.realpath`](https://nodejs.org/api/fs.html#fs_fspromises_realpath_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- remove --\u003e\n### remove\nMaps [`fse.remove`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/remove.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- removeEmptyDir --\u003e\n### removeEmptyDir(root)\nUses [delete-empty](https://github.com/jonschlinkert/delete-empty) to recursively delete all empty folders in a directory and child directories\u003cbr\u003e\n`Promise` returns an `Array` of deleted directories\n\n#### root\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of root directory to scan\n\n\n\n\u003cbr\u003e\n\n\u003c!-- removePattern --\u003e\n### removePattern(pattern)\nUses [rimraf](https://github.com/isaacs/rimraf) to delete files and directories via a globbing pattern\u003cbr\u003e\n\n#### pattern\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nGlobbing pattern\n\n\n\n\u003cbr\u003e\n\n\u003c!-- rename --\u003e\n### rename\nMaps [`fs.promises.rename`](https://nodejs.org/api/fs.html#fs_fspromises_rename_oldpath_newpath)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- rmdir --\u003e\n### rmdir\nMaps [`fs.promises.rmdir`](https://nodejs.org/api/fs.html#fs_fspromises_rmdir_path)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- scandir --\u003e\n### scandir(root, type, [options])\nUses [klaw](https://github.com/jprichardson/node-klaw) to scan directory for files or directories.\u003cbr\u003e\nReturn `Array` of files / directories\n\n#### root\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of directory to scan.\n\n#### type\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nScan for `file` or `dir`\n\n#### options.recursive\nType: `Boolean`\u003cbr\u003e\nScan in subdirectories\u003cbr\u003e\n*Default: false*\n\n#### options.fullPath\nType: `String`\u003cbr\u003e\nReturn full absolute path instead of relative path from scanned directory\u003cbr\u003e\n*Default: false*\n\n#### options.pattern\nType: `String`\u003cbr\u003e\nFilter results with [minimatch](https://github.com/isaacs/minimatch) pattern\u003cbr\u003e\n*Default: '\\*\\*'*\n\n#### options.keepJunk\nType: `Boolean`\u003cbr\u003e\nKeep [junk](https://github.com/sindresorhus/junk) files (also filters out `.gitkeep`)\u003cbr\u003e\n*Default: false*\n\n\n\n\u003cbr\u003e\n\n\u003c!-- stat --\u003e\n### stat\nMaps [`fs.promises.stat`](https://nodejs.org/api/fs.html#fs_fspromises_stat_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- symlink --\u003e\n### symlink\nMaps [`fs.promises.symlink`](https://nodejs.org/api/fs.html#fs_fspromises_symlink_target_path_type)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- truncate --\u003e\n### truncate\nMaps [`fs.promises.truncate`](https://nodejs.org/api/fs.html#fs_fspromises_truncate_path_len)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- unlink --\u003e\n### unlink\nMaps [`fs.promises.unlink`](https://nodejs.org/api/fs.html#fs_fspromises_unlink_path)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- utimes --\u003e\n### utimes\nMaps [`fs.promises.utimes`](https://nodejs.org/api/fs.html#fs_fspromises_utimes_path_atime_mtime)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeCompressed --\u003e\n### writeCompressed(file, content)\nCompresses and writes content to file using gzip.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write.\n\n#### content\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nContent to write.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeFile --\u003e\n### writeFile\nMaps [`fs.promises.writeFile`](https://nodejs.org/api/fs.html#fs_fspromises_writefile_file_data_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeJson --\u003e\n### writeJson(file, content *[, options]*)\nWrites an object to a JSON file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON.stringify [replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON.stringify [space](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeJson5 --\u003e\n### writeJson5(file, content *[, options]*)\nWrites an object to a JSON5 file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON5.stringify [replacer](https://json5.org#json5stringify).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON5.stringify [replacer](https://json5.org#json5stringify).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeXml --\u003e\n### writeXml(file, content *[, options]*)\nWrites an object to a XML file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options\nType: `Object`\u003cbr\u003e\nxml2js.Builder().buildObject [options](https://github.com/Leonidas-from-XIV/node-xml2js#options-for-the-builder-class).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeYaml --\u003e\n### writeYaml(file, object)\nWrites an object to a YAML file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n\n\n\u003cbr\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n## Sync - API\n\n\u003e `fs` is [graceful-fs](https://github.com/isaacs/node-graceful-fs)\n\n\u003e `fse` is [fs-extra](https://github.com/jprichardson/node-fs-extra)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- access --\u003e\n### access\nMaps [`fs.accessSync`](https://nodejs.org/api/fs.html#fs_fs_accesssync_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- appendFile --\u003e\n### appendFile\nMaps [`fs.appendFileSync`](https://nodejs.org/api/fs.html#fs_fs_appendfilesync_path_data_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- chmod --\u003e\n### chmod\nMaps [`fs.chmodSync`](https://nodejs.org/api/fs.html#fs_fs_chmodsync_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- chown --\u003e\n### chown\nMaps [`fs.chownSync`](https://nodejs.org/api/fs.html#fs_fs_chownsync_path_uid_gid)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- close --\u003e\n### close\nMaps [`fs.closeSync`](https://nodejs.org/api/fs.html#fs_fs_closesync_fd)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- compressFile --\u003e\n### compressFile(source *[, destination]*)\nCompresses file using gzip\nReturn `String` destination\n\n#### source\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to compress.\n\n#### destination\nType: `String`\u003cbr\u003e\nDefault: Same as source with a `.gz` added at the end\u003cbr\u003e\nPath of file when compressed.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- copy --\u003e\n### copy\nMaps [`fse.copySync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/copy-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- copyFile --\u003e\n### copyFile\nMaps [`fs.copyFileSync`](https://nodejs.org/api/fs.html#fs_fs_copyfilesync_src_dest_flags)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- decompressFile --\u003e\n### decompressFile(source *[, destination]*)\nDecompresses file using gzip\nReturn `String` destination\n\n#### source\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to decompress.\n\n#### destination\nType: `String`\u003cbr\u003e\nDefault: Same as source with the `.gz` removed at the end\u003cbr\u003e\nPath of file when decompressed.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- emptyDir --\u003e\n### emptyDir\nMaps [`fse.emptyDirSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/emptyDir-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureDir --\u003e\n### ensureDir\nMaps [`fse.ensureDirSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureDir-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureFile --\u003e\n### ensureFile\nMaps [`fse.ensureFileSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureFile-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureLink --\u003e\n### ensureLink\nMaps [`fse.ensureLinkSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureLink-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ensureSymlink --\u003e\n### ensureSymlink\nMaps [`fse.ensureSymlinkSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureSymlink-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- exists --\u003e\n### exists\nMaps [`fs.existsSync`](https://nodejs.org/api/fs.html#fs_fs_existssync_path)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- existsCase --\u003e\n### existsCase(path)\nAlmost the same as `fss.exists`, except that it also validates the case-sensitivity of the path.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- fchmod --\u003e\n### fchmod\nMaps [`fs.fchmodSync`](https://nodejs.org/api/fs.html#fs_fs_fchmodsync_fd_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- fchown --\u003e\n### fchown\nMaps [`fs.fchownSync`](https://nodejs.org/api/fs.html#fs_fs_fchownsync_fd_uid_gid)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- fdatasync --\u003e\n### fdatasync\nMaps [`fs.fdatasyncSync`](https://nodejs.org/api/fs.html#fs_fs_fdatasyncsync_fd)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- fstat --\u003e\n### fstat\nMaps [`fs.fstatSync`](https://nodejs.org/api/fs.html#fs_fs_fstatsync_fd_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- fsync --\u003e\n### fsync\nMaps [`fs.fsyncSync`](https://nodejs.org/api/fs.html#fs_fs_fsyncsync_fd)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- ftruncate --\u003e\n### ftruncate\nMaps [`fs.ftruncateSync`](https://nodejs.org/api/fs.html#fs_fs_ftruncatesync_fd_len)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- futimes --\u003e\n### futimes\nMaps [`fs.futimesSync`](https://nodejs.org/api/fs.html#fs_fs_futimessync_fd_atime_mtime)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- lchmod --\u003e\n### lchmod\nMaps [`fs.lchmodSync`](https://nodejs.org/api/fs.html#fs_fs_lchmodsync_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- lchown --\u003e\n### lchown\nMaps [`fs.lchownSync`](https://nodejs.org/api/fs.html#fs_fs_lchownsync_path_uid_gid)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- link --\u003e\n### link\nMaps [`fs.linkSync`](https://nodejs.org/api/fs.html#fs_fs_linksync_existingpath_newpath)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- lstat --\u003e\n### lstat\nMaps [`fs.lstatSync`](https://nodejs.org/api/fs.html#fs_fs_lstatsync_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdir --\u003e\n### mkdir\nMaps [`fs.mkdirSync`](https://nodejs.org/api/fs.html#fs_fs_mkdirsync_path_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdirp --\u003e\n### mkdirp\nMaps [`fse.mkdirpSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureDir-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdirs --\u003e\n### mkdirs\nMaps [`fse.mkdirsSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/ensureDir-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- mkdtemp --\u003e\n### mkdtemp\nMaps [`fs.mkdtempSync`](https://nodejs.org/api/fs.html#fs_fs_mkdtempsync_prefix_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- move --\u003e\n### move\nMaps [`fse.moveSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/move-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- open --\u003e\n### open\nMaps [`fs.openSync`](https://nodejs.org/api/fs.html#fs_fs_opensync_path_flags_mode)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputCompressed --\u003e\n### outputCompressed(file, content)\nAlmost the same as writeCompressed, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write.\n\n#### content\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nContent to write.\n\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputFile --\u003e\n### outputFile\nMaps [`fse.outputFileSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/outputFile-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputJson --\u003e\n### outputJson(file, object *[, options]*)\nAlmost the same as writeJson, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON.stringify [replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON.stringify [space](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputJson5 --\u003e\n### outputJson5(file, object *[, options]*)\nAlmost the same as writeJson5, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON5.stringify [replacer](https://json5.org#json5stringify).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON5.stringify [space](https://json5.org#json5stringify).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputXml --\u003e\n### outputXml(file, object *[, options]*)\nAlmost the same as writeXml, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options\nType: `Object`\u003cbr\u003e\nxml2js.Builder().buildObject [options](https://github.com/Leonidas-from-XIV/node-xml2js#options-for-the-builder-class).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- outputYaml --\u003e\n### outputYaml(file, object)\nAlmost the same as writeYaml, except that if the directory does not exist, it's created.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- pathExists --\u003e\n### pathExists\nMaps [`fse.pathExistsSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/pathExists-sync.md)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- read --\u003e\n### read\nMaps [`fs.readSync`](https://nodejs.org/api/fs.html#fs_fs_readsync_fd_buffer_offset_length_position)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readCompressed --\u003e\n### readCompressed(file)\nReads and decompresses file using gzip.\u003cbr\u003e\nReturn `String`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readdir --\u003e\n### readdir\nMaps [`fs.readdirSync`](https://nodejs.org/api/fs.html#fs_fs_readdirsync_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readFile --\u003e\n### readFile\nMaps [`fs.readFileSync`](https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readJson --\u003e\n### readJson(file *[, reviver]*)\nReads a JSON file and then parses it into an object.\u003cbr\u003e\nReturn `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n#### reviver\nType: `Function`\u003cbr\u003e\nJSON.parse [reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Syntax).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readJson5 --\u003e\n### readJson5(file *[, reviver]*)\nReads a JSON5 file and then parses it into an object.\u003cbr\u003e\nReturn `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n#### reviver\nType: `Function`\u003cbr\u003e\nJSON5.parse [reviver](https://json5.org#json5parse).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readlink --\u003e\n### readlink\nMaps [`fs.readlinkSync`](https://nodejs.org/api/fs.html#fs_fs_readlinksync_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readXml --\u003e\n### readXml(file *[, options]*)\nReads a XML file and then parses it into an object.\u003cbr\u003e\nReturn `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n#### options\nType: `Object`\u003cbr\u003e\nxml2jsParser.parseStringSync [options](https://github.com/vavere/xml2js-parser#options).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- readYaml --\u003e\n### readYaml(file)\nReads a YAML file and then parses it into an object.\u003cbr\u003e\nReturn `Object`\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to read. (If it ends with `.gz` it will be decompressed using gzip)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- realpath --\u003e\n### realpath\nMaps [`fs.realpathSync`](https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- realpath.native --\u003e\n### realpath.native\nMaps [`fs.realpathSync.native`](https://nodejs.org/api/fs.html#fs_fs_realpathsync_native_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- remove --\u003e\n### remove\nMaps [`fse.removeSync`](https://github.com/jprichardson/node-fs-extra/blob/master/docs/remove-sync.md)\n\n\n\u003cbr\u003e\n\n\u003c!-- removeEmptyDir --\u003e\n### removeEmptyDir(root)\nUses [delete-empty](https://github.com/jonschlinkert/delete-empty) to recursively delete all empty folders in a directory and child directories\u003cbr\u003e\nReturn `Array` of deleted directories\n\n#### root\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of root directory to scan\n\n\n\n\u003cbr\u003e\n\n\u003c!-- removePattern --\u003e\n### removePattern(pattern)\nUses [rimraf](https://github.com/isaacs/rimraf) to delete files and directories via a globbing pattern\u003cbr\u003e\n\n#### pattern\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nGlobbing pattern\n\n\n\n\u003cbr\u003e\n\n\u003c!-- rename --\u003e\n### rename\nMaps [`fs.renameSync`](https://nodejs.org/api/fs.html#fs_fs_renamesync_oldpath_newpath)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- rmdir --\u003e\n### rmdir\nMaps [`fs.rmdirSync`](https://nodejs.org/api/fs.html#fs_fs_rmdirsync_path)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- scandir --\u003e\n### scandir(root, type, [options])\nUses [klaw-sync](https://github.com/manidlou/node-klaw-sync) to scan directory for files or directories.\u003cbr\u003e\nReturn `Array` of files / directories\n\n#### root\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of directory to scan.\n\n#### type\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nScan for `file` or `dir`\n\n#### options.recursive\nType: `Boolean`\u003cbr\u003e\nScan in subdirectories\u003cbr\u003e\n*Default: false*\n\n#### options.fullPath\nType: `String`\u003cbr\u003e\nReturn full absolute path instead of relative path from scanned directory\u003cbr\u003e\n*Default: false*\n\n#### options.pattern\nType: `String`\u003cbr\u003e\nFilter results with [minimatch](https://github.com/isaacs/minimatch) pattern\u003cbr\u003e\n*Default: '\\*\\*'*\n\n#### options.keepJunk\nType: `Boolean`\u003cbr\u003e\nKeep [junk](https://github.com/sindresorhus/junk) files (also filters out `.gitkeep`)\u003cbr\u003e\n*Default: false*\n\n\n\n\u003cbr\u003e\n\n\u003c!-- stat --\u003e\n### stat\nMaps [`fs.statSync`](https://nodejs.org/api/fs.html#fs_fs_statsync_path_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- symlink --\u003e\n### symlink\nMaps [`fs.symlinkSync`](https://nodejs.org/api/fs.html#fs_fs_symlinksync_target_path_type)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- truncate --\u003e\n### truncate\nMaps [`fs.truncateSync`](https://nodejs.org/api/fs.html#fs_fs_truncatesync_path_len)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- unlink --\u003e\n### unlink\nMaps [`fs.unlinkSync`](https://nodejs.org/api/fs.html#fs_fs_unlinksync_path)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- utimes --\u003e\n### utimes\nMaps [`fs.utimesSync`](https://nodejs.org/api/fs.html#fs_fs_utimessync_path_atime_mtime)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- write --\u003e\n### write\nMaps [`fs.writeSync`](https://nodejs.org/api/fs.html#fs_fs_writesync_fd_buffer_offset_length_position)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeCompressed --\u003e\n### writeCompressed(file, content)\nCompresses and writes content to file using gzip.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write.\n\n#### content\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nContent to write.\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeFile --\u003e\n### writeFile\nMaps [`fs.writeFileSync`](https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options)\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeJson --\u003e\n### writeJson(file, content *[, options]*)\nWrites an object to a JSON file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON.stringify [replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON.stringify [space](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Syntax).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeJson5 --\u003e\n### writeJson5(file, content *[, options]*)\nWrites an object to a JSON5 file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options.replacer\nType: `Function`\u003cbr\u003e\nJSON5.stringify [replacer](https://json5.org#json5stringify).\n\n#### options.space\nType: `String` or `Number`\u003cbr\u003e\nJSON5.stringify [space](https://json5.org#json5stringify).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeXml --\u003e\n### writeXml(file, content *[, options]*)\nWrites an object to a XML file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n#### options\nType: `Object`\u003cbr\u003e\nxml2js.Builder().buildObject [options](https://github.com/Leonidas-from-XIV/node-xml2js#options-for-the-builder-class).\n\n\n\n\u003cbr\u003e\n\n\u003c!-- writeYaml --\u003e\n### writeYaml(file, object)\nWrites an object to a YAML file.\n\n#### file\n*Required*\u003cbr\u003e\nType: `String`\u003cbr\u003e\nPath of file to write. (If it ends with `.gz` it will be compressed using gzip)\n\n#### object\n*Required*\u003cbr\u003e\nType: `Object`\u003cbr\u003e\nObject to write.\n\n\n\n\u003cbr\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n## License\n\n[MIT](LICENSE) © [Valtech Canada inc.](https://www.valtech.ca/)\n\n[npm-badge]: https://img.shields.io/npm/v/@valtech-commerce/fs?style=flat-square\n[npmsio-badge]: https://img.shields.io/npms-io/final-score/@valtech-commerce/fs?style=flat-square\n[librariesio-badge]: https://img.shields.io/librariesio/sourcerank/npm/@valtech-commerce/fs?style=flat-square\n[tests-badge]: https://img.shields.io/github/actions/workflow/status/valtech-commerce/fs/tests.yaml?style=flat-square\u0026branch=main\n[license-badge]: https://img.shields.io/badge/license-MIT-green?style=flat-square\n[npm-url]: https://www.npmjs.com/package/@valtech-commerce/fs\n[npmsio-url]: https://npms.io/search?q=%40valtech-commerce%2Ffs\n[librariesio-url]: https://libraries.io/npm/@valtech-commerce%2Ffs\n[tests-url]: https://github.com/valtech-commerce/fs/actions/workflows/tests.yaml?query=branch%3Amain\n[license-url]: https://opensource.org/licenses/MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaltech-commerce%2Ffs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaltech-commerce%2Ffs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaltech-commerce%2Ffs/lists"}