Source code for fabtools.require.nodejs

"""
Node.js
=======

This module provides tools for installing `Node.js`_ and managing
packages using `npm`_.

.. note: the ``simplejson`` module is required on Python 2.5

.. _Node.js: http://nodejs.org/
.. _npm: http://npmjs.org/

"""
from fabtools import nodejs


[docs]def installed_from_source(version=nodejs.DEFAULT_VERSION): """ Require Node.js to be installed from source. :: from fabtools import require require.nodejs.installed_from_source() """ if nodejs.version() != version: nodejs.install_from_source(version)
[docs]def package(pkg_name, version=None, local=False): """ Require a Node.js package. If the package is not installed, and no *version* is specified, the latest available version will be installed. If a *version* is specified, and a different version of the package is already installed, it will be updated to the specified version. If `local` is ``True``, the package will be installed locally. :: from fabtools import require # Install package system-wide require.nodejs.package('foo') # Install package locally require.nodejs.package('bar', local=True) """ pkg_version = nodejs.package_version(pkg_name, local=local) if version: if pkg_version != version: nodejs.install_package(pkg_name, version, local=local) else: if pkg_version is None: nodejs.install_package(pkg_name, local=local)