Skip to content

[Feature Request]: If npm cafile setting exists, use it when downloading from unique ELECTRON_MIRROR #246

Open
@aarowman

Description

Preflight Checklist

Problem Description

Currently, when using a custom ELECTRON_MIRROR value, if the mirror repository requires a CA file, then Electron will not use a local CA by default. The user must set the NODE_EXTRA_CA_CERTS variable to get it added, since the Electron post install script for installing the binary uses node in the command, and is not an npm install.

Note that running npm on a CI system, the cafile location may not be known ahead of time (could be set on the CI runner system). The current workaround is to dynamically call npm config get cafile and assign the value into NODE_EXTRA_CA_CERTS

Proposed Solution

I think it would be helpful to automatically use the cafile value from .npmrc (npm config) when downloading a unique binary. Similar behavior was done in the cypress library (Cypress also downloads a binary with a zip using a post install and has a mirror environment variable).

See relevant code: https://github.com/search?q=repo%3Acypress-io%2Fcypress+getCa+%3D&type=code

Cypress docs for reference:

Alternatives Considered

The current workaround is to dynamically call npm config get cafile and assign the value into NODE_EXTRA_CA_CERTS, which does work.. but can be tedious in a CI system since it may be dynamic

Additional Information

No response

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions