| 403 | // In linked strategy, dev edges on non-root packages produce false UNMET DEPENDENCYs: store package link targets have no parent in the node tree, so they are treated as "top" nodes and their devDependencies are loaded as edges. Those devDeps are never installed. |
| 404 | // Undeclared workspaces no longer need filtering here: loadActual synthesizes their root links so their edges resolve instead of reporting missing. |
| 405 | const filterLinkedStrategyEdges = ({ currentDepth }) => (edge) => { |
| 406 | // Skip dev edges for non-root packages (store packages) |
| 407 | /* istanbul ignore next: store packages no longer carry dev edges, so this guard is not exercised by tests */ |
| 408 | if (currentDepth > 0 && edge.dev) { |
| 409 | return false |
| 410 | } |
| 411 | |
| 412 | return true |
| 413 | } |
| 414 | |
| 415 | const filterByEdgesTypes = ({ link, omit }) => (edge) => { |
| 416 | for (const omitType of omit) { |