MrCaspan So really if I wanted to force an extension out i could delete the folder in the venders folder, change the settings table for enable_extension to remove that extension and remove it from the "require": {} section of the composer.json?
You can't just delete the folder in vendor because it is still referenced from the composer classmap. You can use the composer remove command to fully delete all files of an extension, unless they publish files to public/assets.
If you really want to test one installation and use another for production, just copy over the composer.json file and run composer update every time, this way the same extensions are installed but with different states (enabled, disabled) and settings.
MrCaspan So I could delete the entire vender folder and just run compose to get the Flarum project and that in turn would say it relies on all these projects and each one of those projects if it has a dependency it would also pull down those projects?
You can delete the vendor folder and using composer install make composer download exactly the same files for the vendor folder.
There are some files you will to saveguard as well, like the assets directories that contain avatars and uploads. But aside from the composer files, assets and a database dump anything else is replaceable, even if you would have to install flarum/flarum anew to get index.php, and other files outside of vendor.