eslint-plugin-perfectionist
Version:
ESLint plugin for sorting various data such as objects, imports, types, enums, JSX props, etc.
25 lines (24 loc) • 829 B
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' })
const isSideEffectOnlyGroup = require('./is-side-effect-only-group.js')
let validateSideEffectsConfiguration = ({ sortSideEffects, groups }) => {
if (sortSideEffects) {
return
}
let hasInvalidGroup = groups
.filter(group => Array.isArray(group))
.some(
nestedGroup =>
!isSideEffectOnlyGroup.isSideEffectOnlyGroup(nestedGroup) &&
nestedGroup.some(
subGroup =>
subGroup === 'side-effect' || subGroup === 'side-effect-style',
),
)
if (hasInvalidGroup) {
throw new Error(
"Side effect groups cannot be nested with non side effect groups when 'sortSideEffects' is 'false'.",
)
}
}
exports.validateSideEffectsConfiguration = validateSideEffectsConfiguration