/**
  * @param \Notadd\Foundation\Extension\ExtensionManager $manager
  */
 public function boot(ExtensionManager $manager)
 {
     if ($this->app->isInstalled()) {
         $manager->getExtensions()->each(function (Extension $extension) use($manager) {
             $registrar = $extension->getRegistrar();
             static::$complies = static::$complies->merge($registrar->compiles());
             $this->commands($registrar->loadCommands());
             (new Collection($registrar->loadLocalizationsFrom()))->each(function ($path, $namespace) {
                 $this->loadTranslationsFrom($path, $namespace);
             });
             (new Collection($registrar->loadMigrationsFrom()))->each(function ($paths) {
                 $this->loadMigrationsFrom($paths);
             });
             (new Collection($registrar->loadPublishesFrom()))->each(function ($to, $from) {
                 $this->publishes([$from => $to], 'public');
             });
             (new Collection($registrar->loadViewsFrom()))->each(function ($path, $namespace) {
                 $this->loadViewsFrom($path, $namespace);
             });
             $extension->enable();
             $this->app->make(Dispatcher::class)->fire(new ExtensionEnabled($this->app, $manager, $extension));
             $manager->boot($registrar);
         });
     }
     $this->commands([InstallCommand::class, ListCommand::class, UninstallCommand::class, UpdateCommand::class]);
 }
 /**
  * ExtensionServiceProvider constructor.
  *
  * @param \Notadd\Foundation\Application $application
  */
 public function __construct($application)
 {
     parent::__construct($application);
     static::$complies = new Collection();
 }