Skip to content

Commit b3a4ee4

Browse files
authored
Merge pull request #374 from mglaman/gh370
Register stub files automatically
2 parents 097e1b3 + 842f984 commit b3a4ee4

File tree

2 files changed

+22
-33
lines changed

2 files changed

+22
-33
lines changed

extension.neon

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,39 +15,6 @@ parameters:
1515
- Drupal::VERSION
1616
scanFiles:
1717
- stubs/Twig/functions.stub
18-
stubFiles:
19-
- stubs/Drupal/Component/Plugin/PluginInspectionInterface.stub
20-
- stubs/Drupal/Core/Field/Plugin/Field/FieldItemBase.stub
21-
- stubs/Drupal/Core/Field/Plugin/Field/FieldItemInterface.stub
22-
- stubs/Drupal/Core/Field/Plugin/Field/PreconfiguredFieldUiOptionsInterface.stub
23-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/BooleanItem.stub
24-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/ChangedItem.stub
25-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/CreatedItem.stub
26-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/DecimalItem.stub
27-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/EmailItem.stub
28-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.stub
29-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/FloatItem.stub
30-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/IntegerItem.stub
31-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.stub
32-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/MapItem.stub
33-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.stub
34-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/PasswordItem.stub
35-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/StringItem.stub
36-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/StringItemBase.stub
37-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/StringLongItem.stub
38-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/TimestampItem.stub
39-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/UriItem.stub
40-
- stubs/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.stub
41-
- stubs/Drupal/Core/TypedData/ComplexDataInterface.stub
42-
- stubs/Drupal/Core/TypedData/OptionsProviderInterface.stub
43-
- stubs/Drupal/Core/TypedData/TraversableTypedDataInterface.stub
44-
- stubs/Drupal/Core/TypedData/TypedData.stub
45-
- stubs/Drupal/Core/TypedData/TypedDataInterface.stub
46-
- stubs/Drupal/Core/TypedData/Plugin/DataType/Map.stub
47-
- stubs/Drupal/file/Plugin/Field/FieldType/FileItem.stub
48-
- stubs/Drupal/file/Plugin/Field/FieldType/FileUriItem.stub
49-
- stubs/Drupal/link/LinkItemInterface.stub
50-
- stubs/Drupal/link/Plugin/Field/FieldType/LinkItem.stub
5118
drupal:
5219
drupal_root: '%currentWorkingDirectory%'
5320
entityMapping:
@@ -379,3 +346,6 @@ services:
379346
-
380347
class: mglaman\PHPStanDrupal\Rules\Deprecations\ConditionManagerCreateInstanceContextConfigurationRule
381348
tags: [phpstan.rules.rule]
349+
-
350+
class: mglaman\PHPStanDrupal\Drupal\DrupalStubFilesExtension
351+
tags: [phpstan.stubFilesExtension]
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php declare(strict_types=1);
2+
3+
namespace mglaman\PHPStanDrupal\Drupal;
4+
5+
use PHPStan\PhpDoc\StubFilesExtension;
6+
use Symfony\Component\Finder\Finder;
7+
8+
final class DrupalStubFilesExtension implements StubFilesExtension
9+
{
10+
public function getFiles(): array
11+
{
12+
$files = [];
13+
$finder = Finder::create()->files()->name('*.stub')->in(__DIR__ . '/../../stubs');
14+
foreach ($finder as $file) {
15+
$files[] = $file->getPathname();
16+
}
17+
return $files;
18+
}
19+
}

0 commit comments

Comments
 (0)