UNPKG

@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
"use strict"; 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; }