> npm init -f
IE8 ne prend pas en charge ES5 mais sa propre variante de Javascript (JScript) basée sur ES3. La seule façon d'utiliser ES5 ou plus récent sur IE8 est de passer par une couche de compatibilité qui va émuler ES5 : es5-shim. Attention toutefois, voici ce qu'en dit Facebook :
We don't support older browsers that don't support ES5 methods, but you may find that your apps do work in older browsers if polyfills such as es5-shim and es5-sham are included in the page. You're on your own if you choose to take this path.
Babel permet de transformer (transpiler) du code ES2015 en ES5, le rendant ainsi compatible à tous les navigateurs depuis IE9 (inclus).
- Installation
> npm install --save-dev babel-cli babel-preset-es2015
- Fichier de configuration :
.babelrc
- Transpiler (via le script
build
dupackage.json
)
> npm run build script.js
ESLint est un descendant de JSHint et JSLint. Plus modulaire, il permet une plus grande granularité dans les options de linting proposées et peut utiliser un parser custom pour, par exemple, utiliser Babel (et donc pouvoir analyser un code dont par défaut, il ne prend pas encore en charge la syntaxe).
- Installation
> npm install --save-dev eslint babel-eslint
- Fichier de configuration :
.eslintrc
- Analyser (via le script
lint
dupackage.json
)
> npm run lint script.js