Files
cypress/scripts/decaff/empty-catch.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
739 B
JavaScript

module.exports = (fileInfo, api) => {
const j = api.jscodeshift
const source = j(fileInfo.source)
.find(j.TryStatement)
.replaceWith((nodePath) => {
const { node } = nodePath
// Add trailing eslint-disable-line for empty catch block
if (node.handler && node.handler.body.body.length === 0) {
node.handler.body.comments = [
{
type: 'Line',
value: ' eslint-disable-line no-empty',
leading: false,
trailing: true,
},
]
}
return node
})
.toSource()
// Generated source above creates {}// eslint-disable-line block.
// So, add a space with replace
return source.replace(/\{\}\/\/ eslint-disable-line/g, '{} // eslint-disable-line')
}