* 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>
* 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`