HomeFreeBSD

Mk/Uses: Add electron.mk and companion scripts

Description

Mk/Uses: Add electron.mk and companion scripts

electron.mk and companion scripts for making it easier to port
Electron-based applications.

The electron.mk addresses the following obstacles in porting:

  • Need to adapt to different node package managers used in a project (npm, yarn, and pnpm)

    Different package managers have different commands and options. With electron.mk, porters don't have to worry about those differences using USE_ELECTRON=npm feature.
  • Need to create an archive of necessary node modules and host the file somewhere online

    An Electron-based project usually needs to install node modules using "npm install" command during the build phase. We can't allow this because "npm install" involves network access. So we had to pre-generate an archive of necessary node modules and host it somewhere online. electron.mk eliminates the necessity by locally generating the archive of the node modules on-the-fly at a host building the port during the fetch phase.
  • Need to adapt to different package builders used (electron-builder, electron-packager, and electron-forge)

    Different package builders have different commands and options. With electron.mk, porters don't have to worry about those differences using USE_ELECTRON=build feature.

PR: 291321
Reviewed by: arrowd
Approved by: portmgr (implicit)
Differential Revision: https://reviews.freebsd.org/D54005