Skip to content

New library request: node-mac-permissions #71701

Description

@ShridharGoel

Name of library: node-mac-permissions

Details

This is only for the desktop app.

This library enables the desktop Electron app to check macOS system location permission status programmatically. It's being used to implement proper location permission checking on macOS desktop before attempting to access geolocation services. The library provides a native Node.js interface to check the authorization status for various macOS system permissions (location, camera, microphone, etc.).

It solves this issue where users had to wait for 30 seconds before they get to know that the location fetch failed. And that also was just an assumption from our side, that since we are not able to get the info so it must be because of system permissions.

This is the proposal.

  • Number of stars in GH: 222

  • Number of monthly downloads: ~7000 monthly downloads (approximately 1721 weekly downloads)

  • Number of releases in the last year: 1

  • Level of activity in the repo: Low. We need to note that the author is a core engineer of Electron.js and core collaborator at Node.js and is quite active on GH so we should be able to expect timely support if needed.

  • Alternatives: N/A

  • Are security concerns brought up and addressed in the library's repo?
    No known security vulnerabilities. See this.

  • How many dependencies does this lib use that will be brought into our code?
    Dependencies:

  • What will the effect be on the bundle size of our code? ~ 77 kB

    • Will be added as an optional dependency in desktop/package.json (not the root package.json).
    • Will be excluded from mobile and web builds via react-native.config.js configuration.
    • Will only be loaded on macOS desktop via dynamic require() in the Electron main process.
    • Will be marked as external in webpack configuration.

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions