You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
476 B
18 lines
476 B
|
2 years ago
|
'use strict';
|
||
|
|
|
||
|
|
const path = require('path');
|
||
|
|
const { mkdir } = require('fs').promises;
|
||
|
|
const stripAnsi = require('strip-ansi');
|
||
|
|
const writeFileAtomic = require('write-file-atomic');
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} content
|
||
|
|
* @param {string} filePath
|
||
|
|
* @returns {Promise<void>}
|
||
|
|
*/
|
||
|
|
module.exports = async function writeOutputFile(content, filePath) {
|
||
|
|
await mkdir(path.dirname(filePath), { recursive: true });
|
||
|
|
|
||
|
|
await writeFileAtomic(path.normalize(filePath), stripAnsi(content));
|
||
|
|
};
|