{"repo":"coenjacobs/mozart","free":true,"listed":false,"github":"https://github.com/coenjacobs/mozart","clone":"git clone https://github.com/coenjacobs/mozart.git","description":"Developers tool for WordPress plugins: Wraps all your projects dependencies in your own namespace, in order to prevent conflicts with other plugins loading the same dependencies in different versions.","language":"PHP","stars":477,"topics":["composer","autoloader","wordpress","dependency-management"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"Mozart Composes all dependencies as a package inside a WordPress plugin. Load packages through Composer and have them wrapped inside your own namespace. Gone are the days when plugins could load conflicting versions of the same package, resulting in hard to reproduce bugs. This package requires PHP 8.2 or higher in order to run the tool. You can use the resulting files as a bundle, requiring any PHP version you like, even PHP 5.2. How it works Mozart takes your Composer dependencies, copies them into your plugin, and rewrites their namespaces and class names so they can't conflict with other plugins loading the same packages. For namespaced packages, Mozart prefixes the namespace and updates all references: For packages using global-scope classes, Mozart adds a prefix to class names: This happens across the full dependency tree — namespace declarations, use statements, type hints, string references in class exists() calls, and more. The result is a self-contained copy of your dependencies that won't collide with any other plugin's versions. Installation Mozart brings its own dependencies to the table and that potentially introduces its own problems (yes, I realise how meta that is, for a package like this). That's why installing Mozart in isolation, either through the Docker container, the available PHAR file or installing Mozart as a global dependency with Composer is preferred. See docs/installation.md for all installation methods (Docker, PHAR, Composer). Configuration Moz","default_branch":null,"files":null,"tree":[],"storefront":"/r/coenjacobs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/coenjacobs/mozart/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}