import fse from 'fs-extra' import path from 'path' import jc from 'json-cycle' import yaml from 'js-yaml' function writeFileSync(filePath, conts, cycles) { let contents = conts || '' fse.mkdirsSync(path.dirname(filePath)) if (filePath.indexOf('.json') !== -1 && typeof contents !== 'string') { if (cycles) { contents = jc.stringify(contents, null, 2) } else { contents = JSON.stringify(contents, null, 2) } } const yamlFileExists = filePath.indexOf('.yaml') !== -1 const ymlFileExists = filePath.indexOf('.yml') !== -1 if ((yamlFileExists || ymlFileExists) && typeof contents !== 'string') { contents = yaml.dump(contents) } return fse.writeFileSync(filePath, contents) } export default writeFileSync