Koushik Dutta fddff57c15 fix: arm64/x64 inputs may contain universal binaries that are not the same (#62)
* Mach-O types are in big endian format

One of my dependencies for some reason has two universal binaries per platform, and they are not exactly the same bytewise. I'm unsure why. But I am certain they are functional.

In any case, this error is erroneously being thrown since it fails the previous byte comparison match.

```ts
      throw new Error(`Can't reconcile two non-macho files ${file}`);
```

CAFEBABE and FEEDFACE magics for universal binaries. This will allow packaging to continue if both the arm and x64 packages have universal binaries.

* Update asar-utils.ts

* Update asar-utils.ts
2023-06-24 23:09:09 -07:00
2020-10-21 13:30:28 -07:00
2020-10-21 13:30:28 -07:00
2020-10-21 13:30:28 -07:00
2020-10-21 13:30:28 -07:00

@electron/universal

Create universal macOS Electron applications

CircleCI NPM package

Usage

import { makeUniversalApp } from '@electron/universal';

await makeUniversalApp({
  x64AppPath: 'path/to/App_x64.app',
  arm64AppPath: 'path/to/App_arm64.app',
  outAppPath: 'path/to/App_universal.app',
});

FAQ

The app is twice as big now, why?

Well, a Universal app isn't anything magical. It is literally the x64 app and the arm64 app glued together into a single application. It's twice as big because it contains two apps in one.

What about native modules?

The way @electron/universal works today means you don't need to worry about things like building universal versions of your native modules. As long as your x64 and arm64 apps work in isolation the Universal app will work as well.

How do I build my app for Apple silicon in the first place?

Check out the Electron Apple silicon blog post

Description
for of github.com/electron/universal
Readme MIT 1.7 MiB
v3.0.2-1 Latest
2025-12-12 17:11:16 +01:00
Languages
TypeScript 100%