// NOTICE: This file is generated by Rollup. To modify it, // please instead edit the ESM counterpart and rebuild with Rollup (npm run build). 'use strict'; const node_path = require('node:path'); const node_fs = require('node:fs'); /** * Return the resolved file path, based on whether the provided parameter is * a directory or looks like a directory (ends in `path.sep`), in which case the file * name will be `location/defaultFileName`. * * If location points to a file or looks like a file, then it will just use that file. * * @param {string} location - The name of file or directory to be used * @param {string} cwd - Current working directory. Used for tests * @param {string} defaultFileName - Default filename to use when location is a directory * @returns {string} Resolved path to the file */ function resolveFilePath(location, cwd, defaultFileName) { /* * Make sure path separators are normalized for environment/os. * Also, keep trailing path separator if present. */ const normalizedLocation = node_path.normalize(location); const resolvedLocation = node_path.resolve(cwd, normalizedLocation); // If the location path ends with a separator, we assume is a directory. const looksLikeADirectory = location.endsWith(node_path.sep); if ( looksLikeADirectory || node_fs.lstatSync(resolvedLocation, { throwIfNoEntry: false })?.isDirectory() ) { // Return path to provided directory with the specified file name. return node_path.join(resolvedLocation, defaultFileName); } // Return normalized path to file. return resolvedLocation; } module.exports = resolveFilePath;