A collection of codemods that allow you to transform your js code from ES5 to ES6.
npm install 5to6-codemod



A collection of codemods that allow you to transform your JavaScript code from ES5 to ES6 using jscodeshift.
1. npm install -g jscodeshift
2. npm install 5to6-codemod
3. jscodeshift -t node_modules/5to6-codemod/transforms/[transform].js [files]
4. Review changes via 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
- This transformation accepts the following option flags:
- hoist: Enables hoisting require statements to the top
- no-strict - Removes "use strict" statements
- exports - Move CommonJS style module.exports statements to ES6 export statements
- named-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 functions
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