From b6ffa59d03fbf53d1681fce5f8c3c1f163cf9923 Mon Sep 17 00:00:00 2001 From: Jean-Marie LEMETAYER Date: Fri, 17 May 2019 17:14:08 +0200 Subject: npm: get npm package name from npm pack Fixes [YOCTO #12534] When using npm packages with exotic names, like "JSONSelect" (with uppercase) or "@angular/cli" (with at sign and slash), there are three different names: - the recipe name ("jsonselect" or "angular-cli") - the npm module name ("JSONSelect" or "@angular/cli") - the npm pack name ("JSONSelect" or "angular-cli") The commit fa9c077068a2acea04389fa2b44eb2e93548fce2 allow to have different recipe name and npm module name by setting the NPMPN variable. This commit allows to have yet another npm pack name. The pack filename is now dynamically retrieved from the 'npm pack' command. Signed-off-by: Jean-Marie LEMETAYER Signed-off-by: Richard Purdie --- meta/classes/npm.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'meta/classes/npm.bbclass') diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass index 6dbae6bc79..3dd2d13804 100644 --- a/meta/classes/npm.bbclass +++ b/meta/classes/npm.bbclass @@ -53,8 +53,8 @@ npm_do_install() { # be created in this directory export HOME=${WORKDIR} mkdir -p ${D}${libdir}/node_modules - npm pack . - npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPMPN}-${PV}.tgz + local NPM_PACKFILE=$(npm pack .) + npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPM_PACKFILE} mv ${D}${libdir}/node_modules ${D}${libdir}/node if [ -d ${D}${prefix}/etc ] ; then # This will be empty -- cgit 1.2.3-korg