eslint-plugin-turmag-special-rules 1.0.20 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -21,6 +21,7 @@ module.exports = {
|
|
|
21
21
|
if (node.specifiers[0].type === 'ImportDefaultSpecifier') return;
|
|
22
22
|
const minProperties = context.options[0].minProperties;
|
|
23
23
|
|
|
24
|
+
const isTypedNode = node.importKind === 'type';
|
|
24
25
|
let areSmallAttributesInColumn = false;
|
|
25
26
|
let areLinesRepeated = false;
|
|
26
27
|
if (node.specifiers.length < minProperties) {
|
|
@@ -39,10 +40,15 @@ module.exports = {
|
|
|
39
40
|
messageId: 'column',
|
|
40
41
|
fix: fixer => {
|
|
41
42
|
const specifiersArr = [];
|
|
42
|
-
node.specifiers.forEach(specifier =>
|
|
43
|
+
node.specifiers.forEach(specifier => {
|
|
44
|
+
const localName = specifier.local.name;
|
|
45
|
+
|
|
46
|
+
const name = specifier.importKind === 'type' ? `type ${localName}` : localName;
|
|
47
|
+
specifiersArr.push(name);
|
|
48
|
+
});
|
|
43
49
|
|
|
44
50
|
const replaceShiftSign = '\n ';
|
|
45
|
-
return fixer.replaceText(node, `import {${replaceShiftSign}${specifiersArr.join(`,${replaceShiftSign}`)},\n} from '${node.source.value}';`);
|
|
51
|
+
return fixer.replaceText(node, `import ${isTypedNode ? 'type ' : ''}{${replaceShiftSign}${specifiersArr.join(`,${replaceShiftSign}`)},\n} from '${node.source.value}';`);
|
|
46
52
|
},
|
|
47
53
|
});
|
|
48
54
|
}
|
|
@@ -52,10 +58,15 @@ module.exports = {
|
|
|
52
58
|
messageId: 'line',
|
|
53
59
|
fix: fixer => {
|
|
54
60
|
const specifiersArr = [];
|
|
55
|
-
node.specifiers.forEach(specifier =>
|
|
61
|
+
node.specifiers.forEach(specifier => {
|
|
62
|
+
const localName = specifier.local.name;
|
|
63
|
+
|
|
64
|
+
const name = specifier.importKind === 'type' ? `type ${localName}` : localName;
|
|
65
|
+
specifiersArr.push(name);
|
|
66
|
+
});
|
|
56
67
|
|
|
57
68
|
const replaceShiftSign = ' ';
|
|
58
|
-
return fixer.replaceText(node, `import {${replaceShiftSign}${specifiersArr.join(`,${replaceShiftSign}`)} } from '${node.source.value}';`);
|
|
69
|
+
return fixer.replaceText(node, `import ${isTypedNode ? 'type ' : ''}{${replaceShiftSign}${specifiersArr.join(`,${replaceShiftSign}`)} } from '${node.source.value}';`);
|
|
59
70
|
},
|
|
60
71
|
});
|
|
61
72
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DEPRECATED!
|
|
3
|
+
* It's better to use rule sort-imports with custom groups from plugin eslint-plugin-perfectionist
|
|
4
|
+
*/
|
|
5
|
+
|
|
1
6
|
const entitiesOrder = ['external', 'vue', 'component', 'composable', 'store', 'mixin', 'type', 'constant', 'method', 'api'];
|
|
2
7
|
const determineEntity = (value, specifiers) => {
|
|
3
8
|
let entity = 'external';
|