@ianvs/prettier-plugin-sort-imports
Version:
A prettier plugins to sort imports in provided RegEx order
27 lines (26 loc) • 924 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getImportNodes = void 0;
const parser_1 = require("@babel/parser");
const traverse_1 = __importDefault(require("@babel/traverse"));
const types_1 = require("@babel/types");
const getImportNodes = (code, options) => {
const importNodes = [];
const ast = (0, parser_1.parse)(code, {
...options,
sourceType: 'module',
});
(0, traverse_1.default)(ast, {
ImportDeclaration(path) {
const tsModuleParent = path.findParent((p) => (0, types_1.isTSModuleDeclaration)(p.node));
if (!tsModuleParent) {
importNodes.push(path.node);
}
},
});
return importNodes;
};
exports.getImportNodes = getImportNodes;