yllieth / semantic-release-ms-teams

A plugin for semantic-release which publish release notes in a Microsoft Teams channel
MIT License
19 stars 15 forks source link

An error occurred while running semantic-release: Error: Cannot find module 'aggregate-error' #39

Open kumboleijo opened 2 years ago

kumboleijo commented 2 years ago

I'm facing an issue with the plugin resulting in a Error: Cannot find module 'aggregate-error' error. My semantic-release process did work before without any issue.

Steps - what I did so far:

With all of theses steps done I get the following error during the pipeline execution:

Gitlab CI Logs

9:45:05 AM] [semantic-release] › ℹ  Running semantic-release version 19.0.5
[9:45:05 AM] [semantic-release] › ✖  An error occurred while running semantic-release: Error: Cannot find module 'aggregate-error'
Require stack:
- /usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js
- /usr/local/lib/node_modules/semantic-release-ms-teams/index.js
- /usr/local/lib/node_modules/semantic-release/lib/plugins/utils.js
- /usr/local/lib/node_modules/semantic-release/lib/plugins/index.js
- /usr/local/lib/node_modules/semantic-release/lib/get-config.js
- /usr/local/lib/node_modules/semantic-release/index.js
- /usr/local/lib/node_modules/semantic-release/cli.js
- /usr/local/lib/node_modules/semantic-release/bin/semantic-release.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
    at Function.Module._load (node:internal/modules/cjs/loader:804:27)
    at Module.require (node:internal/modules/cjs/loader:1028:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js:1:[24](https://gitlab.com/farmact/services/mail-service/-/jobs/3109036572#L24))
    at Module._compile (node:internal/modules/cjs/loader:1126:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
    at Module.load (node:internal/modules/cjs/loader:1004:32)
    at Function.Module._load (node:internal/modules/cjs/loader:839:12)
    at Module.require (node:internal/modules/cjs/loader:1028:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js',
    '/usr/local/lib/node_modules/semantic-release-ms-teams/index.js',
    '/usr/local/lib/node_modules/semantic-release/lib/plugins/utils.js',
    '/usr/local/lib/node_modules/semantic-release/lib/plugins/index.js',
    '/usr/local/lib/node_modules/semantic-release/lib/get-config.js',
    '/usr/local/lib/node_modules/semantic-release/index.js',
    '/usr/local/lib/node_modules/semantic-release/cli.js',
    '/usr/local/lib/node_modules/semantic-release/bin/semantic-release.js'
  ]
}
Error: Cannot find module 'aggregate-error'
Require stack:
- /usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js
- /usr/local/lib/node_modules/semantic-release-ms-teams/index.js
- /usr/local/lib/node_modules/semantic-release/lib/plugins/utils.js
- /usr/local/lib/node_modules/semantic-release/lib/plugins/index.js
- /usr/local/lib/node_modules/semantic-release/lib/get-config.js
- /usr/local/lib/node_modules/semantic-release/index.js
- /usr/local/lib/node_modules/semantic-release/cli.js
- /usr/local/lib/node_modules/semantic-release/bin/semantic-release.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
    at Function.Module._load (node:internal/modules/cjs/loader:804:27)
    at Module.require (node:internal/modules/cjs/loader:1028:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js:1:24)
    at Module._compile (node:internal/modules/cjs/loader:11[26](https://gitlab.com/farmact/services/mail-service/-/jobs/3109036572#L26):14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
    at Module.load (node:internal/modules/cjs/loader:1004:32)
    at Function.Module._load (node:internal/modules/cjs/loader:839:12)
    at Module.require (node:internal/modules/cjs/loader:10[28](https://gitlab.com/farmact/services/mail-service/-/jobs/3109036572#L28):19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js',
    '/usr/local/lib/node_modules/semantic-release-ms-teams/index.js',
    '/usr/local/lib/node_modules/semantic-release/lib/plugins/utils.js',
    '/usr/local/lib/node_modules/semantic-release/lib/plugins/index.js',
    '/usr/local/lib/node_modules/semantic-release/lib/get-config.js',
    '/usr/local/lib/node_modules/semantic-release/index.js',
    '/usr/local/lib/node_modules/semantic-release/cli.js',
    '/usr/local/lib/node_modules/semantic-release/bin/semantic-release.js'
  ]
}

.releaserc

{
  "plugins": [
    [
      "@semantic-release/commit-analyzer",
      {
        "preset": "angular",
        "releaseRules": [
          {
            "type": "bump",
            "release": "minor"
          },
          {
            "type": "bump",
            "scope": "minor",
            "release": "minor"
          },
          {
            "type": "bump",
            "scope": "major",
            "release": "major"
          }
        ]
      }
    ],
    [
      "@semantic-release/release-notes-generator"
    ],
    [
      "@semantic-release/changelog",
      {
        "changelogFile": "CHANGELOG.md"
      }
    ],
    [
      "@semantic-release/exec",
      {
        "publishCmd": "echo 'VERSION=${nextRelease.version}' >> .env",
        "shell": true
      }
    ],
    "semantic-release-ms-teams",
    [
      "@semantic-release/gitlab",
      {
        "gitlabUrl": "${CI_PROJECT_URL}"
      }
    ]
  ],
  "branches": [
    "+([0-9])?(.{+([0-9]),x}).x",
    "main",
    {
      "name": "beta",
      "prerelease": "beta"
    },
    {
      "name": "dev",
      "prerelease": "dev"
    }
  ]
}

Dockerfile for my build image

FROM node:lts

LABEL maintainer "Jonas Schmitt <jonas.schmitt@me.com>"

RUN curl -O https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh && bash script.deb.sh
RUN apt-get install git-lfs

RUN npm install -g semantic-release \
  @semantic-release/gitlab \
  @semantic-release/git \
  @semantic-release/exec \
  @semantic-release/release-notes-generator \
  @semantic-release/changelog \
  semantic-release-slack-bot \
  semantic-release-ms-teams

Am I missing something here?

vlad-ge commented 2 years ago

have the same issue and currently "solved" it as follows:

npm install -g aggregate-error@3.1.0

kumboleijo commented 2 years ago

Thanks for the hint @vlad-ge! Any good reason why to pin version 3.1.0? If I just go with the latest version I stumble into the following error:

[7:28:40 AM] [semantic-release] › ℹ  Running semantic-release version 19.0.5
[7:[28](https://gitlab.com/farmact/services/invoice-api/-/jobs/3160312402#L28):40 AM] [semantic-release] › ✖  An error occurred while running semantic-release: Error [ERR_REQUIRE_ESM]: require() of ES Module /usr/local/lib/node_modules/aggregate-error/index.js from /usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js not supported.
Instead change the require of index.js in /usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-ms-teams/lib/lifecycle-verify-conditions.js:1:24)
    at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-ms-teams/index.js:1:35)
    at loadPlugin (/usr/local/lib/node_modules/semantic-release/lib/plugins/utils.js:51:36)
    at /usr/local/lib/node_modules/semantic-release/lib/plugins/index.js:17:37
    at Array.reduce (<anonymous>)
    at module.exports (/usr/local/lib/node_modules/semantic-release/lib/plugins/index.js:14:34)
    at module.exports (/usr/local/lib/node_modules/semantic-release/lib/get-config.js:84:35)
    at async module.exports (/usr/local/lib/node_modules/semantic-release/index.js:265:[32](https://gitlab.com/farmact/services/invoice-api/-/jobs/3160312402#L32))
    at async module.exports (/usr/local/lib/node_modules/semantic-release/cli.js:55:5) {
  code: 'ERR_REQUIRE_ESM'
}

Sticking to 1.3.0 works just fine ✅