The `vscode-universal-bundler` package, currently at version 0.1.3, provides a utility for macOS developers to merge separate x64 (Intel) and arm64 (Apple Silicon) Electron application builds into a single Universal macOS application. This allows a single distributed binary to run natively on both architectures, which was particularly important during the transition period to Apple Silicon. While it served a specific niche, the package's own README strongly advises users to "Prefer the official `@electron/universal` package." This explicitly indicates that `vscode-universal-bundler` is now deprecated and is no longer the recommended or actively maintained solution for creating universal Electron applications, which typically receive more frequent updates and support from the Electron project. Its low version number also suggests limited feature stability and a lack of ongoing development.
npm install vscode-universal-bundlerVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to use `makeUniversalApp` to combine x64 and arm64 Electron builds into a single universal macOS application, including creating dummy app structures for a runnable example.
Migrate to `@electron/universal` for creating Universal macOS applications. It offers similar functionality with ongoing maintenance and support from the Electron team.
Avoid using this package for new projects. For existing projects, plan for migration to `@electron/universal` to ensure long-term stability and access to new features.
Ensure your development environment uses Node.js v16.4 or newer. You can manage Node.js versions with `nvm` (Node Version Manager) or `volta`.
Ensure you are using ES module `import { makeUniversalApp } from 'vscode-universal-bundler';` syntax. If TypeScript is used, ensure `moduleResolution` is set appropriately in `tsconfig.json`.Before running the universal bundler, ensure all native modules are rebuilt for both `x64` and `arm64` architectures using tools like `electron-rebuild` or by manually rebuilding with specific `--arch` flags. For example: `npm rebuild your-native-module --runtime=electron --target=20.0.0 --arch=x64` and then for `--arch=arm64`.
Verify that `x64AppPath` and `arm64AppPath` in your configuration point to valid, existing Electron application bundles (e.g., `YourApp.app` directories) built for their respective architectures. Use absolute paths to avoid ambiguity.
No dependency data recorded yet.