Files
cypress/scripts/decaff/arrow-comment.js
Kukhyeon Heo 994ab326a0 Decaff helper jscodemods. (#5732)
* Added a file that removes comments that start with #.

* Added .eslintrc to silence ts errors in codemods.

* Convert switch (false) to if-else.

* Add disable-eslint no-empty by default after empty catch.

* Reserve comments when converting switch-case.

* Added new codemods to bulk-decaffeinate.

* Preserve comments.

* Ignored lint rules for test fixtures.

* Move comments between arrow and block to the top.

* Merged tests into one file.

* Turned off no-undef for test fixtures.

* No-cond-assign

* Added jscodemods to decaff config.

* Fixed typo.

* Make CI test codemods

* Added test-no-return.

* Revert "Added test-no-return."

This reverts commit d610829e957e38a6d56c19ba2219681e3f6c65ec.

* fix arrow-comment


Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <github@chary.us>
2019-12-06 17:43:20 -05:00

29 lines
638 B
JavaScript

module.exports = (fileInfo, api) => {
const j = api.jscodeshift
return j(fileInfo.source)
.find(j.VariableDeclaration, {
declarations: [{
type: 'VariableDeclarator',
init: {
type: 'ArrowFunctionExpression',
body: {
type: 'BlockStatement',
},
},
}],
})
.replaceWith((nodePath) => {
const { node } = nodePath
const comments = node.declarations[0].init.body.comments
if (comments && comments.length > 0) {
node.comments = [...node.comments, ...comments]
node.declarations[0].init.body.comments = null
}
return node
})
.toSource()
}