conventional-changelog
Version:
Generate a changelog from git metadata.
25 lines • 2.12 kB
JavaScript
import { resolve, extname } from 'path';
import { pathToFileURL } from 'url';
import { readFile, stat } from 'fs/promises';
function relativeResolve(filePath) {
return pathToFileURL(resolve(process.cwd(), filePath));
}
export async function loadDataFile(filePath) {
const resolvedFilePath = relativeResolve(filePath);
const ext = extname(resolvedFilePath.toString());
if (ext === '.json') {
return JSON.parse(await readFile(resolvedFilePath, 'utf8'));
}
// @ts-expect-error Dynamic import actually works with file URLs
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
return (await import(resolvedFilePath)).default;
}
export async function isFileExists(filePath) {
try {
return (await stat(filePath)).isFile();
}
catch {
return false;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDbkMsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0wsTUFBTSxhQUFhLENBQUE7QUFFcEIsU0FBUyxlQUFlLENBQUMsUUFBZ0I7SUFDdkMsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0FBQ3hELENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVksQ0FBQyxRQUFnQjtJQUNqRCxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNsRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUVoRCxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQVcsQ0FBQTtJQUN2RSxDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLHNFQUFzRTtJQUN0RSxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQWlCLENBQUE7QUFDM0QsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLFFBQWdCO0lBQ2pELElBQUksQ0FBQztRQUNILE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3hDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7QUFDSCxDQUFDIn0=