Skip to content

@bugsnag/electron - Unable to package app as an Apple Silicon Universal build #2565

@JordanDC2

Description

@JordanDC2

Describe the bug

When building my app targeting either arm64 or x64, everything turns out totally fine. However, when targeting a Universal .dmg, it appears that some of bugsnag's native modules, when rebuilt, do not map appropriately. During the build process (specifically electron-forge publish --dry-run --arch universal), the following error appears in the Generating multi-arch bundles > Generating x64 bundle > Mapping native dependencies step:

An unhandled rejection has occurred inside Forge:
Error: The "main/native_modules/build/Release/bugsnag_pecsp_bindings.node" mapped to multiple modules "/Users/jordanchristiansen/<my-app>/node_modules/@bugsnag/plugin-electron-client-state-persistence/bin/darwin-arm64-136/plugin-electron-client-state-persistence.node, /Users/jordanchristiansen/<my-app>/node_modules/@bugsnag/plugin-electron-client-state-persistence/build/Release/bugsnag_pecsp_bindings.node" but the same modules post rebuild did not map to the same native code
at _Task.task [as taskFn] (/Users/jordanchristiansen/<my-app>/node_modules/@electron-forge/plugin-webpack/dist/WebpackPlugin.js:395:71)
    at async _Task.run (/Users/jordanchristiansen/<my-app>/node_modules/listr2/dist/index.cjs:2063:11)

Steps to reproduce

  1. Use the minimum setup for electron, forge, and bugsnag
  2. add "package": "electron-forge package" to package.json scripts
  3. add "make": "electron-forge make" to package.json scripts
  4. add "publish": "electron-forge publish --dry-run --arch universal" to package.json scripts
  5. run npm run publish
  6. kaboom

Environment

  • @bugsnag/electron version: 8.2.0
  • @electron-forge/* version: 7.8.1
  • webpack version: 5.100.2
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions