Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Dec 2015 12:07:54 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 204577] [NEW MODULE] Mk/Uses/nodejs.mk Framework for NodeJS projects/ports
Message-ID:  <bug-204577-13-8BvJaZYeUr@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-204577-13@https.bugs.freebsd.org/bugzilla/>
References:  <bug-204577-13@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204577

--- Comment #18 from yuri@rawbw.com ---
@Olivier, When I googled and searched here on bugs@ I couldn't find your work.
You seem to try to make ports for small NodeJS packages like 'Request'. Single
NodeJS process can contain many versions of the same package, it is generally
impossible to make FreeBSD ports for such small NodeJS packages that would fit
all uses. People also tend to update them frequently, so it is impossible to
chase such things with separate ports. node-gyp also has flavors, and many use
node-pre-gyp instead. It is also easy to fork your own node-gyp and also to
include it into the distro. This is the nature of NodeJS - it is very volatile
and fickle. Doesn't really match FreeBSD ports philosophy well.

I chose an approach to make the separate FreeBSD ports for large apps that
end-users care about. Since npm itself installs modules in a very fragile way,
the goal of my USES=nodejs project are:
1. Have framework that allows to relatively easily create ports for large apps
2. Such ports behave nearly identical to all other ports (no hacks like
pre-built and pre-packaged ports, ex. npm)
3. One port per app is created, so it is easy to maintain (it would be a hell
to maintain separate ports for tiny NodeJS packages)
4. Ports build in a stable and deterministic way
5. Have reasonable delivery time (several NodeJS apps already work fine through
ports)

>From what I myself can see, project meets these goals quite well. There is only
one item, #4, that is impeded by the npm-shrinkwrap bug that causes the
requirement to have NO_CHECKSUM=yes. Latest npm version might have fixed this
(but we don't have it yet).

Mathieu expressed some valid criticisms, I have already fixed these points in
my version, they are really minor. I am very open to hear any other criticisms.
This only helps to improve.

Currently I have these ports working and usable:
* www/etherpad-lite
* net-p2p/webtorrent
* devel/grunt
* lang/coffeescript
* www/sharelatex

-- 
You are receiving this mail because:
You are on the CC list for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-204577-13-8BvJaZYeUr>