folderslint
Version:
Project directory structure linter
27 lines (22 loc) • 650 B
JavaScript
const { readFileSync } = require('fs')
const CONFIG_PATH = '.folderslintrc'
const parseConfig = () => {
try {
const config = readFileSync(CONFIG_PATH, 'utf8')
return validateParsedConfig(JSON.parse(config))
} catch (err) {
console.error(err)
process.exit(1)
}
}
const validateParsedConfig = (config) => {
config.rules.forEach((rule) => {
if (rule.includes('**') && rule.substr(rule.length - 2, 2) !== '**') {
console.error(`Invalid rule: ${rule}`)
console.error('A rule can have ** only at the end')
process.exit(1)
}
})
return config
}
module.exports = { parseConfig, validateParsedConfig }