<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Hi Paul,<br><br>When running:<br>recipetool create &quot;npm://<a href="http://registry.npmjs.org">registry.npmjs.org</a>;name=grunt-cli;version=1.1.0&quot;<br><br>I get this error:<br><br>NOTE: Unpacking abbrev-1.0.7.tgz to /tmp/recipetool-tXXZDi/npmpkg/node_modules/nopt/node_modules/abbrev/<br>Traceback (most recent call last):<br>  File &quot;sources/openembedded-core/scripts/recipetool&quot;, line 116, in &lt;module&gt;<br>    ret = main()<br>  File &quot;sources/openembedded-core/scripts/recipetool&quot;, line 107, in main<br>    ret = args.func(args)<br>  File &quot;sources/openembedded-core/scripts/lib/recipetool/create.py&quot;, line 561, in create_recipe<br>    handler.process(srctree_use, classes, lines_before, lines_after, handled, extravalues)<br>  File &quot;sources/openembedded-core/scripts/lib/recipetool/create_npm.py&quot;, line 133, in process<br>    license = self._handle_license(pdata)<br>  File &quot;sources/openembedded-core/scripts/lib/recipetool/create_npm.py&quot;, line 44, in _handle_license<br>    if &#39;license&#39; in data:<br>TypeError: argument of type &#39;NoneType&#39; is not iterable<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 5, 2016 at 7:57 AM, Brendan Le Foll <span dir="ltr">&lt;<a href="mailto:brendan.le.foll@intel.com" target="_blank">brendan.le.foll@intel.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, May 05, 2016 at 07:10:43PM +1200, Paul Eggleton wrote:<br>
&gt; Note also that devtool add / recipetool create are capable of creating pretty<br>
&gt; complete recipes for npm packages where licenses are also correctly set per<br>
&gt; package (so you get them in the image manifest). I&#39;d strongly recommend using<br>
&gt; it for this; if you have any issues please let me know.<br>
<br>
</span>So actually it errors in this case because of a test package in the<br>
resolve module (this shows the issue quicker/easier) see:<br>
$ recipetool create &quot;npm://<a href="http://registry.npmjs.org" rel="noreferrer" target="_blank">registry.npmjs.org</a>;name=resolve;version=1.1.7&quot;<br>
<br>
There&#39;s a node_modules dir inside test/ it gets taken as if npm had<br>
resolved/download a dep when in fact it hasn&#39;t. Since node packages<br>
can and do ship their own deps with them sometimes, I think the only<br>
fix would be in npm_split_package_dirs to walk 1 level of the ${PN}<br>
dir only so that:<br>
<br>
${PN}/node_modules -&gt; taken<br>
${PN}/tests/node_modules -&gt; ignored<br>
${PN}/node_modules/${PN}/node_modules -&gt; taken<br>
<br>
Cheers,<br>
Brendan<br>
</blockquote></div><br></div>