in src/test.js [37:67]
constructor(React, ReactDOM, options) {
this.options = options;
this.React = React;
this.ReactDOM = ReactDOM;
if (!this.React && !this.React.createElement) {
throw new Error('Missing parameter: React');
}
const {
plugins = []
} = this.options;
// prepare all rules by including every plugin and saving their rules
// namespaced like plugin/rule
this.rules = plugins
.map((name) => {
try {
// eslint-disable-next-line global-require,import/no-dynamic-require
const mod = require(`react-a11y-plugin-${name}`);
const rules = 'default' in mod ? mod.default.rules : mod.rules;
return Object.keys(rules).reduce((acc, key) => ({
...acc,
[`${name}/${key}`]: rules[key]
}), {});
} catch (err) {
throw new Error(`Could not find react-a11y-plugin-${name}`);
}
})
.reduce((acc, next) => ({ ...acc, ...next }), defRules);
}