Skip to content

Commit 21cf8ee

Browse files
committed
refactored final
1 parent c7452f3 commit 21cf8ee

9 files changed

+45
-59
lines changed

src/OpenMage/ComposerPlugin/Copy/AbstractCopyPlugin.php

+16-15
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
use Composer\Package\BasePackage;
2121
use Composer\Script\Event;
2222
use Exception;
23-
use OpenMage\ComposerPlugin\Copy\Composer as Composer;
24-
use OpenMage\ComposerPlugin\Copy\Npm as Npm;
2523
use Symfony\Component\Filesystem\Exception\IOException;
2624
use Symfony\Component\Filesystem\Filesystem;
2725
use Symfony\Component\Finder\Finder;
@@ -68,7 +66,7 @@ public function __construct(Event $event)
6866
public function processComposerInstall(): void
6967
{
7068
$copySourcePath = null;
71-
if ($this instanceof Composer\PluginInterface) {
69+
if ($this instanceof CopyFromComposerInterface) {
7270
$package = $this->getComposerPackage();
7371
if (!$package) {
7472
return;
@@ -78,15 +76,15 @@ public function processComposerInstall(): void
7876

7977
$filesystem = new Filesystem();
8078

81-
if ($this instanceof Npm\PluginInterface && (!$copySourcePath || !$filesystem->exists($copySourcePath))) {
79+
if ($this instanceof CopyFromNpmInterface && (!$copySourcePath || !$filesystem->exists($copySourcePath))) {
8280
if ($this->event->getIO()->isVerbose()) {
8381
$this->event->getIO()->write(sprintf('Fallback to NPM for %s', $this->getNpmPackageName()));
8482
}
8583
$this->processNpmInstall();
8684
return;
8785
}
8886

89-
if ($copySourcePath && $this instanceof Composer\PluginInterface) {
87+
if ($copySourcePath && $this instanceof CopyFromComposerInterface) {
9088
$finder = Finder::create()
9189
->files()
9290
->in($copySourcePath)
@@ -113,8 +111,11 @@ public function processComposerInstall(): void
113111
*/
114112
public function processNpmInstall(): void
115113
{
116-
if ($this instanceof Npm\PluginInterface) {
117-
$filesystem = new Filesystem();
114+
if ($this instanceof CopyFromNpmInterface) {
115+
if (!$this->getVersion()) {
116+
return;
117+
}
118+
118119
$sourcePath = $this->getNpmFilePath();
119120

120121
if ($this->event->getIO()->isVerbose()) {
@@ -134,14 +135,14 @@ public function processNpmInstall(): void
134135
$this->event->getIO()->write($errorException->getMessage());
135136
return;
136137
}
137-
$content = file_get_contents($sourceFilePath);
138138

139139
if (!$content) {
140140
$this->event->getIO()->write(sprintf('Could not read from %s', $sourceFilePath));
141141
return;
142142
}
143143

144144
try {
145+
$filesystem = new Filesystem();
145146
$targetFilePath = $this->getCopyTargetPath() . '/' . $fileName;
146147
$filesystem->dumpFile($targetFilePath, $content);
147148
if ($this->event->getIO()->isVerbose()) {
@@ -157,7 +158,7 @@ public function processNpmInstall(): void
157158

158159
public function getComposerPackage(): ?BasePackage
159160
{
160-
if ($this instanceof Composer\PluginInterface) {
161+
if ($this instanceof CopyFromComposerInterface) {
161162
$vendorName = $this->getComposerPackageName();
162163
$module = $this->getInstalledComposerPackage($vendorName);
163164
if ($module) {
@@ -185,7 +186,7 @@ public function getComposerPackage(): ?BasePackage
185186
*/
186187
public function getNpmPackage(): ?array
187188
{
188-
if ($this instanceof Npm\PluginInterface) {
189+
if ($this instanceof CopyFromNpmInterface) {
189190
$vendorName = $this->getNpmPackageName();
190191

191192
$locker = $this->event->getComposer()->getLocker();
@@ -229,10 +230,10 @@ public function getNpmPackage(): ?array
229230
*/
230231
protected function getNpmFilePath(): string
231232
{
232-
if ($this instanceof Npm\PluginInterface) {
233+
if ($this instanceof CopyFromNpmInterface) {
233234
$search = ['{{package}}', '{{version}}'];
234235
$replace = [$this->getNpmPackageName(), $this->getVersion()];
235-
return str_replace($search, $replace, Npm\PluginInterface::NPM_FALLBACK_URL);
236+
return str_replace($search, $replace, CopyFromNpmInterface::NPM_FALLBACK_URL);
236237
}
237238
return '';
238239
}
@@ -245,11 +246,11 @@ private function getVersion(): string
245246
if (is_null($this->version)) {
246247
$version = '';
247248
switch (true) {
248-
case $this instanceof Composer\PluginInterface:
249+
case $this instanceof CopyFromComposerInterface:
249250
$package = $this->getComposerPackage();
250251
$version = $package ? $package->getPrettyVersion() : '';
251252
break;
252-
case $this instanceof Npm\PluginInterface:
253+
case $this instanceof CopyFromNpmInterface:
253254
$package = $this->getNpmPackage();
254255
$version = $package ? $package['version'] : '';
255256
break;
@@ -301,7 +302,7 @@ protected function getMageRootDirectoryFromComposer(): string
301302

302303
protected function getCopySourcePath(): string
303304
{
304-
if ($this instanceof Composer\PluginInterface) {
305+
if ($this instanceof CopyFromComposerInterface) {
305306
return sprintf(
306307
'%s/%s/%s',
307308
$this->getVendorDirectoryFromComposer(),

src/OpenMage/ComposerPlugin/Copy/Composer/PluginInterface.php src/OpenMage/ComposerPlugin/Copy/CopyFromComposerInterface.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515

1616
declare(strict_types=1);
1717

18-
namespace OpenMage\ComposerPlugin\Copy\Composer;
18+
namespace OpenMage\ComposerPlugin\Copy;
1919

2020
/**
2121
* PluginInterface
2222
*/
23-
interface PluginInterface
23+
interface CopyFromComposerInterface
2424
{
2525
/**
2626
* Npm name

src/OpenMage/ComposerPlugin/Copy/Npm/PluginInterface.php src/OpenMage/ComposerPlugin/Copy/CopyFromNpmInterface.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515

1616
declare(strict_types=1);
1717

18-
namespace OpenMage\ComposerPlugin\Copy\Npm;
18+
namespace OpenMage\ComposerPlugin\Copy;
1919

2020
/**
2121
* PluginInterface
2222
*/
23-
interface PluginInterface
23+
interface CopyFromNpmInterface
2424
{
2525
public const NPM_FALLBACK_URL = 'https://unpkg.com/{{package}}@{{version}}/dist/';
2626

src/OpenMage/ComposerPlugin/Copy/Composer/Plugins/ChartJs.php src/OpenMage/ComposerPlugin/Copy/Plugins/ChartJs.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515

1616
declare(strict_types=1);
1717

18-
namespace OpenMage\ComposerPlugin\Copy\Composer\Plugins;
18+
namespace OpenMage\ComposerPlugin\Copy\Plugins;
1919

2020
use OpenMage\ComposerPlugin\Copy;
2121

2222
/**
2323
* Class JQuery
2424
*/
25-
class ChartJs extends Copy\AbstractCopyPlugin implements Copy\Composer\PluginInterface, Copy\Npm\PluginInterface
25+
class ChartJs extends Copy\AbstractCopyPlugin implements Copy\CopyFromComposerInterface, Copy\CopyFromNpmInterface
2626
{
2727
public function getNpmPackageName(): string
2828
{

src/OpenMage/ComposerPlugin/Copy/Npm/Plugins/Flatpickr.php src/OpenMage/ComposerPlugin/Copy/Plugins/Flatpickr.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515

1616
declare(strict_types=1);
1717

18-
namespace OpenMage\ComposerPlugin\Copy\Npm\Plugins;
18+
namespace OpenMage\ComposerPlugin\Copy\Plugins;
1919

2020
use OpenMage\ComposerPlugin\Copy;
2121

2222
/**
2323
* Class Flatpickr
2424
*/
25-
class Flatpickr extends Copy\AbstractCopyPlugin implements Copy\Npm\PluginInterface
25+
class Flatpickr extends Copy\AbstractCopyPlugin implements Copy\CopyFromNpmInterface
2626
{
2727
public function getNpmPackageName(): string
2828
{

src/OpenMage/ComposerPlugin/Copy/Composer/Plugins/JQuery.php src/OpenMage/ComposerPlugin/Copy/Plugins/JQuery.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515

1616
declare(strict_types=1);
1717

18-
namespace OpenMage\ComposerPlugin\Copy\Composer\Plugins;
18+
namespace OpenMage\ComposerPlugin\Copy\Plugins;
1919

2020
use OpenMage\ComposerPlugin\Copy;
2121

2222
/**
2323
* Class JQuery
2424
*/
25-
class JQuery extends Copy\AbstractCopyPlugin implements Copy\Composer\PluginInterface
25+
class JQuery extends Copy\AbstractCopyPlugin implements Copy\CopyFromComposerInterface
2626
{
2727
public function getComposerPackageName(): string
2828
{

src/OpenMage/ComposerPlugin/Copy/Composer/Plugins/TinyMce.php src/OpenMage/ComposerPlugin/Copy/Plugins/TinyMce.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
declare(strict_types=1);
1717

18-
namespace OpenMage\ComposerPlugin\Copy\Composer\Plugins;
18+
namespace OpenMage\ComposerPlugin\Copy\Plugins;
1919

2020
use Composer\Package\BasePackage;
2121
use OpenMage\ComposerPlugin\Copy;
@@ -25,7 +25,7 @@
2525
/**
2626
* Class TinyMce
2727
*/
28-
class TinyMce extends Copy\AbstractCopyPlugin implements Copy\Composer\PluginInterface
28+
class TinyMce extends Copy\AbstractCopyPlugin implements Copy\CopyFromComposerInterface
2929
{
3030
public const TINYMCE_LICENSE_FILE = 'LICENSE_TINYMCE.txt';
3131
public const TINYMCE_LICENSE_NOTE = 'LICENSE_TINYMCE_OPENMAGE.txt';

src/OpenMage/ComposerPlugin/Copy/Composer/Plugins/TinyMceLanguages.php src/OpenMage/ComposerPlugin/Copy/Plugins/TinyMceLanguages.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515

1616
declare(strict_types=1);
1717

18-
namespace OpenMage\ComposerPlugin\Copy\Composer\Plugins;
18+
namespace OpenMage\ComposerPlugin\Copy\Plugins;
1919

2020
use Composer\InstalledVersions;
2121
use OpenMage\ComposerPlugin\Copy;
2222

2323
/**
2424
* Class TinyMceLanguages
2525
*/
26-
class TinyMceLanguages extends Copy\AbstractCopyPlugin implements Copy\Composer\PluginInterface
26+
class TinyMceLanguages extends Copy\AbstractCopyPlugin implements Copy\CopyFromComposerInterface
2727
{
2828
public const TINYMCE = 'tinymce/tinymce';
2929

src/OpenMage/ComposerPlugin/Plugin.php

+15-30
Original file line numberDiff line numberDiff line change
@@ -49,56 +49,41 @@ public function uninstall(Composer $composer, IOInterface $io): void {}
4949

5050
/**
5151
* @see EventSubscriberInterface::getSubscribedEvents
52-
* @see processCopyFromVendor
53-
* @see processCopyFromNpm
52+
* @see processCopy
5453
*/
5554
public static function getSubscribedEvents(): array
5655
{
5756
return [
5857
ScriptEvents::POST_INSTALL_CMD => [
59-
['processCopyFromVendor'],
60-
['processCopyFromNpm'],
58+
['processCopy'],
6159
],
6260
ScriptEvents::POST_UPDATE_CMD => [
63-
['processCopyFromVendor'],
64-
['processCopyFromNpm'],
65-
61+
['processCopy'],
6662
],
6763
];
6864
}
6965

7066
/**
71-
* @see \OpenMage\ComposerPlugin\Copy\Composer\Plugins\ChartJs
72-
* @see \OpenMage\ComposerPlugin\Copy\Composer\Plugins\JQuery
73-
* @see \OpenMage\ComposerPlugin\Copy\Composer\Plugins\TinyMce
74-
* @see \OpenMage\ComposerPlugin\Copy\Composer\Plugins\TinyMceLanguages
67+
* @see \OpenMage\ComposerPlugin\Copy\Plugins\ChartJs
68+
* @see \OpenMage\ComposerPlugin\Copy\Plugins\Flatpickr
69+
* @see \OpenMage\ComposerPlugin\Copy\Plugins\JQuery
70+
* @see \OpenMage\ComposerPlugin\Copy\Plugins\TinyMce
71+
* @see \OpenMage\ComposerPlugin\Copy\Plugins\TinyMceLanguages
7572
*/
76-
public function processCopyFromVendor(Event $event): void
73+
public function processCopy(Event $event): void
7774
{
78-
$plugins = $this->getPlugins(__DIR__ . '/Copy/Composer/Plugins');
75+
$plugins = $this->getPlugins(__DIR__ . '/Copy/Plugins');
7976
foreach ($plugins as $plugin) {
8077
$pluginLoaded = new $plugin($event);
81-
if (!$pluginLoaded instanceof Copy\Composer\PluginInterface) {
82-
$this->io->write('Could not load ' . $plugin);
78+
if ($pluginLoaded instanceof Copy\CopyFromComposerInterface) {
79+
$pluginLoaded->processComposerInstall();
8380
continue;
8481
}
85-
$pluginLoaded->processComposerInstall();
86-
}
87-
}
88-
89-
/**
90-
* @see \OpenMage\ComposerPlugin\Copy\Npm\Plugins\Flatpickr
91-
*/
92-
public function processCopyFromNpm(Event $event): void
93-
{
94-
$plugins = $this->getPlugins(__DIR__ . '/Copy/Npm/Plugins');
95-
foreach ($plugins as $plugin) {
96-
$pluginLoaded = new $plugin($event);
97-
if (!$pluginLoaded instanceof Copy\Npm\PluginInterface) {
98-
$this->io->write('Could not load ' . $plugin);
82+
if ($pluginLoaded instanceof Copy\CopyFromNpmInterface) {
83+
$pluginLoaded->processNpmInstall();
9984
continue;
10085
}
101-
$pluginLoaded->processNpmInstall();
86+
$this->io->write('Could not load ' . $plugin);
10287
}
10388
}
10489

0 commit comments

Comments
 (0)