Plataforma de última geração

Fazendo upgrade para Angular versão 15

O Sterling Store Engagement foi atualizado para a versão 15 do Angular. Assegure-se de migrar suas extensões para Angular versão 15.

Antes de iniciar

  • Deve-se ter a área de trabalho Angular versão 13 do DTK 23.1.3.2-10.0.2303.2 .
  • Assegure-se de que você esteja na node.js versão 14.19.0.

Sobre esta tarefa

A atividade de migração é um processo de duas etapas Primeiro, é necessário migrar da versão Angular 13 para 14 e, em seguida, migrar da versão 14 para 15.

Procedimento

Execute todos os comandos da pasta <WORKSPACE>/store-frontend-src .
  1. Atualize Angular core e cli para a versão 14 executando o comando a seguir:
    ng update @angular/core@14 @angular/cli@14 --allow-dirty --force
  2. Inclua a dependência, @messageformat/core com a versão 3.1.0 executando o comando a seguir:
    yarn add -W @messageformat/core@3.1.0

    Atualize a dependência, single-spa-angular para a versão 7.1.0 executando o comando a seguir:

    yarn upgrade single-spa-angular@7.1.0
  3. Atualizar devDependency, @angular-builders/custom-webpack para a versão 14.1.0 executando o comando a seguir:
    yarn upgrade @angular-builders/custom-webpack@14.1.0 --dev
  4. Faça o download e instale a versão node.js 16.4.0.
    1. Na variável de ambiente PATH, atualize /path/to/nodejs-16.14.0/bin.
    2. Verifique a versão do nó executando o comando a seguir:
      node -v
  5. Instale a versão do yarn 1.22.5 globalmente executando o seguinte comando:
    npm install --global yarn
  6. Instale o Lerna como um módulo global executando o comando a seguir:
    npm install -g lerna@4.0.0
  7. Crie o arquivo test.ts a seguir e copie o arquivo para extensions/features/override-component/src/ O arquivo test.ts é importante para o script de upgrade angular ser executado com êxito.
    /*******************************************************************************
    * IBM Confidential
    * IBM® Sterling Order Management System
    Software (5737-D18)
    * IBM Sterling Order Management System
    Software (5725-D10)
    * (C) Copyright IBM Corp. 2022
    ******************************************************************************/
    // This file is required by karma.conf.js and loads recursively all the .spec and framework files
    
    import 'zone.js/testing';
    import { getTestBed } from '@angular/core/testing';
    import {
      BrowserDynamicTestingModule,
      platformBrowserDynamicTesting
    } from '@angular/platform-browser-dynamic/testing';
    
    // First, initialize the Angular testing environment.
    getTestBed().initTestEnvironment(
      BrowserDynamicTestingModule,
      platformBrowserDynamicTesting(), {
        teardown: { destroyAfterEach: false }
    }
    );
    
  8. Substituir devDependencies da biblioteca de estilos que estão presentes em /extensions/libs/styles/package.json e /packages/libs/styles/package.json.
    "devDependencies": {
        "@ng-bootstrap/ng-bootstrap": "12.1.1",
        "autoprefixer": "^9.0.0",
        "breakpoint-sass": "^2.7.1",
        "css-loader": "^2.0.0",
        "cssnano": "^4.0.5",
        "file-loader": "^6.2.0",
        "mini-css-extract-plugin": "^0.5.0",
        "node-sass": "^6.0.1",
        "postcss-loader": "^3.0.0",
        "resolve-url-loader": "^5.0.0",
        "sass-loader": "13.2.2",
        "style-loader": "^0.23.1",
        "url-loader": "^4.1.1",
        "webpack": "^5.51.1",
        "webpack-cli": "^4.9.2"
      },
  9. Excluir o arquivo yarn.lock que está presente em store-frontend-src.
  10. Instalar devDependencies executando o comando a seguir:
    yarn bootstrap
  11. Atualize Angular core e cli para a versão 15 executando o comando a seguir:
    ng update @angular/core@15 @angular/cli@15 --allow-dirty --force
  12. Atualize as dependências a seguir executando o comando correspondente.
    • Atualize ngx-translate-messageformat-compiler para 6.2.0 executando o comando a seguir:
      yarn upgrade ngx-translate-messageformat-compiler@6.2.0
    • Atualize o single-spa-angular para 8.1.0 executando o comando a seguir:
      yarn upgrade single-spa-angular@8.1.0
    • Atualize @carbon/chartspara 1.7.6 executando o comando a seguir:
      yarn upgrade @carbon/charts@1.7.6
    • Atualize @carbon/charts-angular para 1.7.6 executando o comando a seguir:
      yarn upgrade @carbon/charts-angular@1.7.6
  13. Atualize devDependency e @angular-builders/custom-webpack para a versão 15.0.0 executando o comando a seguir:
    yarn upgrade @angular-builders/custom-webpack@15.0.0 --dev
  14. Inicie o aplicativo executando o seguinte comando e valide se as telas customizadas estão funcionando bem.
    yarn start-app

    Ao executar esse comando, se você vir erros relacionados a verificações de tipo, corrija o código de extensão para definir os tipos adequados para variáveis

  15. O comando build-app:extension presente em package.json de todos os aplicativos estendidos precisa ser modificado para considerar o argumento de configuração. Por exemplo, "build-app:extension": "ng build override-component --prod" deve ser alterado para "build-app:extension": "ng build override-component --configuration production"
  16. Configure uma nova área de trabalho do 23.2.6.0-10.0.2306.0 DTK.
    1. Copiar angular.json da área de trabalho anterior para a nova.
    2. Copiar as extensões migradas da área de trabalho anterior para a nova área de trabalho.
    3. Execute novamente os comandos a seguir para testar extensões.
      yarn bootstrap
      yarn start-app
    Nota:
    • Copie ou substitua o conteúdo de src/app/app.component.ts de aplicativos override-component e override-modals em extensions/features/override-component e extensions/features/override-modals a partir do DTK mais recente.
    • Como a versão angular 13 não é mais suportada, deve-se fazer upgrade das customizações da interface com o usuário para a versão Angular mais recente ou suportada. Para obter mais informações, consulte Controle de versão e versões do Angular.
    • Se não for possível migrar para o Angular versão 15, mas desejar modificar suas extensões no Angular 13, será possível continuar construindo suas customizações com o DTK 23.1.3.1-10.0.2303.2 anterior. Para obter os recursos, aprimoramentos e correções mais recentes, deve-se fazer upgrade para o Angular versão 15