next
Version:
The React Framework
36 lines (35 loc) • 1.42 kB
JavaScript
import { promises as fs } from 'fs';
import path from 'path';
import * as Log from '../../build/output/log';
import isError from '../../lib/is-error';
/**
* Check if a given file path is a directory or not.
* Returns `true` if the path is a directory.
*/ function isDirectory(/** The path to a file to check. */ filePath) {
return fs.stat(filePath).then((stat)=>stat.isDirectory()).catch((error)=>{
if (isError(error) && (error.code === 'ENOENT' || error.code === 'ENOTDIR')) {
return false;
}
throw error;
});
}
/**
* Create a file with eslint output data
*/ export async function writeOutputFile(/** The name file that needs to be created */ outputFile, /** The data that needs to be inserted into the file */ outputData) {
const filePath = path.resolve(process.cwd(), outputFile);
if (await isDirectory(filePath)) {
Log.error(`Cannot write to output file path, it is a directory: ${filePath}`);
} else {
try {
await fs.mkdir(path.dirname(filePath), {
recursive: true
});
await fs.writeFile(filePath, outputData);
Log.info(`The output file has been created: ${filePath}`);
} catch (err) {
Log.error(`There was a problem writing the output file: ${filePath}`);
console.error(err);
}
}
}
//# sourceMappingURL=writeOutputFile.js.map