por David García / @d4vecarter
Mejorar la calidad del código en un equipo.
Normalizar el estilo y las buenas prácticas personales.
Conociendo las reglas
Usando plugins de linting
¿Qué es el Linting?No existe una fórmula mágica.
Consensuar reglas entre miembros del equipo.
Airbnb JavaScript Style GuidePrecommit Hook.
Otros tipos: Pre-Push Hook [...]
Más información sobre Git Hooks- Ejemplo práctico:
Crea una carpeta local
$ mkdir my-project
$ cd my-project
$ git init
$ touch .gitignore
$ git remote add origin [...]
Crear archivo .gitignore
$ npm init
// Añadimos Frontend Pre-commit Rules:
$ npm i @schibstedspain/frontend-pre-commit-rules --save-dev
Package NPM: Frontend Pre-commit Rules
// Añadimos dependencias mediante --save-dev:
$ npm i eslint eslint-plugin-react babel-eslint node-sass --save-dev
Comprobamos instalación de Ruby Sass:
$ sass --version
Install Sass
En el package.json añadimos:
// Pre-commit hook:
"pre-commit": [
"lint"
]
// Scripts de linting:
"lint": "npm run lint:eslint && npm run lint:sass",
"lint:eslint": "eslint --ext=.js --ext=.jsx ./src/",
"lint:sass": "scss-lint src/"
Indicamos la carpeta src
src/index.js
src/index.scss
// JavaScript y Sass:
$ npm run lint
// Sólo JavaScript:
$ npm run lint:eslint
// Sólo Sass:
$ npm run lint:sass
SublimeLinter-contrib-eslint
SublimeLinter-contrib-scss-lint - (Ruby Gem)
Más Información sobre la instalaciónScaffolding de proyectos con Yeoman
Yeomanby Schibsted Engineers
$ npm install -g @schibstedspain/generator-sui-react
Generator SUI ReactEntorno de desarrollo con:
Twitter - @d4vecarter
GitHub - davecarter
LinkedIn - David García