Skip to content

Conversation

erickzhao
Copy link
Member

@erickzhao erickzhao commented Jun 13, 2024

Fixes #90

In cases where two ASAR archives or app folders are created, we create a new index.js shim that points to the correct entrypoint depending on the host system's architecture.

This index.js shim was originally written in CommonJS, making it incompatible with Electron apps using ESM entrypoints, which are available starting in Electron 28.

This PR does a few things:

  • Adds an ESM version of the entry-asar/index.js shim.
  • Detects if the main entrypoint is ESM through type: module or main:*.mjs in package.json, then copies over the ESM or CJS shim accordingly.
  • Does a bit of tsconfig.json refactoring to support entry-asar having different compilation targets.

@erickzhao erickzhao requested a review from a team as a code owner June 13, 2024 03:52
@erickzhao erickzhao marked this pull request as draft June 13, 2024 03:52
@erickzhao erickzhao marked this pull request as ready for review June 13, 2024 05:32
@erickzhao erickzhao marked this pull request as draft August 20, 2024 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

App entrypoint fails to load for ESM app if arm64 and x64 apps don't match

2 participants