Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Best practices for installers stuff from NPM
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Tim Boudreau  
View profile  
 More options Jul 16 2012, 2:45 am
From: Tim Boudreau <niftin...@gmail.com>
Date: Sun, 15 Jul 2012 23:45:53 -0700 (PDT)
Local: Mon, Jul 16 2012 2:45 am
Subject: Best practices for installers stuff from NPM

Hi, folks,

I'm doing some work for a fairly security conscious company, rearchitecting
their product. In particular, I'm replacing huge amounts of Java code with
tiny amounts of Node code :-)

What's unusual about it is that the product - when I'm done with it, anyway
- *is* a cloud which is deployed on-site for customers in a secure
environment - basically peer-networked Linux machines, usually VMs.
 Usually we will control the VM, but sometimes the customer will be
dictating that;  and customer machines are frequently not connected to the
internet.

In the process I'm replacing an old, monolithic GUI-based installer.  For
the development team, I need to be able to produce daily builds of software
which can be installed into a target Linux VM;  ideally this should be
completely automated so that there will just be a "daily virtual appliance"
- but installation packages (rpm, dep, Gentoo ebuild) should be built as
well.

I'm a big fan of doing dependency management right - package *your*
software, declare dependencies on what you need - and that's a shift I'm
helping this company make.  

I'm also not a huge fan of checking third-party library code into version
control - it's easy to add stuff and hard to figure out when you're lugging
something around that is not used.  It also breaks modularization - I get
why checking node_modules in is the simplest way to guarantee you're
running against what you think you're running against.  But I'm trying to
change a culture where any change means spinning a new release of
everything - I'd much rather be able to upgrade a library by changing one
line of a dependency declaration.

npm is similar to module systems I'm used to (NetBeans, plus various Linux
package formats), with the principal difference being the notion of
installing something to be application-local or user-local.  I've set up an
internal mirror of the npm registry, which internal code can be pushed to -
that part's fairly simple.  But while that works for development, it won't
fly where these things are going to be deployed.

I figure I'm not the first person to run into this.issue - what do you do
if you want to take a Node app that has some dependencies, and package that
into an OS-level package such as an RPM?

The main impedance-mismatch is that NPM does more than global OS-level
installs (I briefly considered writing a couchapp that exposes the whole
NPM repository as a Gentoo portage overlay - from which you can build rpms
and debian packages basically for free).

Anybody already solved this problem?  Or am I looking at the issue the
wrong way?  In the end what I need to solve is:
 - Portable installation packages for Linux (and ideally Solaris / SmartOS)
for individual libraries available via npm
 - A way to build these packages with little or no manual steps - i.e. a
continuous build can notice a new dependency in a node project and
automatically start building packages for it

Thanks for any suggestions,

Tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »