import-sort-style-module
Version:
An import-sort style that groups and sorts by module
37 lines (36 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function default_1(styleApi) {
const { alias, and, dotSegmentCount, hasNoMember, isAbsoluteModule, isNodeModule, isRelativeModule, moduleName, naturally, unicode, } = styleApi;
return [
// import "foo"
{ match: and(hasNoMember, isAbsoluteModule) },
{ separator: true },
// import "./foo"
{ match: and(hasNoMember, isRelativeModule) },
{ separator: true },
// import … from "fs";
{
match: isNodeModule,
sort: moduleName(naturally),
sortNamedMembers: alias(unicode),
},
{ separator: true },
// import … from "foo";
{
match: isAbsoluteModule,
sort: moduleName(naturally),
sortNamedMembers: alias(unicode),
},
{ separator: true },
// import … from "./foo";
// import … from "../foo";
{
match: isRelativeModule,
sort: [dotSegmentCount, moduleName(naturally)],
sortNamedMembers: alias(unicode),
},
{ separator: true },
];
}
exports.default = default_1;