Jesse Vincent 01dfb8a963 feat: don't lipo binaries that are identical in the x64 and arm64 versions and match an allowlist (#47)
* fix: Don’t lipo binaries that are already a universal file or the same arch #17

Some Mach-O files may have already been fat binaries and will throw an error if lipoed again.

Co-authored-by: Mitch Cohen <mitch@1password.com>
Co-authored-by: Nick McGuire <nick.mcguire@1password.com>

* Add a x64ArchFiles config key to allow allow-listing of files that are only always x64Arch

Co-authored-by: Andrew Beyer <beyer@1password.com>
Co-authored-by: Mitch Cohen <mitch@1password.com>
Co-authored-by: Nick McGuire <nick.mcguire@1password.com>
2022-06-01 13:05:54 -07:00
2020-10-21 13:30:28 -07:00
2020-10-21 13:30:28 -07:00
2020-11-26 13:42:27 -08: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

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%