diff mbox series

[master] fetch2: npm: Remove special caracters that casauses recipe tool to fail

Message ID 20230531184538.32843-1-m.belouarga@technologyandstrategy.com
State New
Headers show
Series [master] fetch2: npm: Remove special caracters that casauses recipe tool to fail | expand

Commit Message

belouargamohamed@gmail.com May 31, 2023, 6:45 p.m. UTC
From: BELOUARGA Mohamed <m.belouarga@technologyandstrategy.com>

Packages like @(._.)/execute causes problems because they generate names
that are not supported by yocto

Signed-off-by: BELOUARGA Mohamed <m.belouarga@technologyandstrategy.com>
---
 lib/bb/fetch2/npm.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/lib/bb/fetch2/npm.py b/lib/bb/fetch2/npm.py
index e6d0598f5d..f83485ad85 100644
--- a/lib/bb/fetch2/npm.py
+++ b/lib/bb/fetch2/npm.py
@@ -44,9 +44,12 @@  def npm_package(package):
     """Convert the npm package name to remove unsupported character"""
     # Scoped package names (with the @) use the same naming convention
     # as the 'npm pack' command.
-    if package.startswith("@"):
-        return re.sub("/", "-", package[1:])
-    return package
+    name = re.sub("/", "-", package)
+    name = name.lower()
+    name = re.sub(r"[^\-a-z0-9]", "", name)
+    name = name.strip("-")
+    return name
+
 
 def npm_filename(package, version):
     """Get the filename of a npm package"""