weck/src/index.js

46 lines
1.2 KiB
JavaScript
Executable File

import getRules from './rules/index.js'
import { getFilenames } from './helpers.js'
const checkDirectory = async (directory) => {
const filenames = await getFilenames(directory);
const rules = getRules(filenames, { directory: directory });
let issues = []
for (const rule of rules) {
const issue = rule.check()
if (issue) {
issues = [...issues, ...[issue]]
}
}
createReport(issues)
}
const createReport = (issues) => {
if (!!process.argv.find(p => p == '--md')) {
for (const rule of issues) {
if (rule.issueCount > 0) {
console.log()
console.log(`### ${rule.issueTitle}`)
console.log()
console.log(`${rule.issueDescription}`)
console.log()
for (const issue of rule.issues) {
console.log(`- element \`${issue.title}\` on \`${issue.url}\` file.`)
}
console.log()
let referenceLinks = ''
for (const reference of rule.issueReferences) {
referenceLinks += `[${reference}](${reference}), `
}
console.log(`References : ${referenceLinks}`)
}
}
} else {
console.log(JSON.stringify(issues))
}
}
const directory = process.argv[2]
checkDirectory(directory)