Skip to content

Commit 64cdb2e

Browse files
authored
feat: implements element-ui remove el-row`s type option (#97)
1 parent 08aa752 commit 64cdb2e

File tree

5 files changed

+53
-0
lines changed

5 files changed

+53
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { runTest } from '../../src/testUtils'
2+
3+
runTest(
4+
'remove-row-type-flex',
5+
'remove-row-type-flex',
6+
'remove-row-type-flex',
7+
'vue',
8+
'vue'
9+
)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<template>
2+
<el-row type='flex'>
3+
<div>el-row</div>
4+
</el-row>
5+
</template>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<template>
2+
<el-row >
3+
<div>el-row</div>
4+
</el-row>
5+
</template>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { Node, VIdentifier } from 'vue-eslint-parser/ast/nodes'
2+
import * as OperationUtil from '../../src/operationUtils'
3+
import type { Operation } from '../../src/operationUtils'
4+
import {
5+
default as wrap,
6+
createTransformAST
7+
} from '../../src/wrapVueTransformation'
8+
9+
export const transformAST = createTransformAST(
10+
nodeFilter,
11+
fix,
12+
'remove-row-type-flex'
13+
)
14+
export default wrap(transformAST)
15+
16+
function nodeFilter(node: Node): boolean {
17+
return (
18+
node.type === 'VAttribute' &&
19+
node.parent?.parent?.type === 'VElement' &&
20+
node.parent.parent.name === 'el-row' &&
21+
node.key?.type === 'VIdentifier' &&
22+
node.key.name === 'type' &&
23+
node.value?.type === 'VLiteral' &&
24+
node.value.value === 'flex'
25+
)
26+
}
27+
28+
function fix(node: VIdentifier): Operation[] {
29+
let fixOperations: Operation[] = []
30+
fixOperations.push(OperationUtil.remove(node))
31+
// @ts-ignore
32+
return fixOperations
33+
}

vue-transformations/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const transformationMap: {
2626
'time-picker-format-attribute': require('./element-ui/time-picker-format-attribute'),
2727
'tooltip-rename-attribute': require('./element-ui/tooltip-rename-attribute'),
2828
'popover-rename-attribute': require('./element-ui/popover-rename-attribute'),
29+
'remove-row-type-flex': require('./element-ui/remove-row-type-flex'),
2930

3031
// manual (must be used at the end of list)
3132
'manual-remove-keycode': require('./manual/manual-remove-keycode')

0 commit comments

Comments
 (0)