eslint-plugin-import-sorting
Version:
ESLint plugin to group and sort imports by module, à la Python isort
21 lines (20 loc) • 666 B
JavaScript
import { compare } from "./compare.js";
function sortNodes(nodes, options, extraOptions) {
let nonIgnoredNodes = [];
let ignoredNodeIndices = [];
for (let [index, sortingNode] of nodes.entries()) {
if (sortingNode.isEslintDisabled && (extraOptions == null ? void 0 : extraOptions.ignoreEslintDisabledNodes)) {
ignoredNodeIndices.push(index);
} else {
nonIgnoredNodes.push(sortingNode);
}
}
let sortedNodes = [...nonIgnoredNodes].sort((a, b) => compare(a, b, options));
for (let ignoredIndex of ignoredNodeIndices) {
sortedNodes.splice(ignoredIndex, 0, nodes[ignoredIndex]);
}
return sortedNodes;
}
export {
sortNodes
};