When are web components compatible according to the semver specification?
<p>Theoretically speaking I'm trying to figure out when a web component linter reading package.json for <a href="http://jspm.io/" rel="nofollow">JSPM</a> web component dependencies can determine whether a web component dependency graph can be constructed without having any duplicate web components based on the <a href="http://semver.org/" rel="nofollow">Semver Guidelines</a>.</p>

<p>I'll just assume we are only talking about dependencies that are compatible.  For example all dependencies list Polymer 1.0^ as a peer dependency.</p>

<p>IIUC all dependencies that don't have major version breaks are compatible.  So for example if one component lists <code>paper-input:1.3.0^</code> and another lists <code>paper-input:1.5.0^</code> then JSPM can just install the latest version of <code>paper-input</code> below <code>2.0.0</code>, and the components that require it will use that one version.  On the other hand if there's a component that requires <code>paper-input:3.4.0^</code> then the linter can report that there's a transitive dependency that will require having duplicate components.</p>

<p>Am I missing anything?</p>