UNPKG

eslint-plugin-beautiful-sort

Version:
46 lines 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sortImportsRule = void 0; const sort_imports_utils_1 = require("./sort-imports.utils"); const type_enum_1 = require("./type.enum"); exports.sortImportsRule = { meta: { type: 'layout', fixable: 'code', schema: [ { type: 'object', properties: { special: { type: 'array', items: { type: 'string', }, }, order: { type: 'array', items: { enum: [type_enum_1.Type.special, type_enum_1.Type.namespace, type_enum_1.Type.default, type_enum_1.Type.defaultObj, type_enum_1.Type.obj, type_enum_1.Type.none], }, }, }, additionalProperties: false, }, ], }, create: (context) => { const { special: stringSpecial = ['react'], order = [type_enum_1.Type.special, type_enum_1.Type.namespace, type_enum_1.Type.default, type_enum_1.Type.defaultObj, type_enum_1.Type.obj, type_enum_1.Type.none], } = context.options[0] ?? {}; const special = (0, sort_imports_utils_1.parseStringSpecial)(stringSpecial); return { Program: (program) => { const imports = (0, sort_imports_utils_1.getImports)(program); if ((0, sort_imports_utils_1.isEmpty)(imports)) return; const sortTable = (0, sort_imports_utils_1.createSortTable)(order); const sortedImports = (0, sort_imports_utils_1.getSortedImports)(imports, { special, sortTable }); (0, sort_imports_utils_1.reportErrors)(context, program, imports, sortedImports); }, }; }, }; //# sourceMappingURL=sort-imports.rule.js.map