A continuación se describen los pasos a seguir para actualizar hasta la versión más reciente de desy-angular.
Modificaciones desde versión 6.0 hasta versión 7.0
Para actualizar desde versiones anteriores será necesario seguir los pasos descritos en el manual de actualización de la versión 5.0: desy-angular v6.0 - Manual de actualización
Al actualizar a la versión 7.0 de desy-angular la integración actual con la librería se verá afectada. Por ello, para actualizar a la versión 7.0.0 sin alterar la funcionalidad, es necesario aplicar las siguientes modificaciones:
Configuración
Utilizar una versión igual o superior a 16.17.1 de node.js
Siguiendo la guía, actualizar Angular a la versión 15 https://update.angular.io/?v=11.0-15.0.
Actualizar los paquetes cdk y material si es necesario.
Actualizar el paquete desy-angular a la versión 7.0.0
npm install desy-angular@7.0.0
Actualizar la versión de desy-html a la versión 7.1.0
npm install desy-html@7.1.0
Actualizar el resto de paquetes (que no tengan que ver con angular ni typescript) a las últimas versiones.
Como TSLint está obsoleto hay que pasar la migración a ESLint usando la guía https://dev.to/phlashdev/angular-migrate-from-tslint-to-eslint-3dgc. En el apartado de instalación se debe contestar de manera afirmativa a las preguntas que te hacen. Para comprobar que todo está correcto y ESLint funciona, se lanza el último comando de la guía.
Instalar la versión 15 del paquete @angular-builders/custom-webpack. Para que esto funcione se debe eliminar el fichero postcss.config.js de la raíz del proyecto y en su lugar añadir un archivo webpack.config.js con los siguientes datos:
module.exports = { module: { rules: [ { test: /\.css$/, use: [ { loader: 'postcss-loader', options: { postcssOptions: { ident: 'postcss', plugins: [ require('postcss-import'), require('tailwindcss/nesting'), require('tailwindcss'), require('autoprefixer'), ], }, } }, ], } ], }, watchOptions: { ignored: /node_modules/, }, };
En el archivo angular.json sustituir los primeros componentes por los segundos:
"@angular-devkit/build-angular:browser" | "@angular-builders/custom-webpack:browser" |
"@angular-devkit/build-angular:dev-server" | "@angular-builders/custom-webpack:dev-server" |
"@angular-devkit/build-angular:karma" | "@angular-builders/custom-webpack:karma" |
Añadir la ruta en el builder "@angular-builders/custom-webpack:browser" "customWebpackConfig": { "path": "webpack.config.js" } |
8. Eliminar los paquetes "headroom.js”, "ngx-headroom", "@types/headroom.js"
9. Instalar el paquete "@ctrl/ngx-headroom"
10. Para que headroom funcione modificar el componente con headroom, eliminando la directiva Ngxheadroom y encapsulando el componente con <ngx-headroom> </ngx-headroom>
11. Dejar el archivo tailwind.config.js de la siguiente manera:
module.exports = { presets: [ require('desy-html/config/tailwind.config.js') ], content: [ './node_modules/desy-angular/**/*.{js,mjs,ts}', './src/**/*.{html,ts,css,js}' ] };