UNPKG

import-sort-style-capital

Version:

Capital import-sort style

67 lines (65 loc) 1.88 kB
function index (styleApi) { var and = styleApi.and, hasMember = styleApi.hasMember, isAbsoluteModule = styleApi.isAbsoluteModule, always = styleApi.always, moduleName = styleApi.moduleName, name = styleApi.name, naturally = styleApi.naturally, not = styleApi.not, startsWith = styleApi.startsWith, startsWithUpperCase = styleApi.startsWithUpperCase; var isReact = moduleName(startsWith('react')); var moduleStartsWithAt = moduleName(startsWith('@')); var moduleStartsWithUpperCase = and(moduleName(startsWithUpperCase), not(moduleStartsWithAt)); var isExternalModule = and(isAbsoluteModule, not(moduleStartsWithUpperCase)); var isLocalAbsoluteModule = and(isAbsoluteModule, moduleStartsWithUpperCase); return [ /* node modules */ { // React.js comes first match: and(isExternalModule, isReact), sort: moduleName(naturally), sortNamedMembers: name(naturally) }, { match: and(isExternalModule, hasMember), sort: moduleName(naturally), sortNamedMembers: name(naturally) }, // --- { separator: true }, // local imports // import _ from "Foo" { match: and(isLocalAbsoluteModule, hasMember), sort: moduleName(naturally), sortNamedMembers: name(naturally) }, // --- { separator: true }, // import _ from "./foo" { match: and(hasMember), sort: moduleName(naturally), sortNamedMembers: name(naturally) }, // --- { separator: true }, // imports from node_modules // import "foo" { match: isExternalModule, sort: moduleName(naturally) }, // local imports // import "Foo" { match: isLocalAbsoluteModule, sort: moduleName(naturally) }, // import "./foo" { match: always, sort: moduleName(naturally) }]; } export default index; //# sourceMappingURL=import-sort-style-capital.esm.js.map