@directus/extensions-sdk
Version:
A toolkit to develop extensions to extend Directus
35 lines (34 loc) • 1.07 kB
JavaScript
import { opendir } from 'node:fs/promises';
import {} from 'ora';
const checkReadMe = {
name: 'readme',
handler: async (spinner, reports) => {
spinner.text = 'Check for readme';
if (!(await hasReadmeFile())) {
spinner.fail();
const message = 'No readme file found';
reports.push({
level: 'error',
message: `${checkReadMe.name}: ${message}`,
});
throw new Error(message);
}
const message = 'Valid readme';
reports.push({
level: 'info',
message: `${checkReadMe.name}: ${message}`,
});
return (spinner.text = message);
},
};
async function hasReadmeFile() {
/** README can have any case and extension */
const README_FILE_REGEX = /readme(\..+)?/i;
const dir = await opendir(process.cwd());
for await (const dirent of dir) {
if (dirent.isFile() && README_FILE_REGEX.test(dirent.name))
return true;
}
return false;
}
export default checkReadMe;