diff options
Diffstat (limited to 'scripts/lib/recipetool/create_npm.py')
| -rw-r--r-- | scripts/lib/recipetool/create_npm.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index 25e7ddb472..113a89f6a6 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py | |||
| @@ -146,6 +146,23 @@ class NpmRecipeHandler(RecipeHandler): | |||
| 146 | foreach_dependencies(shrinkwrap, _handle_dependency, dev) | 146 | foreach_dependencies(shrinkwrap, _handle_dependency, dev) |
| 147 | 147 | ||
| 148 | return licfiles, packages | 148 | return licfiles, packages |
| 149 | |||
| 150 | # Handle the peer dependencies | ||
| 151 | def _handle_peer_dependency(self, shrinkwrap_file): | ||
| 152 | """Check if package has peer dependencies and show warning if it is the case""" | ||
| 153 | with open(shrinkwrap_file, "r") as f: | ||
| 154 | shrinkwrap = json.load(f) | ||
| 155 | |||
| 156 | packages = shrinkwrap.get("packages", {}) | ||
| 157 | peer_deps = packages.get("", {}).get("peerDependencies", {}) | ||
| 158 | |||
| 159 | for peer_dep in peer_deps: | ||
| 160 | peer_dep_yocto_name = npm_package(peer_dep) | ||
| 161 | bb.warn(peer_dep + " is a peer dependencie of the actual package. " + | ||
| 162 | "Please add this peer dependencie to the RDEPENDS variable as %s and generate its recipe with devtool" | ||
| 163 | % peer_dep_yocto_name) | ||
| 164 | |||
| 165 | |||
| 149 | 166 | ||
| 150 | def process(self, srctree, classes, lines_before, lines_after, handled, extravalues): | 167 | def process(self, srctree, classes, lines_before, lines_after, handled, extravalues): |
| 151 | """Handle the npm recipe creation""" | 168 | """Handle the npm recipe creation""" |
| @@ -283,6 +300,9 @@ class NpmRecipeHandler(RecipeHandler): | |||
| 283 | classes.append("npm") | 300 | classes.append("npm") |
| 284 | handled.append("buildsystem") | 301 | handled.append("buildsystem") |
| 285 | 302 | ||
| 303 | # Check if package has peer dependencies and inform the user | ||
| 304 | self._handle_peer_dependency(shrinkwrap_file) | ||
| 305 | |||
| 286 | return True | 306 | return True |
| 287 | 307 | ||
| 288 | def register_recipe_handlers(handlers): | 308 | def register_recipe_handlers(handlers): |
