are-you-es5
A package to help you find out which of your node_modules
aren't written in ES5 so you can add them to your Webpack/Rollup/Parcel transpilation steps. This is currently limited to checking the entrypoint scripts only, which might actually be enough of a check to determine if a package should be transpiled or not.
Installing
You can install the package globally with
npm install -g are-you-es5
or if you'd rather just run it immediately you can use npx:
npx are-you-es5 check /path/to/some/repo
Aliasing
If you've installed it globally and find it tiresome to type are-you-es5
a lot, you can alias it to es5
:
alias es5="are-you-es5"
Upgrading from 1.1
If you were on version 1.1, the -a
or -all
option used to be for logging all messages, this has now changed to -v
or --verbose
and -a
and -all
are now used as a flag to check all node modules.
Usage
Usage: are-you-es5 check [options] <path>
Checks if all node_modules (direct dependencies only) at <path> are ES5
Options:
-a, --all Check all node_modules instead of just direct dependencies
-v, --verbose Log all messages (including modules that are ES5)
-r, --regex Get babel-loader exclude regex to ignore all node_modules except non-ES5 ones
-h, --help output usage information
Example
are-you-es5 check /path/to/some/repo -r
❌ @babel/plugin-transform-block-scoping is not ES5
❌ @babel/plugin-transform-object-assign is not ES5
❌ @babel/plugin-transform-parameters is not ES5
❌ @babel/preset-react is not ES5
❌ @babel/register is not ES5
❌ @rails/webpacker is not ES5
❌ babel-plugin-lodash is not ES5
❌ lodash-webpack-plugin is not ES5
Babel-loader exclude regex:
(You should manually remove Webpack and Babel plugins from this regex)
/node_modules/(?![@babel/plugin-transform-block-scoping|@babel/plugin-transform-object-assign|@babel/plugin-transform-parameters|@babel/preset-react|@babel/register|@rails/webpacker|babel-plugin-lodash|lodash-webpack-plugin])/
TODO
- #2 - Also check against all scripts required by entrypoint script, this should work for all JS module types.