= 02/03/2020 == proyecto: firebase + crud * [[https://angular-templates.io/tutorials/about/firebase-authentication-with-angular]] * [[https://angular-templates.io/tutorials/about/angular-crud-with-firebase]] === setup - borrar directorio **e2e** - eliminar referencias a **e2e** en **package.json** y **angular.json** - actualizar con ''npm i'' - instalar un formateador de código: ''npm i --save-dev prettier'' * [[https://palantir.github.io/tslint/|tslint]] se está deprecando * **--save-dev** solo en desarrollo === prettier * introducción: [[https://medium.com/@simonhoyos/manten-limpio-tu-c%C3%B3digo-javascript-usando-linters-editorconfig-y-prettier-25dadc638b99]] * tutorial: [[https://medium.com/@leonardomendoza/angular-7-prettier-99ffbec05363]] * crear **.prettierrc** en el raíz del proyecto * añadir configuración: { "printWidth": 100, "singleQuote": true } * ''npm install --save-dev tslint-config-prettier'': crea una serie de reglas en TSLINT para que convivan los dos sistemas * modificar **tslint.json** * añadiendo ** "tslint-config-prettier"** en la sección **extends** (convertir en array) * añadir otros paquetes para hacer pre-commit: * ''npm install pretty-quick husky %%--%%dev'' * añadir en **package.json** la siguiente configuración:"husky": { "hooks": { "pre-commit": "run-s format:check lint" } } * reglas de .prettierignore: [[https://palantir.github.io/tslint/usage/rule-flags/]] * ''npm run lint'' === firebase * usar firebase para autenticación * firebase -> auth -> método -> google * ''npm install firebase-tools -g'' * firebase-cli * ''-g'': global * recoger el objeto de API de firebase * guardar en **src/environments/environment.ts**, dentro de **environment** * la mejor ubicación si trabajamos con entornos que cada cual puede tener sus propias configuraciones * ''firebase login'' * ''firebase init'' * opción **deploy** * hacer previamente ''npm run build'' ≡ ''ng build'' para saber cual es nuestro "public" * no sobreescribir **index.html** * ''firebase deploy'': sube nuestro proyecto al hosting de Firebase según la carpeta public que le hemos especificado * ''ng build %%--%%prod'': comprime la app según lo especificado en **angular.json** en la sección projects === firebase authentication * tutorial: [[https://angular-templates.io/tutorials/about/firebase-authentication-with-angular]] * librerías para trabajar con firebase: ''npm install @angular/fire firebase --save'' * guardianes de ruta: comprueba si estamos logeados para acceder a ciertas rutas