From: Brendan Le Foll <[email protected]>

npm class supports the npm fetcher, helping doing the basic compile/install
stages of an npm package

Signed-off-by: Brendan Le Foll <[email protected]>
---
 meta/classes/npm.bbclass | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 meta/classes/npm.bbclass

diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass
new file mode 100644
index 0000000..be76056
--- /dev/null
+++ b/meta/classes/npm.bbclass
@@ -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
-- 
2.7.1

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to