blob: 40590d7e0b6f64dd8da83e76e3d2c03f6d521b40 [file] [log] [blame]
Mathias Bynens79e2cf02020-05-29 16:46:17 +02001'use strict';
2
3const path = require('path');
Tim van der Lippe4cb09742022-01-07 14:25:03 +01004const { mkdir } = require('fs').promises;
Mathias Bynens79e2cf02020-05-29 16:46:17 +02005const stripAnsi = require('strip-ansi');
6const writeFileAtomic = require('write-file-atomic');
7
8/**
9 * @param {string} content
10 * @param {string} filePath
Tim van der Lippeefb716a2020-12-01 12:54:04 +000011 * @returns {Promise<void>}
Mathias Bynens79e2cf02020-05-29 16:46:17 +020012 */
13module.exports = (content, filePath) =>
Tim van der Lippe4cb09742022-01-07 14:25:03 +010014 mkdir(path.dirname(filePath), { recursive: true }).then(() =>
15 writeFileAtomic(path.normalize(filePath), stripAnsi(content)),
16 );