PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.1
Presto Player v4.3.1
4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / vendor / typisttech / imposter-plugin / src / ImposterPlugin.php
presto-player / vendor / typisttech / imposter-plugin / src Last commit date
AutoloadMerger.php 5 years ago ImposterPlugin.php 5 years ago Transformer.php 5 years ago
ImposterPlugin.php
71 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace TypistTech\Imposter\Plugin;
6
7 use Composer\Composer;
8 use Composer\EventDispatcher\EventSubscriberInterface;
9 use Composer\IO\IOInterface;
10 use Composer\Package\CompletePackage;
11 use Composer\Package\RootPackageInterface;
12 use Composer\Plugin\PluginInterface;
13 use Composer\Script\Event;
14 use Composer\Script\ScriptEvents;
15
16 class ImposterPlugin implements PluginInterface, EventSubscriberInterface
17 {
18 /**
19 * {@inheritDoc}
20 */
21 public function activate(Composer $composer, IOInterface $io)
22 {
23 $package = $composer->getPackage();
24 if ($package instanceof RootPackageInterface) {
25 AutoloadMerger::run($package);
26 }
27
28 if ($package instanceof CompletePackage) {
29 $scripts = array_merge_recursive([
30 ScriptEvents::POST_INSTALL_CMD => [
31 '@composer dump-autoload --optimize',
32 ],
33 ScriptEvents::POST_UPDATE_CMD => [
34 '@composer dump-autoload --optimize',
35 ],
36 ], $package->getScripts());
37
38 $package->setScripts($scripts);
39 }
40 }
41
42 /**
43 * {@inheritDoc}
44 */
45 public static function getSubscribedEvents()
46 {
47 return [
48 ScriptEvents::PRE_AUTOLOAD_DUMP => [
49 ['transform', PHP_INT_MAX - 1000],
50 ],
51 ];
52 }
53
54 public function transform(Event $event): void
55 {
56 Transformer::run(
57 $event->getIO()
58 );
59 }
60
61 public function deactivate(Composer $composer, IOInterface $io)
62 {
63 // Do nothing.
64 }
65
66 public function uninstall(Composer $composer, IOInterface $io)
67 {
68 // Do nothing.
69 }
70 }
71