Résoudre les échecs de déploiement d’AEM Cloud Manager lors du test de l’interface utilisateur personnalisée en raison de la compatibilité ESM/CommonJS

Cet article décrit les étapes à suivre pour résoudre les échecs du pipeline de déploiement lors de l’étape de test de l’interface utilisateur personnalisée dans Adobe Experience Manager (AEM) Cloud Manager, qui sont causés par des problèmes de compatibilité entre les modules ES (ESM) et les dépendances CommonJS.

Description description

Environnement

Adobe Experience Manager as a Cloud Service (toutes versions)

Problème/Symptômes

  • Le pipeline de déploiement échoue lors de l’étape de test de l’interface utilisateur personnalisée dans Cloud Manager.
  • Les journaux d’erreurs affichent des messages tels que : ERR_REQUIRE_ESM: Must use import to load ES Module: @wdio/logger.
  • D’autres erreurs se produisent lorsque des rapports ESM uniquement (par exemple, wdio-html-nice-reporter) sont chargés à l’aide de require() dans les fichiers de configuration, ce qui entraîne des erreurs ERR_REQUIRE_ESM similaires.
  • Les échecs d’indexation peuvent également se produire si l’environnement cible n’est pas entièrement actif pendant le déploiement.

Cause

Les échecs sont dus à des incompatibilités entre les dépendances du module CommonJS et ES dans la configuration du test de l’interface utilisateur personnalisée. En outre, le déploiement peut échouer si l’environnement cible n’est pas actif.

Résolution resolution

Suivez les étapes ci-dessous pour résoudre le problème :

  1. Passez en revue vos dépendances de test d’interface utilisateur personnalisées, en particulier celles liées à WebdriverIO (telles que @wdio/logger et wdio-html-nice-reporter).

  2. Mettez à jour les instructions d’importation pour la compatibilité ESM :

    • Supprimez toutes les importations de require('@wdio/logger') des fichiers CommonJS (tels que launcher.js et comparisonstrategy.js).
    • Remplacez ces imports par de simples instructions de journalisation ou utilisez des import() dynamiques si nécessaire.
  3. Ajustez la configuration du rapporteur :

    • Si vous utilisez des reporters ESM uniquement (tels que wdio-html-nice-reporter), assurez-vous qu’ils sont chargés en utilisant la syntaxe import plutôt que require() dans les fichiers de configuration (tels que wdio.conf.commons.js).
    • Refactorisez les fichiers de configuration pour qu’ils soient compatibles ESM si votre jeu de dépendances l’exige, ou supprimez les reporters ESM uniquement du tableau de reporters pour l’exécution de Cloud Manager.
  4. Assurez-vous que l’environnement cible est entièrement actif avant d’exécuter le pipeline de déploiement pour éviter les échecs d’indexation. Si l’environnement a été précédemment mis en veille, activez-le et réexécutez le pipeline.

  5. Réexécutez le pipeline de déploiement et recherchez les erreurs.

  6. Vérifiez que l’étape de test de l’interface utilisateur personnalisée s’est terminée correctement et que le déploiement se poursuit sans erreurs de compatibilité de module.

recommendation-more-help
experience-cloud-kcs-help-kbarticles