From: Brendan Le Foll Date: Thu, 25 Feb 2016 15:06:57 +0000 (+0000) Subject: npm.bbclass: Add npm class to match fetcher X-Git-Tag: 2016-4~740 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=4d2ad3e39242c947612023f4429bc8fb430551b5;p=openembedded-core.git npm.bbclass: Add npm class to match fetcher npm class supports the npm fetcher, helping doing the basic compile/install stages of an npm package Signed-off-by: Brendan Le Foll Signed-off-by: Ross Burton --- diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass new file mode 100644 index 0000000000..be76056c55 --- /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