]> code.ossystems Code Review - openembedded-core.git/commitdiff
npm.bbclass: Add npm class to match fetcher
authorBrendan Le Foll <brendan.le.foll@intel.com>
Thu, 25 Feb 2016 15:06:57 +0000 (15:06 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 28 Feb 2016 11:32:33 +0000 (11:32 +0000)
npm class supports the npm fetcher, helping doing the basic compile/install
stages of an npm package

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/npm.bbclass [new file with mode: 0644]

diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass
new file mode 100644 (file)
index 0000000..be76056
--- /dev/null
@@ -0,0 +1,25 @@
+DEPENDS_prepend = "nodejs-native "
+S = "${WORKDIR}/npmpkg"
+
+npm_do_compile() {
+       # changing the home directory to the working directory, the .npmrc will
+       # be created in this directory
+       export HOME=${WORKDIR}
+       npm config set dev false
+       npm set cache ${WORKDIR}/npm_cache
+       # clear cache before every build
+       npm cache clear
+       # Install pkg into ${S} without going to the registry
+       npm --arch=${TARGET_ARCH} --production --no-registry install
+}
+
+npm_do_install() {
+       mkdir -p ${D}${libdir}/node_modules/${PN}/
+       cp -a ${S}/* ${D}${libdir}/node_modules/${PN}/ --no-preserve=ownership
+}
+
+FILES_${PN} += " \
+    ${libdir}/node_modules/${PN} \
+"
+
+EXPORT_FUNCTIONS do_compile do_install