|
2 | 2 | /* eslint-disable global-require, import/no-dynamic-require */ |
3 | 3 |
|
4 | 4 | import { visitors } from 'babel-traverse'; |
| 5 | +// import generate from 'babel-generator'; |
| 6 | +// console.log(generate(node).code); |
5 | 7 | import isAnnotatedForRemoval from './isAnnotatedForRemoval'; |
6 | 8 | import isStatelessComponent from './isStatelessComponent'; |
7 | 9 | import remove from './remove'; |
@@ -138,27 +140,27 @@ export default function ({ template, types }) { |
138 | 140 | return; |
139 | 141 | } |
140 | 142 |
|
| 143 | + const forceRemoval = isAnnotatedForRemoval(path.node.left); |
| 144 | + |
| 145 | + if (forceRemoval) { |
| 146 | + remove(path, globalOptions, { type: 'assign' }); |
| 147 | + } |
| 148 | + |
141 | 149 | const className = node.left.object.name; |
142 | 150 | const binding = scope.getBinding(className); |
143 | 151 |
|
144 | 152 | if (!binding) { |
145 | 153 | return; |
146 | 154 | } |
147 | 155 |
|
148 | | - const forceRemoval = isAnnotatedForRemoval(path.node.left); |
149 | | - |
150 | 156 | if (binding.path.isClassDeclaration()) { |
151 | 157 | const superClass = binding.path.get('superClass'); |
152 | 158 |
|
153 | | - if (isReactClass(superClass, scope) || forceRemoval) { |
154 | | - remove(path, globalOptions, { |
155 | | - type: 'class assign', |
156 | | - }); |
| 159 | + if (isReactClass(superClass, scope)) { |
| 160 | + remove(path, globalOptions, { type: 'assign' }); |
157 | 161 | } |
158 | | - } else if (isStatelessComponent(binding.path) || forceRemoval) { |
159 | | - remove(path, globalOptions, { |
160 | | - type: 'stateless', |
161 | | - }); |
| 162 | + } else if (isStatelessComponent(binding.path)) { |
| 163 | + remove(path, globalOptions, { type: 'assign' }); |
162 | 164 | } |
163 | 165 | }, |
164 | 166 | }); |
|
0 commit comments