5to6-codemod 中文文档教程
5to6-codemod
codemods 的集合,可让您从 ES5 转换 JavaScript 代码使用 jscodeshift 到 ES6。
Usage
npm install -g jscodeshift
npm install 5to6-codemod
jscodeshift -t node_modules/5to6-codemod/transforms/[transform].js [files]
- Review changes via
git diff
. Keep what you want, throw it out if you don't. Magic!
Option flags
执行codemods时,可以这样配置选项:
jscodeshift -t node_modules/5to6-codemod/transforms/[transform].js [files] --key=value
Recast options
我们的transform会自动区分并通过通过 jscodeshift 重铸配置键。 Recast 配置的官方文档可以在此处找到。 我们目前支持以下 Recast 密钥:
esprima
inputSourceMap
lineTerminator
quote
range
reuseWhitespace
sourceFileName
sourceMapName
sourceRoot
tabWidth
tolerant
trailingComma
useTabs
wrapColumn
Transforms
amd
- Transforms AMD style modules to ES6import
/export
cjs
- Transforms CommonJS stylerequire()
calls to ES6import
statements- This transformation accepts the following option flags:
hoist
: Enables hoisting require statements to the top
- This transformation accepts the following option flags:
no-strict
- Removes "use strict" statementsexports
- Move CommonJS stylemodule.exports
statements to ES6export
statementsnamed-export-generation
- Adds named exports corresponding to default export object keys. Only valid for ES6 modules exporting an object as the default export.let
- Replace allvar
calls to uselet
simple-arrow
- Replace all function expressions with a body of a sole return statement into arrow functions
Known issues
- Can't automagically figure out when you want to use
import * as varName
. - End-of-line comments also missing in many situations
simple-arrow
loses comments in the function expression body
更多