Need help with are-you-es5?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

obahareth
251 Stars 20 Forks MIT License 206 Commits 15 Opened issues

Description

A package to help you find out which of your node_modules aren't ES5 so you can add them to your Webpack/Rollup/Parcel transpilation steps.

Services available

!
?

Need anything else?

Contributors list

# 84,491
nix
karabin...
macros
alfred
114 commits
# 61,173
JavaScr...
reorder...
HTML
Webpack
11 commits
# 4,423
TypeScr...
polymer
React N...
Webpack
9 commits
# 54,811
Markdow...
TypeScr...
directo...
photosh...
1 commit
# 225,199
leaflet
React
HTML
JavaScr...
1 commit
# 181,295
JavaScr...
Bootstr...
reactjs
combobo...
1 commit

are-you-es5

All Contributors <!-- ALL-CONTRIBUTORS-BADGE:END -->

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"

Usage

Usage: are-you-es5 check [options] 

Checks if all node_modules (including monorepos) at are ES5

Options: -a, --all Check all node_modules instead of just direct dependencies -v, --verbose Log all messages (including modules that are ES5) --no-regex-filtering Stops all filtering on babel-loader exclude regex (does not hide anything) -r, --regex Get babel-loader exclude regex to ignore all node_modules except non-ES5 ones, by default does not show any babel or webpack modules, use with --no-regex-filtering if you want to see everything --silent Do not log messages in the console (except regex if --regex is used) -h, --help output usage information

Usage as a Library

If you would like to use this package as a NodeJS library instead of a CLI dependency, you may use this snippet:

import {
  checkModules,
  buildIncludeRegexp,
  buildExcludeRegexp
} from 'are-you-es5'

const result = checkModules({ path: '', // Automatically find up package.json from cwd checkAllNodeModules: true, ignoreBabelAndWebpackPackages: true })

/** Returns the regexp including all es6 modules */ const es6IncludeRegExp = buildIncludeRegexp(result.es6Modules)

/** Returns the regexp excluding all es6 modules */ const es6ExcludeRegexp = buildExcludeRegexp(result.es6Modules)

Example

are-you-es5 check /path/to/some/repo -r
❌ @babel/plugin-1 is not ES5
❌ @babel/plugin-2 is not ES5

Babel-loader exclude regex:

/node_modules/(?![plugin-1|plugin-2])/

Upgrading

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.

Upgrading to 1.3

1.3 Now by default skips checking anything that has the word

babel
or
webpack
, or if a string ends with
loader
. To restore previous behavior use the
--no-regex-filtering
option.

Upgrading from 2.0 to 2.1

This upgrade only affects you if you were using the package as a library (instead of just a CLI tool),

checkModules
now returns an object that has 3 arrays:
es5Modules
,
es6Modules
, and
ignored
. To preserve previous behavior use
es6Modules
, see the Usage as a Library section.

Credits

  • acorn - All the actual ES5 checking happens through acorn, this package wouldn't exist without it.
  • es-check - This whole package wouldn't have been possible if I hadn't come across es-check and learned from it.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Clément DUNGLER

💻

Paolo Priotto

💻

Yuki Hattori

💻

Renan Bandeira

💻

Yao Zhao

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.