karaggeorge / electron-builder-notarize

Notarize Electron applications using electron-builder
MIT License
80 stars 20 forks source link

electron-builder-notarize Build Status

Notarize Electron applications using electron-builder

For more details regarding the options and functionality: https://github.com/electron/electron-notarize

Install

# npm
npm i electron-builder-notarize --save-dev

# yarn
yarn add electron-builder-notarize --dev

Usage

In your electron-builder config:

{
    ...
    "afterSign": "electron-builder-notarize",
    "mac": {
        ...
        "hardenedRuntime": true,
        "entitlements": "./node_modules/electron-builder-notarize/entitlements.mac.inherit.plist",
    }
}

You can replace the entitlements file with your own, as long as those properties are included as well.

You will also need to authenticate yourself, either with your Apple ID or using an API key. This is done by setting the corresponding environment variables.

If for some reason the script can't locate your project's appId, you can specify it using the APP_ID environment variable.

Using notarytool

In order to use notarytool for notarization, XCode 13 or later is required

Authentication methods:

Using Legacy

General options:

Authentication methods:

Multiple Teams

If your developer account is a member of multiple teams or organizations, you might see an error. In this case, you need to provide your Team Short Name as an environment variable:

export TEAM_SHORT_NAME=XXXXXXXXX

Credits

This package is inspired by this article

The library used for notarization: https://github.com/electron/electron-notarize

License

MIT