Page MenuHomeFreeBSD

Add USE_NODEJS to nodejs.mk for specifying NodeJS packager manager
Needs ReviewPublic

Authored by tagattie on Jan 3 2022, 10:45 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Oct 3, 5:01 PM
Unknown Object (File)
Fri, Oct 3, 1:29 PM
Unknown Object (File)
Tue, Sep 30, 8:53 AM
Unknown Object (File)
Fri, Sep 26, 11:48 AM
Unknown Object (File)
Wed, Sep 24, 11:54 AM
Unknown Object (File)
Wed, Sep 24, 3:22 AM
Unknown Object (File)
Sun, Sep 21, 12:15 AM
Unknown Object (File)
Tue, Sep 16, 4:14 AM
Subscribers

Details

Reviewers
0mp
bhughes
sunpoet
pizzamig
mfechner
Group Reviewers
portmgr
Summary

A NodeJS-based software often uses a NodeJS package manager (NPM or Yarn) for building and/or running the software. Currently a porter must manually specify a package manager depending on the same major version according to USES=nodejs:<version>. Something like:

USES= nodejs:14
BUILD_DEPENDS= www/npm-node14>0:www/npm-node14

This proposal adds USE_NODEJS variable to nodejs.mk for specifying the NodeJS package manager used by a port.

USES= nodejs:14
USE_NODEJS= npm

adds BUILD_DEPENDS= www/npm-node14>0:www/npm-node14

If current version of NodeJS is used:

USES= nodejs:current
USE_NODEJS= npm

adds BUILD_DEPENDS= www/npm>0:www/npm

So a porter does not have to manually ensure that NodeJS's major version and that of a package manager's are the same.

Additionally, fetch, extract, patch, build, run, and/or test can be taken as arguments to specify a specific *_DEPENDS like:

USE_NODEJS= npm:fetch,build

adds

FETCH_DEPENDS= www/npm>0:www/npm
BUILD_DEPENDS= www/npm>0:www/npm

P.S. I would like elastic (for textproc/kibana7) and opensearch (for textproc/opensearch-dashboards) teams to review this proposal. Does anybody know who I should contact?

Test Plan

There 4 ports touched by this change, namely:

security/greenbone-security-assistant
textproc/kibana7
textproc/opensearch-dashboards
textproc/write-good

All the 4 ports have built fine with poudriere.




Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

tagattie created this revision.