A collection of codemods that allow you to transform your JavaScript code from ES5 to ES6 using jscodeshift.
npm install -g jscodeshift
npm install 5to6-codemod
jscodeshift -t node_modules/5to6-codemod/transforms/[transform].js [files]
git diff
. Keep what you want, throw it out if you don't. Magic!When executing codemods, you can configure options like so:
jscodeshift -t node_modules/5to6-codemod/transforms/[transform].js [files] --key=value
Our transforms will automatically distinguish and pass through Recast config keys via jscodeshift. Official documentation for Recast's configuration can be found here. We currently support the following Recast keys:
esprima
inputSourceMap
lineTerminator
quote
range
reuseWhitespace
sourceFileName
sourceMapName
sourceRoot
tabWidth
tolerant
trailingComma
useTabs
wrapColumn
amd
- Transforms AMD style modules to ES6 import
/export
cjs
- Transforms CommonJS style require()
calls to ES6 import
statements
hoist
: Enables hoisting require statements to the topno-strict
- Removes "use strict" statementsexports
- Move CommonJS style module.exports
statements to ES6 export
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 all var
calls to use let
simple-arrow
- Replace all function expressions with a body of a sole return statement into arrow functionsimport * as varName
.simple-arrow
loses comments in the function expression body