@trivago/prettier-plugin-sort-imports
Advanced tools
Comparing version 0.0.1 to 0.1.0
@@ -23,14 +23,28 @@ "use strict"; | ||
}, | ||
Program: function (path) { | ||
importNodes = utils_1.getAllImportNodes(path); | ||
var localImports = utils_1.getSortedNodesByOrder(importNodes, importOrder); | ||
var thirdPartyImports = utils_1.getSortedNodesNotInTheOrder(importNodes, importOrder); | ||
var finalNodes = thirdPartyImports.concat(localImports); | ||
// @ts-ignore | ||
path.set('body', finalNodes); | ||
ImportDeclaration: function (path) { | ||
importNodes.push(path.node); | ||
}, | ||
}); | ||
var localImports = utils_1.getSortedNodesByImportOrder(importNodes, importOrder); | ||
var thirdPartyImports = utils_1.getSortedNodesNotInTheImportOrder(importNodes, importOrder); | ||
var newAst = types_1.file({ | ||
type: 'Program', | ||
body: thirdPartyImports.concat(localImports), | ||
directives: [], | ||
sourceType: 'module', | ||
interpreter: null, | ||
sourceFile: '', | ||
leadingComments: [], | ||
innerComments: [], | ||
trailingComments: [], | ||
start: 0, | ||
end: 0, | ||
loc: { | ||
start: { line: 0, column: 0 }, | ||
end: { line: 0, column: 0 }, | ||
}, | ||
}); | ||
var importsStart = importNodes[0] | ||
? importNodes[0].start !== null | ||
? importNodes[0].start || 0 | ||
? importNodes[0].start | ||
: 0 | ||
@@ -40,3 +54,3 @@ : 0; | ||
var initialCodeBlock = modifiedCode.substring(0, importsStart); | ||
var middleCodeBlock = generator_1.default(ast).code; | ||
var middleCodeBlock = generator_1.default(newAst).code; | ||
var endCodeBlock = modifiedCode.substring(importsStart); | ||
@@ -43,0 +57,0 @@ return "" + initialCodeBlock + middleCodeBlock + endCodeBlock; |
@@ -6,4 +6,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.removeImportsFromOriginalCode = exports.getSortedNodesNotInTheOrder = exports.getSortedNodesByOrder = exports.getAllImportNodes = void 0; | ||
var types_1 = require("@babel/types"); | ||
exports.removeImportsFromOriginalCode = exports.getSortedNodesNotInTheImportOrder = exports.getSortedNodesByImportOrder = void 0; | ||
// we do not have types for javascript-natural-sort | ||
@@ -15,9 +14,3 @@ //@ts-ignore | ||
}; | ||
exports.getAllImportNodes = function (path) { | ||
return path | ||
.get('body') | ||
.filter(function (node) { return types_1.isImportDeclaration(node.node); }) | ||
.map(function (node) { return node.node; }); | ||
}; | ||
exports.getSortedNodesByOrder = function (nodes, order) { | ||
exports.getSortedNodesByImportOrder = function (nodes, order) { | ||
return order.reduce(function (res, val) { | ||
@@ -29,3 +22,3 @@ var x = nodes.filter(function (node) { return node.source.value.startsWith(val); }); | ||
}; | ||
exports.getSortedNodesNotInTheOrder = function (nodes, order) { | ||
exports.getSortedNodesNotInTheImportOrder = function (nodes, order) { | ||
var x = nodes.filter(function (node) { return !isSimilarTextExistInArray(order, node.source.value); }); | ||
@@ -32,0 +25,0 @@ x.sort(function (a, b) { return javascript_natural_sort_1.default(a.source.value, b.source.value); }); |
{ | ||
"name": "@trivago/prettier-plugin-sort-imports", | ||
"version": "0.0.1", | ||
"version": "0.1.0", | ||
"description": "A prettier plugins to sort imports in provided order", | ||
@@ -13,3 +13,10 @@ "main": "lib/src/index.js", | ||
}, | ||
"keywords": ["prettier","plugin","sort","import","typescript","javascript"], | ||
"keywords": [ | ||
"prettier", | ||
"plugin", | ||
"sort", | ||
"import", | ||
"typescript", | ||
"javascript" | ||
], | ||
"author": { | ||
@@ -16,0 +23,0 @@ "name": "Ayush Sharma", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
19637
125