UNPKG

@serverless-rewrite/serverless

Version:

Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more

33 lines (25 loc) 880 B
'use strict'; const fsp = require('fs').promises; const fse = require('fs-extra'); const path = require('path'); const jc = require('json-cycle'); const yaml = require('js-yaml'); async function writeFile(filePath, conts, cycles) { let contents = conts || ''; return fse.mkdirs(path.dirname(filePath)).then(() => { 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 fsp.writeFile(filePath, contents); }); } module.exports = writeFile;