Comment-as-command for one-off codemod with ESLint.
eslint-plugin-command-half.movESLint Plugin Command is a special kind of ESLint plugin, that by default, does nothing. Instead of checking for code quality, it serves as a micro-codemod tool triggers by special comments on-demand, resuse the infrastructure of ESLint.
For example, one of the built-in commands, /// to-function
allows you to convert a single arrow function expression to a function declaration.
/// to-function const foo = async <T>(msg: T): void => { console.log(msg) }
Will be transformed to this when you hit save with your editor or run eslint . --fix
. After executing the command, the comment will also be removed along with the transformation:
async function foo<T>(msg: T): void { console.log(msg) }
One more example that /// to-promise-all
converts a sequence of await
expressions to await Promise.all()
:
/// to-promise-all const foo = await bar().then const { get } = await import('lodash-es')
Will be transformed to:
const [ foo, { get }, ] = await Promise.all([ bar(), import('lodash-es'), ] as const)
Refer to the documentation for more details.
MIT License © 2024-PRESENT Anthony Fu
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4