On Github davecarter / frontend-hangout
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-devPackage NPM: Frontend Pre-commit Rules Github: 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 --versionInstall 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ónOtras integracionesScaffolding de proyectos con Yeoman
Yeomanby Schibsted Engineers
$ npm install -g @schibstedspain/generator-sui-reactGenerator SUI React@SUIEngineers
Entorno de desarrollo con:
Twitter - @d4vecarterGitHub - davecarterLinkedIn - David García