Added
-
Pluginsandplugin_installed()— is a module actually installed in
this application? Answered from the compiledservice-manifest.php, whose
keys are thesolvesdomains of everything the project passed to
withModules([...]), so it needs no knowledge of any particular plugin and no
directory scan.plugin_installed('tenancy.routing')takes a domain or a
module.jsonname, and several at once;installed_plugins()returns the
whole map;Plugins::ensure(...)throws aKernelExceptionnaming what is
missing AND what IS registered, because the usual cause is a domain spelled
differently from the plugin'ssolvesrather than a plugin that is really
absent.A module that cannot work without another one should still declare it in its
ownmodule.jsonrequires[]—CompileServiceManifestStagefails the BOOT
there, which an operator sees at deploy time instead of when a request happens
to reach the feature. This is for whatrequires[]cannot cover: an OPTIONAL
integration that should light up when a plugin is present and degrade quietly
when it is not, and code running outside the module graph — a standalone CLI
entry point, a bootstrap file, a template — which has nomodule.jsonto
declare anything in. An absent plugin is therefore afalse, never a throw,
unlessensure()is the call.
What's Changed
🔄 Other Changes
- chore(homebrew): point the formula at v1.16.0 by @hakeemRash in #174
- release: v1.17.0 — ask whether a plugin is installed without guessing by @hakeemRash in #175
Full Changelog: v1.16.0...v1.17.0