Verbatim mirror of the git.drupal.org repository for Drupal core. Please see the https://github.com/drupal/drupal#contributing. PRs are not accepted on GitHub.
This report presents the forensic synthetic code analysis of drupal/drupal, a PHP project with 4,278 GitHub stars. SynthScan v2.0 examined 1,685,659 lines of code across 14611 source files, recording 7530 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 4.7 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 7530 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …pal/FunctionalTests/GetTestMethodCallerExtendsTest.php | 26 | public function testGetTestMethodCallerChildClass(): void { | CODE |
| LOW | …e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php | 273 | public function testFieldAssertsForTextfields(): void { | CODE |
| LOW | …e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php | 376 | public function testFieldAssertsForCheckbox(): void { | CODE |
| LOW | …e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php | 526 | public function testGetDefaultDriveInstance(): void { | CODE |
| LOW | …e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php | 614 | public function testDeprecationTriggeredInSystemUnderTest(): void { | CODE |
| LOW | …e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php | 659 | public function testSimpleTestBaseUrlValidation(): void { | CODE |
| LOW | …FunctionalTests/HttpKernel/DestructableServiceTest.php | 32 | public function testDestructableServiceExecutionOrder(): void { | CODE |
| LOW | …l/FunctionalTests/Core/Test/ModuleInstallBatchTest.php | 36 | public function testLoadingEntitiesCreatedInBatch(): void { | CODE |
| LOW | …upal/FunctionalTests/Core/Recipe/RecipeCommandTest.php | 103 | public function testErrorOnNonExistentDirectory(): void { | CODE |
| LOW | …upal/FunctionalTests/Core/Recipe/RecipeCommandTest.php | 141 | public function testDefaultInputValueFromConfig(): void { | CODE |
| LOW | …ctionalTests/Core/Recipe/StandardRecipeInstallTest.php | 98 | protected function installDefaultThemeFromClassProperty(ContainerInterface $container): void { | CODE |
| LOW | …ts/Drupal/FunctionalTests/Core/Recipe/RollbackTest.php | 52 | public function testRollbackForInvalidConfig(string $recipe_fixture, string $expected_invalid_config_name): void { | CODE |
| LOW | …unctionalTests/Bootstrap/LegacyFrontControllerTest.php | 51 | public function testSuccessfulFrontControllerRequest() : void { | CODE |
| LOW | …al/FunctionalTests/Bootstrap/UncaughtExceptionTest.php | 110 | public function testUncaughtExceptionCustomExceptionHandler(): void { | CODE |
| LOW | …al/FunctionalTests/Bootstrap/UncaughtExceptionTest.php | 187 | public function testLostDatabaseConnection(): void { | CODE |
| LOW | …tionalTests/Test/FunctionalTestDebugHtmlOutputTest.php | 32 | public function testFunctionalTestDebugHtmlOutput(): void { | CODE |
| LOW | …tionalTests/Test/FunctionalTestDebugHtmlOutputTest.php | 179 | private function getAlteredPhpunitXmlConfigurationFile(array|string $search, array|string $replace): string { | CODE |
| LOW | …Tests/Test/FunctionalTestDebugHtmlOutputHelperTest.php | 28 | public function testCreateFunctionalTestDebugHtmlOutput(): void { | CODE |
| LOW | …upal/FunctionalTests/Update/UpdatePathTestBaseTest.php | 38 | public function testDatabaseProperlyLoaded(): void { | CODE |
| LOW | …ctionalTests/Update/UpdateReducedThemeRegistryTest.php | 32 | public function testUpdatePageWithBrokenThemeHook(): void { | CODE |
| LOW | …upal/FunctionalTests/Entity/RevisionRevertFormTest.php | 117 | protected function testAccessRevertLatestDefault(): void { | CODE |
| LOW | …upal/FunctionalTests/Entity/RevisionRevertFormTest.php | 136 | protected function testAccessRevertLatestForwardRevision(): void { | CODE |
| LOW | …upal/FunctionalTests/Entity/RevisionRevertFormTest.php | 160 | protected function testAccessRevertNonLatest(): void { | CODE |
| LOW | …ests/Entity/RevisionVersionHistoryTranslatableTest.php | 53 | public function testVersionHistoryTranslations(): void { | CODE |
| LOW | …upal/FunctionalTests/Entity/DeleteMultipleFormTest.php | 125 | public function testUntranslatableEntities(): void { | CODE |
| LOW | …ormCorrectUserInputMappingOnFieldDeltaElementsTest.php | 83 | public function testCorrectUserInputMappingOnComplexFields(): void { | CODE |
| LOW | …upal/FunctionalTests/Entity/RevisionDeleteFormTest.php | 114 | public function testAccessDeleteLatestDefault(): void { | CODE |
| LOW | …upal/FunctionalTests/Entity/RevisionDeleteFormTest.php | 141 | protected function testAccessDeleteLatestForwardRevision(): void { | CODE |
| LOW | …upal/FunctionalTests/Entity/RevisionDeleteFormTest.php | 202 | protected function testAccessDeleteNonLatest(): void { | CODE |
| LOW | …tity/ContentEntityFormFieldValidationFilteringTest.php | 135 | public function testFieldWidgetsWithLimitedValidationErrors(): void { | CODE |
| LOW | …/FunctionalTests/Entity/RevisionVersionHistoryTest.php | 84 | public function testDescriptionRevLogNullValues(): void { | CODE |
| LOW | …/FunctionalTests/Entity/RevisionVersionHistoryTest.php | 139 | public function testDescriptionLinkNoAccess(): void { | CODE |
| LOW | …/FunctionalTests/Entity/RevisionVersionHistoryTest.php | 158 | public function testDescriptionLinkWithAccess(): void { | CODE |
| LOW | …/FunctionalTests/Entity/RevisionVersionHistoryTest.php | 187 | public function testDescriptionRevisionLogMessage(): void { | CODE |
| LOW | …/FunctionalTests/Entity/RevisionVersionHistoryTest.php | 204 | public function testOperationRevertRevision(): void { | CODE |
| LOW | …/FunctionalTests/Entity/RevisionVersionHistoryTest.php | 244 | public function testOperationDeleteRevision(): void { | CODE |
| LOW | …/FunctionalTests/Entity/EntityConcurrentRenderTest.php | 68 | public function testSameEntityInMultipleBlocks(): void { | CODE |
| LOW | …unctionalTests/Libraries/JqueryUiLibraryAssetsTest.php | 189 | public function testLibraryAssetLoadingOrder(string $library, array $expected_css, array $expected_js): void { | CODE |
| LOW | …unctionalTests/Libraries/JqueryUiLibraryAssetsTest.php | 269 | public function testAssetLoadingUnchanged(string $library, array $expected_css, array $expected_js): void { | CODE |
| LOW | …/Drupal/FunctionalTests/Image/ToolkitSetupFormTest.php | 84 | public function testGdToolkitRequirements(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentImportTest.php | 140 | public function testDirectContentImportWithDifferentUser(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentImportTest.php | 157 | public function testEntityValidationIsTriggered(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 164 | public function testEntityExportScenarios(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 177 | protected function doTestExportedPasswordIsPreserved(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 213 | protected function doTestExportSingleEntityToDirectory(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 234 | protected function doTestExportWithDependencies(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 320 | protected function doTestMissingDependenciesAreLogged(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 367 | protected function doTestExportFileEntityWithMissingPhysicalFile(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 398 | protected function doTestExportEntitiesFilteredByType(): void { | CODE |
| LOW | …l/FunctionalTests/DefaultContent/ContentExportTest.php | 434 | public function testExportEntitiesFilteredByBundle(): void { | CODE |
| LOW | …ests/DefaultContent/ContentImportAlreadyExistsTest.php | 86 | public static function providerImportEntityThatAlreadyExists(): array { | CODE |
| LOW | …ests/DefaultContent/ContentImportAlreadyExistsTest.php | 97 | public function testImportEntityThatAlreadyExists(Existing $existing): void { | CODE |
| LOW | core/tests/Drupal/FunctionalTests/Theme/ClaroTest.php | 37 | public function testRegressionMissingElementsCss(): void { | CODE |
| LOW | core/tests/Drupal/FunctionalTests/Theme/OliveroTest.php | 171 | public function testSystemSiteBrandingSlogan(): void { | CODE |
| LOW | …l/FunctionalTests/Routing/RouteCachingLanguageTest.php | 133 | public function testLinkTranslationWithAlias(string $source_langcode): void { | CODE |
| LOW | …s/Drupal/FunctionalTests/Routing/DefaultFormatTest.php | 44 | public function testMultipleRoutesWithSameSingleFormat(): void { | CODE |
| LOW | …nctionalTests/Routing/RouteCachingQueryAlteredTest.php | 52 | public function testRouteCollectionCacheAfterException(): void { | CODE |
| LOW | …sts/Drupal/FunctionalTests/Routing/SystemFilesTest.php | 46 | public function testExtensionStreamWrappers(): void { | CODE |
| LOW | …rupal/FunctionalTests/Breadcrumb/Breadcrumb404Test.php | 56 | protected function getBreadcrumbCacheEntries() { | CODE |
| LOW | …FunctionalTests/Installer/InstallerPostInstallTest.php | 30 | public function testVisitInstallerPostInstall(): void { | CODE |
| 6674 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/misc/drupal.js | 268 | * `{@link Drupal.theme}('placeholder')`). | COMMENT |
| LOW | core/misc/drupal.js | 293 | processedArgs[key] = Drupal.theme('placeholder', args[key]); | CODE |
| LOW | core/misc/drupal.js | 593 | * Drupal.theme('placeholder', text); | COMMENT |
| LOW | core/misc/drupal.js | 626 | return `<em class="placeholder">${Drupal.checkPlain(str)}</em>`; | CODE |
| LOW | …al/FunctionalTests/Bootstrap/UncaughtExceptionTest.php | 98 | $message = '@<em class="placeholder">TypeError</em>: Drupal\\\error_test\\\Controller\\\ErrorTestController::{closur | CODE |
| LOW | …upal/FunctionalTests/Entity/RevisionRevertFormTest.php | 353 | $this->assertEquals('Copy of the revision from <em class="placeholder">Sun, 11 Jan 2009 - 17:00</em>.', $latestRevis | CODE |
| LOW | …FunctionalTests/Installer/InstallerTranslationTest.php | 75 | $this->assertSession()->responseContains('<strong>CREATE</strong> ein Test-Tabelle auf Ihrem Datenbankserver mit dem | CODE |
| LOW | …sts/Installer/InstallerSkipPermissionHardeningTest.php | 38 | $this->assertSession()->responseContains('All necessary changes to <em class="placeholder">' . $this->siteDirectory | CODE |
| LOW | …Drupal/FunctionalTests/Installer/InstallerTestBase.php | 106 | 'mail' => 'admin@example.com', | CODE |
| LOW | …tionalTests/Rest/EntityFormDisplayResourceTestBase.php | 90 | 'placeholder' => '', | CODE |
| LOW | …tionalTests/Rest/EntityFormDisplayResourceTestBase.php | 101 | 'placeholder' => '', | CODE |
| LOW | core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php | 502 | 'The submitted value <em class="placeholder">baz</em> in the <em class="placeholder">Test</em> element is not al | CODE |
| LOW | core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php | 515 | 'The submitted value <em class="placeholder">0</em> in the <em class="placeholder">Test</em> element is not allo | CODE |
| LOW | core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php | 528 | 'The submitted value <em class="placeholder">baz</em> in the <em class="placeholder">Test</em> element is not al | CODE |
| LOW | core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php | 537 | 'Test cannot be longer than <em class="placeholder">7</em> characters but is currently <em class="placeholder">8 | CODE |
| LOW | core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php | 550 | 'The submitted value type <em class="placeholder">array</em> in the <em class="placeholder">Test</em> element is | CODE |
| LOW⚡ | …/Tests/Core/Entity/Controller/EntityControllerTest.php | 33 | #[TestWith(['deleteTitle', 'example', 'Delete <em class="placeholder">example</em>'])] | COMMENT |
| LOW⚡ | …/Tests/Core/Entity/Controller/EntityControllerTest.php | 35 | #[TestWith(['editTitle', 'example', 'Edit <em class="placeholder">example</em>'])] | COMMENT |
| LOW | core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php | 192 | $this->mailManager->mail('example', 'key', 'to@example.org', 'en'); | CODE |
| LOW | core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php | 222 | 'from' => 'from@example.org', | CODE |
| LOW⚡ | …sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php | 123 | 'to' => 'to@example.org', | CODE |
| LOW⚡ | …sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php | 124 | 'from' => 'from@example.org', | CODE |
| LOW⚡ | …sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php | 125 | 'reply-to' => 'from@example.org', | CODE |
| LOW | …sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php | 137 | 'Reply-to' => 'from@example.org', | CODE |
| LOW | …sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php | 138 | 'Return-Path' => 'from@example.org', | CODE |
| LOW | …sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php | 159 | $this->equalTo('to@example.org'), | CODE |
| LOW | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 103 | 'Reply-to' => 'from@example.org', | CODE |
| LOW | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 104 | 'Return-Path' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 163 | 'from' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 164 | 'reply-to' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 165 | 'to' => 'to@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 170 | 'reply-to' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 171 | 'to' => 'to@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 177 | 'from' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 178 | 'reply-to' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 179 | 'to' => 'to@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 184 | 'reply-to' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 185 | 'to' => 'to@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 191 | 'from' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 192 | 'reply-to' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 193 | 'to' => 'foo@example.org,bar@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 198 | 'reply-to' => 'from@example.org', | CODE |
| LOW⚡ | …upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php | 199 | 'to' => 'foo@example.org, bar@example.org', | CODE |
| LOW⚡ | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 545 | $test_element['placeholder']['#cache']['keys'] = ['placeholder', 'output', 'can', 'be', 'render', 'cached', 'too']; | CODE |
| LOW⚡ | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 546 | $test_element['placeholder']['#cache']['contexts'] = []; | CODE |
| LOW⚡ | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 547 | $test_element['placeholder']['#create_placeholder'] = TRUE; | CODE |
| LOW⚡ | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 548 | $test_element['placeholder']['#lazy_builder'] = ['Drupal\Tests\Core\Render\PlaceholdersTest::callback', $args]; | CODE |
| LOW⚡ | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 640 | $has_uncacheable_lazy_builder = !isset($test_element['placeholder']['#cache']['keys']) && isset($test_element['place | CODE |
| LOW⚡ | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 646 | $edge_case_a6_uncacheable = $has_uncacheable_lazy_builder && $test_element['placeholder']['#lazy_builder'][0] === 'D | CODE |
| LOW⚡ | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 648 | $edge_case_a7_uncacheable = $has_uncacheable_lazy_builder && $test_element['placeholder']['#lazy_builder'][0] === 'D | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 100 | 'placeholder' => [ | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 116 | 'placeholder' => [ | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 132 | 'placeholder' => [ | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 147 | 'placeholder' => [ | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 168 | 'placeholder' => [ | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 184 | 'placeholder' => [ | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 207 | $keys = ['placeholder', 'output', 'can', 'be', 'render', 'cached', 'too']; | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 216 | $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a1['placeholder']); | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 232 | $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys; | CODE |
| LOW | …/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php | 260 | $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a2['placeholder']); | CODE |
| 377 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .gitlab-ci.yml | 1 | # cspell:ignore codequality Micheh micheh webide testdox updatedb stylelintrc fastzip phpcscache Ksection drupaltestbot | COMMENT |
| LOW | .gitlab-ci.yml | 21 | # * On commit | COMMENT |
| LOW | .gitlab-ci.yml | 41 | - if: $CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_ROOT_NAMESPACE == "project" | COMMENT |
| LOW | robots.txt | 1 | # | COMMENT |
| LOW | core/.deprecation-ignore.txt | 1 | # This file contains patterns to be ignored while testing for use of | COMMENT |
| LOW | core/core.services.yml | 961 | http_kernel.basic: | COMMENT |
| LOW | core/misc/ajax.js | 581 | return ( | COMMENT |
| LOW | core/misc/ajax.js | 881 | // There is no simple way to know which submission mechanism will be used, | COMMENT |
| LOW | …ormCorrectUserInputMappingOnFieldDeltaElementsTest.php | 101 | "$this->fieldName[1][_weight]" => -1, | COMMENT |
| LOW | …sts/Composer/Template/ComposerProjectTemplatesTest.php | 261 | // CI environment always forces composer commands to run in the | COMMENT |
| LOW | core/tests/Drupal/Tests/RequirementsPageTrait.php | 101 | // header or each other. There is no guaranteed wrapper we can rely on | COMMENT |
| LOW | core/tests/Drupal/Tests/Core/Form/ConfigTargetTest.php | 361 | /** | COMMENT |
| LOW | …ests/Core/Cache/BackendChainImplementationUnitTest.php | 61 | COMMENT | |
| LOW | …e/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php | 241 | COMMENT | |
| LOW | core/tests/Drupal/Tests/Core/Batch/PercentagesTest.php | 41 | // Set up an array of test cases. | COMMENT |
| LOW | core/tests/Drupal/Tests/Core/Batch/PercentagesTest.php | 61 | [200, 1, '0.5'], | COMMENT |
| LOW | …ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php | 121 | // vendor directory, so that the installed plugin keeps the old code | COMMENT |
| LOW | …ent/Annotation/Doctrine/StaticReflectionParserTest.php | 21 | #[TestWith(["AttributeClass", "Attribute", true])] | COMMENT |
| LOW | …sts/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php | 201 | // as the one to clear the log element) are only executed for requests | COMMENT |
| LOW | …rupal/KernelTests/Core/Config/SchemaCheckTraitTest.php | 121 | COMMENT | |
| LOW | …elTests/Core/Config/ConfigEntityValidationTestBase.php | 561 | COMMENT | |
| LOW | …ts/Core/TypedData/ValidKeysConstraintValidatorTest.php | 301 | // `requiredKey: false` set, then they MUST be set. In other | COMMENT |
| LOW | …pal/KernelTests/Core/Entity/ContentEntityCacheTest.php | 161 | // from the persistent entity cache. This simulates e.g. a behavior where | COMMENT |
| LOW | …pal/KernelTests/Core/Entity/ContentEntityCloneTest.php | 341 | } | COMMENT |
| LOW | …sts/Drupal/KernelTests/Core/Entity/EntityQueryTest.php | 521 | ->accessCheck(FALSE) | COMMENT |
| LOW | …sts/Drupal/KernelTests/Core/Entity/EntityQueryTest.php | 541 | // 15 blue pl * | COMMENT |
| LOW | …s/Drupal/KernelTests/Core/Menu/MenuTreeStorageTest.php | 221 | // =============== | COMMENT |
| LOW | …ts/Drupal/KernelTests/Core/Hook/HookAlterOrderTest.php | 141 | // This method has a reorder targeting it, but it is using a hook that | COMMENT |
| LOW | …sts/Core/Session/AccessPolicyProcessorInFibersTest.php | 41 | COMMENT | |
| LOW | …tests/Drupal/KernelTests/Config/Schema/MappingTest.php | 301 | ], | COMMENT |
| LOW | core/recipes/example/recipe.yml | 1 | # The name of the recipe. | COMMENT |
| LOW | core/scripts/dev/commit-code-check.sh | 1 | #!/bin/bash | COMMENT |
| LOW | core/scripts/dev/commit-code-check.sh | 101 | COMMENT | |
| LOW | core/lib/Drupal/Core/Database/ReplicaKillSwitch.php | 81 | // | COMMENT |
| LOW | core/lib/Drupal/Core/Database/Install/Tasks.php | 221 | COMMENT | |
| LOW | core/lib/Drupal/Core/Form/FormValidator.php | 361 | protected function determineLimitValidationErrors(FormStateInterface &$form_state) { | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormState.php | 1261 | foreach ($this->getCleanValueKeys() as $value) { | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormState.php | 1281 | // 'baz' => 'button_value', | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 301 | COMMENT | |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 321 | $form_state->setFormState($cache_form_state); | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 341 | // All of the handlers in the pipeline receive $form_state by reference and | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 361 | // $ajax_form_request that it's an AJAX request for this particular form. | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 381 | // we're here, it means that this is either a form being viewed initially | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 401 | // method, we base the decision to cache on the form method, because: | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 641 | // Typically, a submit handler calls $form_state->setRebuild(TRUE) when | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 761 | // and #parents being set elsewhere. | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 1161 | // Allow Ajax submissions to the form action to bypass verification. This | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 1241 | // @todo Remove this files prefix now? | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 1261 | // who has JavaScript disabled trigger that condition? Instead, developers | COMMENT |
| LOW | core/lib/Drupal/Core/Form/FormBuilder.php | 1301 | $input_exists = NULL; | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/ModuleWeight.php | 61 | * | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/ModuleInstaller.php | 401 | // particular, this happens when installing Drupal via Drush, as the | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/ModuleInstaller.php | 441 | // \Drupal\Tests\forum\Functional\Module\DependencyTest::testUninstallDependents(). | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/ExtensionDiscovery.php | 161 | COMMENT | |
| LOW | core/lib/Drupal/Core/Extension/ExtensionDiscovery.php | 421 | // symlinks (to allow extensions to be linked from elsewhere), and return | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/ModuleHandler.php | 461 | // First we get the the modules in moduleList order, this order is module | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/module.api.php | 381 | * @see install_tasks() | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/module.api.php | 401 | ], | COMMENT |
| LOW | core/lib/Drupal/Core/Extension/module.api.php | 421 | 'display_name' => t('Import additional data'), | COMMENT |
| LOW | core/lib/Drupal/Core/Cache/DatabaseBackend.php | 121 | } | COMMENT |
| 199 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …sts/Composer/Template/ComposerProjectTemplatesTest.php | 271 | // Verify that there is an autoloader. This is written by the scaffold | COMMENT |
| MEDIUM | …/Composer/Plugin/Scaffold/Integration/AppendOpTest.php | 58 | // Assert the target contained the contents from the correct scaffold files. | COMMENT |
| MEDIUM | …Composer/Plugin/Scaffold/Integration/ReplaceOpTest.php | 36 | // Assert the target contained the contents from the correct scaffold file. | COMMENT |
| MEDIUM | …Composer/Plugin/Scaffold/Integration/ReplaceOpTest.php | 54 | // Assert the target contained the contents from the correct scaffold file. | COMMENT |
| MEDIUM | …Composer/Plugin/Scaffold/Integration/ReplaceOpTest.php | 94 | // Assert the target contained the contents from the correct scaffold file. | COMMENT |
| MEDIUM | …s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php | 118 | // Test drupal:scaffold. | COMMENT |
| MEDIUM | …s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php | 174 | // Test scaffold. Expect an error. | COMMENT |
| MEDIUM | …s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php | 380 | // top-level composer.json excludes it from the files to scaffold. | COMMENT |
| MEDIUM | …s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php | 399 | // Assert scaffold files are written in the correct locations. | COMMENT |
| MEDIUM | …ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php | 112 | // Run the scaffold command. | COMMENT |
| MEDIUM | …ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php | 156 | // Run the scaffold command. | COMMENT |
| MEDIUM | …ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php | 176 | // Run the scaffold command. | COMMENT |
| MEDIUM | …ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php | 222 | // Run the scaffold command. | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 85 | // since there is no lock file. Ensure that scaffold operation ran. | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 88 | // Run composer required to add in the scaffold-override-fixture. This | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 90 | // We expect that requiring this library should re-scaffold, resulting | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 97 | // Delete one scaffold file, just for test purposes, then run | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 98 | // 'composer update' and see if the scaffold file is replaced. | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 103 | // Delete the same test scaffold file again, then run | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 104 | // 'composer drupal:scaffold' and see if the scaffold file is | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 110 | // Delete the same test scaffold file yet again, then run | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 111 | // 'composer install' and see if the scaffold file is re-scaffolded. | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 134 | // since there is no lock file. Ensure that scaffold operation ran. | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 140 | // Run scaffold operation again. It should not print anything. | COMMENT |
| MEDIUM⚡ | …mposer/Plugin/Scaffold/Functional/ComposerHookTest.php | 145 | // Delete a file and run it again. It should re-scaffold the removed file. | COMMENT |
| MEDIUM | …ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php | 71 | // First step: set up the Scaffold plug in. Ensure that scaffold operation | COMMENT |
| MEDIUM | …ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php | 76 | // Next, bring back packagist.org and install core-composer-scaffold:8.8.0. | COMMENT |
| MEDIUM | …ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php | 101 | // Remove a scaffold file and run the scaffold command again to prove that | COMMENT |
| MEDIUM | core/scripts/PackageManagerFixtureCreator.php | 36 | // Copy drupal scaffold file mapping from core/composer.json to | COMMENT |
| MEDIUM | core/lib/Drupal/Core/Session/SessionConfiguration.php | 31 | // @see core/assets/scaffold/files/default.services.yml | COMMENT |
| MEDIUM | …ge_manager/tests/src/Build/TemplateProjectTestBase.php | 502 | // scaffold files, like Drupal core. | COMMENT |
| MEDIUM | …age_manager/tests/src/Kernel/ComposerInspectorTest.php | 505 | // The scaffold and runtime plugins are explicitly disallowed by the | COMMENT |
| MEDIUM | …/Kernel/PathExcluder/SiteConfigurationExcluderTest.php | 107 | // to ensure the scaffold plugin can copy certain files into there. | COMMENT |
| MEDIUM | …ckage_manager/src/PathExcluder/UnknownPathExcluder.php | 97 | // operations, along with `composer.json`, `composer.lock`, and any scaffold | COMMENT |
| MEDIUM | …ckage_manager/src/PathExcluder/UnknownPathExcluder.php | 107 | // to do anything special for scaffold files that live in it. | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/ComposerScaffoldCommand.php | 41 | For more information, see https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffold. | CODE |
| MEDIUM | composer/Plugin/Scaffold/ScaffoldFilePath.php | 132 | // Calculate the full path to the source scaffold file. | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Handler.php | 136 | // may declare scaffold files. Note that the top-level composer.json file | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Handler.php | 144 | // Call any pre-scaffold scripts that may be defined. | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Handler.php | 159 | // Get the scaffold files whose contents on disk match what we are about to | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Handler.php | 181 | // Add the managed scaffold files to .gitignore if applicable. | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Handler.php | 185 | // Call post-scaffold scripts. | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Handler.php | 233 | // Warn the user if they allow a package that does not have any scaffold | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Handler.php | 235 | // but might not have scaffold files (version 8.7.x and earlier). | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/README.md | 21 | [drupal-composer/drupal-project](https://github.com/drupal-composer/drupal-scaffold) | CODE |
| MEDIUM | composer/Plugin/Scaffold/README.md | 38 | files. See [altering scaffold files](#altering-scaffold-files) for more | CODE |
| MEDIUM | composer/Plugin/Scaffold/README.md | 192 | scaffold files](#altering-scaffold-files), above. Excluding a file means that | CODE |
| MEDIUM | composer/Plugin/Scaffold/README.md | 503 | ### drupal-composer/drupal-scaffold | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/AllowedPackages.php | 100 | // which of the newly-installed packages have scaffold operations, and | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/AllowedPackages.php | 101 | // whether or not they are allowed to scaffold by the allowed-packages | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Operations/AppendOp.php | 120 | // Be extra-noisy of creating a new file or appending to a non-scaffold | COMMENT |
| MEDIUM | composer/Plugin/Scaffold/Operations/AppendOp.php | 162 | // If there is no existing scaffold file at the target location, then any | COMMENT |
| MEDIUM | …/Plugin/Scaffold/Operations/ScaffoldFileCollection.php | 41 | // when two projects scaffold the same file and we have to either replace or | COMMENT |
| MEDIUM | …/Plugin/Scaffold/Operations/ScaffoldFileCollection.php | 63 | // path, notify the scaffold operation of this fact. | COMMENT |
| MEDIUM | …/Plugin/Scaffold/Operations/ScaffoldFileCollection.php | 68 | // Combine the scaffold operation with the destination and record it. | COMMENT |
| MEDIUM | composer/Template/README.txt | 66 | https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffold | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/lib/Drupal/Core/TypedData/TypedData.php | 178 | // Variables in double quotes used to leverage fast string concatenation. | COMMENT |
| MEDIUM | core/lib/Drupal/Core/Template/TwigEnvironment.php | 110 | // "serialization.yaml" service. This allows the core serializer to utilize | COMMENT |
| MEDIUM | core/lib/Drupal/Core/Template/TwigEnvironment.php | 173 | // "serialization.yaml" service. This allows the core serializer to utilize | COMMENT |
| MEDIUM | core/lib/Drupal/Core/Routing/RouteProvider.php | 442 | // the explicit cast makes this sort more robust against unexpected input. | COMMENT |
| MEDIUM | …config_translation/src/FormElement/FormElementBase.php | 58 | // other in the source for each element, which is why we utilize the | COMMENT |
| MEDIUM | core/modules/locale/src/LocaleProjectStorage.php | 212 | // check for possible out-of-date project information more robust. | COMMENT |
| MEDIUM | …dules/file/src/Plugin/Field/FieldWidget/FileWidget.php | 231 | // Essentially we use the managed_file type, extended with some | COMMENT |
| MEDIUM | core/modules/comment/src/CommentViewBuilder.php | 112 | // Pre-load associated users into cache to leverage multiple loading. | COMMENT |
| MEDIUM | …aint/SourceEditingRedundantTagsConstraintValidator.php | 114 | // Essentially when assessing a particular value (for example `<span>`), | COMMENT |
| MEDIUM | …odules/views/src/Entity/Render/EntityFieldRenderer.php | 140 | // leverage multiple-entity building of formatter output, we build the | COMMENT |
| MEDIUM | core/modules/help/src/HelpTopicTwigLoader.php | 77 | // utilize core related functionality which isn't available as the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …b/Drupal/Core/Plugin/Context/LazyContextRepository.php | 69 | // runtime contexts and assign them as requested. | COMMENT |
| HIGH⚡ | …ode/tests/src/Functional/NodeFieldMultilingualTest.php | 114 | // Verify that body is correctly displayed using Italian as requested | COMMENT |
| HIGH⚡ | …ode/tests/src/Functional/NodeFieldMultilingualTest.php | 119 | // Verify that body is correctly displayed using English as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/lib/Drupal/Core/Lock/LockBackendInterface.php | 25 | * name of the function performing the operation. Here is a simple example: | COMMENT |
| MEDIUM⚡ | …mo_umami/tests/src/Functional/DemoUmamiProfileTest.php | 289 | $web_assert->pageTextContains('This site is intended for demonstration purposes.'); | CODE |
| MEDIUM⚡ | …mo_umami/tests/src/Functional/DemoUmamiProfileTest.php | 294 | $web_assert->pageTextContains('This site is intended for demonstration purposes.'); | CODE |
| MEDIUM⚡ | …mo_umami/tests/src/Functional/DemoUmamiProfileTest.php | 299 | $web_assert->pageTextContains('This site is intended for demonstration purposes.'); | CODE |
| MEDIUM⚡ | …mo_umami/tests/src/Functional/DemoUmamiProfileTest.php | 304 | $web_assert->pageTextContains('This site is intended for demonstration purposes.'); | CODE |
| MEDIUM⚡ | …mo_umami/tests/src/Functional/DemoUmamiProfileTest.php | 309 | $web_assert->pageTextContains('This site is intended for demonstration purposes.'); | CODE |
| LOW | …article_body/give-it-a-go-and-grow-your-own-herbs.html | 15 | <p>Coriander can grow indoors, but unlike the other herbs, it doesn't like full sun. If you have a south facing kitchen | CODE |
| MEDIUM | core/profiles/demo_umami/src/Hook/DemoUmamiHooks.php | 98 | '#template' => '<a class="toolbar-warning" href="{{ more_info_link }}">This site is intended for demonstration p | CODE |
| MEDIUM | core/profiles/demo_umami/src/Hook/DemoUmamiHooks.php | 172 | 'content' => (string) $this->t('This site is intended for demonstration purposes.'), | CODE |
| LOW | …e/modules/system/src/Controller/DbUpdateController.php | 450 | $message .= '<p>' . $this->t("<strong>Reminder: don't forget to set the <code>\$settings['update_free_access']</co | CODE |
| MEDIUM | …dules/views/src/Plugin/views/argument/NullArgument.php | 36 | '#description' => $this->t('By checking this field, you can use this to make sure views with more arguments than n | CODE |
| LOW | …e/modules/views/src/Plugin/views/field/EntityField.php | 572 | '#description' => $this->t('If checked, multiple values for this field will be shown in the same row. If not check | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | core/modules/ckeditor5/js/ckeditor5.js | 402 | editor.ui.view.editable.element.append(element); | CODE |
| CRITICAL | …keditor5_plugins/drupalMedia/src/drupalmediaediting.js | 220 | this.editor.editing.view.domConverter.blockElements.push('drupal-media'); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | core/lib/Drupal/Core/Command/GenerateTheme.php | 167 | // Step 1: Replace old patterns with placeholders in content. | COMMENT |
| LOW⚡ | core/lib/Drupal/Core/Command/GenerateTheme.php | 169 | // Step 2: Replace placeholders with new patterns in content. | COMMENT |
| LOW | core/lib/Drupal/Core/Command/GenerateTheme.php | 191 | // Step 3: Repeat for file renaming. | COMMENT |
| LOW | core/modules/file/src/Element/ManagedFile.php | 244 | // Set up the buttons first since we need to check if they were clicked. | COMMENT |
| LOW | core/modules/mysql/src/Driver/Database/mysql/Schema.php | 689 | // information_schema.columns so we need to check if the table exists. | COMMENT |
| LOW⚡ | …ia/tests/src/Functional/Rest/MediaResourceTestBase.php | 332 | // Step 1: upload file, results in File entity marked temporary. | COMMENT |
| LOW⚡ | …ia/tests/src/Functional/Rest/MediaResourceTestBase.php | 338 | // Step 2: create Media entity using the File, makes File entity permanent. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | core/lib/Drupal/Core/Command/GenerateTheme.php | 167 | // Step 1: Replace old patterns with placeholders in content. | COMMENT |
| LOW⚡ | core/lib/Drupal/Core/Command/GenerateTheme.php | 169 | // Step 2: Replace placeholders with new patterns in content. | COMMENT |
| LOW | core/lib/Drupal/Core/Command/GenerateTheme.php | 191 | // Step 3: Repeat for file renaming. | COMMENT |
| LOW | …s/node/tests/src/Functional/Views/NodeLanguageTest.php | 241 | // IMPORTANT: Make sure this part of the test is last -- it is changing | COMMENT |
| LOW⚡ | …ia/tests/src/Functional/Rest/MediaResourceTestBase.php | 332 | // Step 1: upload file, results in File entity marked temporary. | COMMENT |
| LOW⚡ | …ia/tests/src/Functional/Rest/MediaResourceTestBase.php | 338 | // Step 2: create Media entity using the File, makes File entity permanent. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/core.libraries.yml | 28 | # This file is not aggregated to force the creation of a new aggregate file | COMMENT |
| MEDIUM | …themes/sdc_theme_test/components/bar/bar.component.yml | 1 | # This file is intentionally left empty | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …migrate/src/Plugin/migrate/process/SkipRowIfNotSet.php | 28 | * # Check if the "contact" key exists in the "data" array. | COMMENT |