@sngn/eslint-plugin-split-and-sort-imports
Version:
Autofixes eslint 'sort-imports' rule and splits multiple imports into multiple lines
57 lines (56 loc) • 1.92 kB
JSON
{
"$defs": {
"group": {
"additionalProperties": false,
"properties": {
"label": {
"description": "Label for the group",
"type": "string"
},
"priority": {
"description": "If two or more groups are a match for a given import, groups with higher priority 'win'. Defaults to 0. Negative numbers disable the group. Some groups cannot be disabled (named, namespace, sideEffect)",
"type": "integer"
},
"rxSource": {
"description": "String representation of a regular expression that selects the imports for this group. Matches against 'source' string of import",
"pattern": "^/.*/[a-z]*$",
"type": "string"
},
"sortWhenNoLocalName": {
"description": "Sort imports in this group as if they had no side effects",
"type": "boolean"
}
},
"type": "object"
}
},
"items": [
{
"additionalProperties": false,
"properties": {
"groupOrder": {
"description": "Specifiese the order in which the group blocks appear. Groups not listed will be appended, sorted by 'name'",
"items": { "type": "string" },
"type": "array"
},
"groups": {
"description": "Defines additional groups imports can belong to. Keys of this object are the group names.",
"patternProperties": { ".*": { "$ref": "#/$defs/group" } },
"type": "object"
},
"separateGroups": {
"description": "Whether to separate group blocks by a newline",
"type": "boolean"
},
"useLabels": {
"description": "Whether to insert a comment containing the groups label at the beginning of the groups block",
"type": "boolean"
}
},
"type": "object"
}
],
"maxItems": 1,
"minItems": 0,
"type": "array"
}