Thanks for the work on this. We have a couple of selftests that test npm functionality, unfortunately they do not run in CI because npm is not in oe-core, but can you confirm that they pass with the changes?
Run: oe-selftest -r recipetool.RecipetoolCreateTests.test_recipetool_create_npm oe-selftest -r devtool.DevtoolAddTests.test_devtool_add_npm Alex On Wed, 31 May 2023 at 00:28, <[email protected]> wrote: > > From: BELOUARGA Mohamed <[email protected]> > > Npm packages do not have yocto friendly names. fore instance we can have > names like > "@example/npmPackage" > > npm fetcher has a function that convert these names to yocto friendly names. > But in recipe tool we have an other function (duplicate). > > Signed-off-by: BELOUARGA Mohamed <[email protected]> > --- > scripts/lib/recipetool/create_npm.py | 14 +++----------- > 1 file changed, 3 insertions(+), 11 deletions(-) > > diff --git a/scripts/lib/recipetool/create_npm.py > b/scripts/lib/recipetool/create_npm.py > index 3394a89970..e667a4d19b 100644 > --- a/scripts/lib/recipetool/create_npm.py > +++ b/scripts/lib/recipetool/create_npm.py > @@ -13,6 +13,7 @@ import sys > import tempfile > import bb > from bb.fetch2.npm import NpmEnvironment > +from bb.fetch2.npm import npm_package > from bb.fetch2.npmsw import foreach_dependencies > from recipetool.create import RecipeHandler > from recipetool.create import get_license_md5sums > @@ -30,15 +31,6 @@ def tinfoil_init(instance): > class NpmRecipeHandler(RecipeHandler): > """Class to handle the npm recipe creation""" > > - @staticmethod > - def _npm_name(name): > - """Generate a Yocto friendly npm name""" > - name = re.sub("/", "-", name) > - name = name.lower() > - name = re.sub(r"[^\-a-z0-9]", "", name) > - name = name.strip("-") > - return name > - > @staticmethod > def _get_registry(lines): > """Get the registry value from the 'npm://registry' url""" > @@ -143,7 +135,7 @@ class NpmRecipeHandler(RecipeHandler): > > # Handle the dependencies > def _handle_dependency(name, params, deptree): > - suffix = "-".join([self._npm_name(dep) for dep in deptree]) > + suffix = "-".join([npm_package(dep) for dep in deptree]) > destdirs = [os.path.join("node_modules", dep) for dep in deptree] > destdir = os.path.join(*destdirs) > packages["${PN}-" + suffix] = destdir > @@ -173,7 +165,7 @@ class NpmRecipeHandler(RecipeHandler): > if "name" not in data or "version" not in data: > return False > > - extravalues["PN"] = self._npm_name(data["name"]) > + extravalues["PN"] = npm_package(data["name"]) > extravalues["PV"] = data["version"] > > if "description" in data: > -- > 2.25.1 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181996): https://lists.openembedded.org/g/openembedded-core/message/181996 Mute This Topic: https://lists.openembedded.org/mt/99230551/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
