Disallow using any ComponentSource other than SDC/JS/Block unless `canvas_dev_mode` is installed
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3546903. -->
Reported by: [wim leers](https://www.drupal.org/user/99777)
Related to !82
>>>
<h3 id="overview">Overview</h3>
<p>Per <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3517885" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3517885</a></span>, <a href="https://www.drupal.org/project/canvas/issues/3520484#stable">https://www.drupal.org/project/canvas/issues/3520484#stable</a> won't be done by 1.0.</p>
<p>But people <em>are</em> starting to develop new <code>ComponentSource</code> plugins, and that's <em>excellent!</em> 👏</p>
<p>We just cannot promise the API won't change — in fact, we know it <em>will</em> change: <code>ComponentSourceInterface</code> will change a lot, given the many outstanding pieces in <a href="https://www.drupal.org/project/canvas/issues/3520484#stable">https://www.drupal.org/project/canvas/issues/3520484#stable</a></p>
<p>At the same time, we want to encourage contrib experimentation already, because it'll help us define a better API: one that is informed by a diversity of needs, rather than a myopic set of needs.</p>
<h3 id="proposed-resolution">Proposed resolution</h3>
<ul>
<li>By default, only allow Canvas' own component source plugins.
</li><li>Allow additional ones by installing the <code>canvas_dev_mode</code> module
</li></ul>
<p>IOW: just like <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3520487" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3520487</a></span> is intended to protect users against shooting themselves in the foot, this is, too.</p>
<h3 id="ui-changes">User interface changes</h3>
<p>None.</p>
> Related issue: [Issue #3525728](https://www.drupal.org/node/3525728)
issue