in rules/module-dependency-order.js [102:170]
function checkGrouped(deps) {
var lastCorrect;
var group = 'standard';
deps.elements.forEach(function loop(node) {
if (!checkLiteral(node)) {
return;
}
var value = node.value || node.name;
if (lastCorrect === undefined) {
lastCorrect = value;
if (isCustomModule(value)) {
group = 'custom';
} else if (standard.indexOf(value) === -1) {
group = 'third party';
}
return;
}
if (group === 'standard') {
if (isStandardModule(value)) {
if (lastCorrect.localeCompare(value) > 0) {
context.report(node, '{{current}} should be sorted before {{last}}', {
current: value,
last: lastCorrect
});
} else {
lastCorrect = value;
}
} else {
if (isCustomModule(value)) {
group = 'custom';
} else {
group = 'third party';
}
lastCorrect = value;
}
}
if (group === 'third party') {
if (isStandardModule(value)) {
context.report(node, '{{current}} is a standard module and should be sorted before {{last}}', {
current: value,
last: lastCorrect
});
} else if (isCustomModule(value)) {
group = 'custom';
lastCorrect = value;
} else if (lastCorrect.localeCompare(value) > 0) {
context.report(node, '{{current}} should be sorted before {{last}}', {
current: value,
last: lastCorrect
});
} else {
lastCorrect = value;
}
}
if (group === 'custom') {
if (isStandardModule(value)) {
context.report(node, '{{current}} is a standard module and should be sorted before {{last}}', {
current: value,
last: lastCorrect
});
} else if (!isCustomModule(value)) {
context.report(node, '{{current}} is a third party module and should be sorted before {{last}}', {
current: value,
last: lastCorrect
});
}
}
});
}