oliverlorenz/repo-baseline-ruleset

View on GitHub
src/rulesetProvider.js

Summary

Maintainability
A
0 mins
Test Coverage
const yaml = require('js-yaml');
const fs   = require('fs');
const path = require('path');

function ruleProvider(moduleBasePath = '..', config) {
    function getRulesFromPackageJson() {
        try {
            const packageJson = require(path.join(moduleBasePath, 'package.json'));
            return packageJson['repo-baseline']
        } catch (err) { }
    }

    function getRulesFromYaml() {
        try {
            return yaml.safeLoad(fs.readFileSync(path.join(moduleBasePath, 'ruleset.yml'), 'utf8'));
        } catch (e) { }
    }

    return config || getRulesFromPackageJson() || getRulesFromYaml() || [];
}

module.exports = ruleProvider;