Commit Graph

15 Commits

Author SHA1 Message Date
David Sanders
421713cf80 feat!: bump engines to Node.js >=22.12.0 (#139)
Some checks failed
Publish documentation / docs (push) Failing after 1m9s
BREAKING CHANGE: Requires Node.js v22.12.0 LTS or higher. ESM-only.
2025-07-03 15:30:07 -07:00
Mike Maietta
64be29d2f7 fix: Skip lipo if native module is already universal. Add native module fixtures for lipo tests (#126)
* fix: when native modules are already universal, don't lipo. adds `node-mac-permissions` fixture from https://github.com/codebytere/node-mac-permissions and resolves 3 `it.todo` test cases

* add test `different app dirs with different macho files (shim and lipo)`

* add additional test

* PR feedback

* gotta close `fd`

* use `stream` to read first 4 bytes. copy native fixture before packing into asar to leverage `unpack: "**/*.node"` properly.

* convert params to object

* rename `createTestApp` to `createStagingAppDir` and add jsdoc to the function

* compiler error from merge conflict

* update snapshots

* update snapshots

* only check x64Content since it's the tmp app

* compile macho binaries at runtime using hellow-world.c for fixtures in lipo tests

* Update jest.setup.ts

Co-authored-by: Erik Moura <erikian@erikian.dev>

* Update jest.setup.ts

Co-authored-by: Erik Moura <erikian@erikian.dev>

* remove unstable properties for specific keys

* force redo

* update snapshots

* stripping only hello-world from snapshot and only hash from macho-specific asar integrity

* optimize logic :)

---------

Co-authored-by: Erik Moura <erikian@erikian.dev>
2025-05-02 13:10:36 -03:00
Mike Maietta
7c0ad6caa5 test: giving steroids to the test suite 💪 (#122)
* purely test suite on steroids

* verify stuff

* more fun verifies

* ok ok ok I'm done

* extend timeout and consolidate to constant for easier usage across tests

* PR feedback :)
Remove warnings by adding transform regex to `ts-jest` and `testMatch`.

* cleanup

* cleanup

* PR feedback & converting `export function` to `export const` in `util.ts`
2025-02-19 15:58:52 +08:00
Samuel Attard
b6f0c88db4 feat: bump minimum node version to 16 and add tests (#86)
BREAKING CHANGE: Minimum node version is now 16
2023-11-09 11:08:39 -08:00
Samuel Attard
bb304ce10b fix: Revert "feat: bump minimum node version to 16 and add tests (#86)"
This reverts commit 8e2842b4a3.
2023-11-09 11:08:16 -08:00
Samuel Attard
8e2842b4a3 feat: bump minimum node version to 16 and add tests (#86)
* build: add tests

* build: bump deps

* sigh

* build: install rosetta on m1
2023-11-09 10:56:22 -08:00
Baldvin Th
02119d5a83 fix: import for path now compiles correctly after TypeScript was added (#85)
* Fixing import for path after TypeScript was added

* Added esModuleInterop: true, fixed breaking imports after change
2023-11-05 11:37:48 -03:00
David Sanders
381ca1a748 chore: fix lint and add lint to CI job (#79) 2023-08-31 11:17:25 -07:00
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
Quang Lam
1fc0005ae8 fix: merged ASAR does not unpack when there is only one unpacked file (#55) 2022-10-18 17:17:11 -07:00
Samuel Attard
691e4ef31d fix: migrate from asar to @electron/asar 2022-10-18 16:06:38 -07:00
Fedor Indutny
38ab1c3559 feat: add option to merge ASARs (#34)
* feat: fuse ASARs

* Rename, improve

* Rename option

* Drop universal from MACHO_MAGIC
2022-01-25 10:35:57 +13:00
Samuel Attard
36b58a84f3 feat: add support for auto-merging ElectronAsarIntegrity values 2021-09-15 12:50:03 -07:00
Samuel Attard
621083fe1f fix: add debug logging 2020-11-19 10:01:20 -08:00
Samuel Attard
0770238718 chore: cleanup files and split into modules 2020-11-19 09:49:17 -08:00