@serverless-guru/prettier-plugin-import-order
Version:
A prettier plugin to sort TS/JS import declarations by provided Regular Expression order
27 lines (26 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sortImportsInSingleGroup = void 0;
var natural_sort_1 = require("../natural-sort");
var sortImportsInSingleGroup = function (importStmnts, options) {
return importStmnts.sort(function (a, b) {
if (options.importOrderNamespaceImportsToGroupTop) {
var diff = namespaceSpecifierSort(a, b);
if (diff !== 0)
return diff;
}
if (a.source.value.startsWith('.') && !b.source.value.startsWith('.')) {
return 1;
}
if (!a.source.value.startsWith('.') && b.source.value.startsWith('.')) {
return -1;
}
return (0, natural_sort_1.naturalSort)(a.source.value, b.source.value);
});
};
exports.sortImportsInSingleGroup = sortImportsInSingleGroup;
function namespaceSpecifierSort(a, b) {
var aFirstSpecifier = a.specifiers.find(function (s) { return s.type === 'ImportNamespaceSpecifier'; }) ? 1 : 0;
var bFirstSpecifier = b.specifiers.find(function (s) { return s.type === 'ImportNamespaceSpecifier'; }) ? 1 : 0;
return bFirstSpecifier - aFirstSpecifier;
}