:rocket: GraphQL API for WordPress
This report summarizes scanner evidence for wp-graphql/wp-graphql, a PHP project with 3,791 GitHub stars. SynthScan examined 377,907 lines of code across 1873 source files, recording 2424 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 6.7 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1617 finding(s).
Are imports declared and package/API names verified? 677 finding(s).
Are wrappers, guards, and repeated structures necessary? 1588 finding(s).
Which changes need focused human review? 2424 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2424 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | design/brand/smart-cache/WPGraphQLSmartCacheLogo.tsx | 28 | export function WPGraphQLSmartCacheLogoMark({ | CODE |
| LOW | …s/wp-graphql/tests/acceptance/NodeByUriRestApiCest.php | 63 | public function nodeByUriWithRestApiEndpointReturnsGraphQLResponse( AcceptanceTester $I ) { | CODE |
| LOW | …s/wp-graphql/tests/acceptance/NodeByUriRestApiCest.php | 151 | public function nodeByUriWithRestApiAbsoluteUrlReturnsGraphQLResponse( AcceptanceTester $I ) { | CODE |
| LOW | …-graphql/tests/acceptance/CookieAuthenticationCest.php | 119 | public function unauthenticatedRequestReturnsPublicData( AcceptanceTester $I ) { | CODE |
| LOW | …-graphql/tests/acceptance/CookieAuthenticationCest.php | 167 | public function requestWithValidNonceHeaderAuthenticates( AcceptanceTester $I ) { | CODE |
| LOW | …-graphql/tests/acceptance/CookieAuthenticationCest.php | 206 | public function requestWithWpRestNonceWorks( AcceptanceTester $I ) { | CODE |
| LOW | …-graphql/tests/acceptance/CookieAuthenticationCest.php | 245 | public function loggedInUserWithoutNonceIsTreatedAsGuest( AcceptanceTester $I ) { | CODE |
| LOW | …-graphql/tests/acceptance/CookieAuthenticationCest.php | 283 | public function loggedInUserWithoutNonceCannotSeeDraftPosts( AcceptanceTester $I ) { | CODE |
| LOW | …-graphql/tests/acceptance/CookieAuthenticationCest.php | 319 | public function loggedInUserWithNonceCanSeeDraftPosts( AcceptanceTester $I ) { | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 79 | private function skipIfAuthorizationHeadersNotSupported( AcceptanceTester $I ): void { | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 94 | private function createAppPasswordAuthHeader( AcceptanceTester $I, int $user_id, string $name = 'Test App Password' ): | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 128 | private function prepareAppPasswordRequest( AcceptanceTester $I, string $auth_header ): void { | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 141 | public function applicationPasswordAuthWorksWithoutNonce( AcceptanceTester $I ) { | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 190 | public function applicationPasswordCanAccessPrivateData( AcceptanceTester $I ) { | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 239 | public function applicationPasswordCanExecuteMutations( AcceptanceTester $I ) { | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 298 | public function invalidApplicationPasswordIsRejected( AcceptanceTester $I ) { | CODE |
| LOW | …s/acceptance/ApplicationPasswordAuthenticationCest.php | 344 | public function applicationPasswordWorksWithGetRequests( AcceptanceTester $I ) { | CODE |
| LOW | …p-graphql/tests/acceptance/TwoDomainsSupportedCest.php | 5 | public function queryDifferentLocalDomainsTest( AcceptanceTester $I ) { | CODE |
| LOW | …/wp-graphql/tests/wpunit/ModelFieldMemoizationTest.php | 56 | public function testAliasedFieldReReadResolvesMemoizedValueAsData() { | CODE |
| LOW | …/wp-graphql/tests/wpunit/ModelFieldMemoizationTest.php | 85 | public function testModelReReadReturnsMemoizedStringValue() { | CODE |
| LOW | …/wp-graphql/tests/wpunit/ModelFieldMemoizationTest.php | 109 | public function testMemoizedFalseyValuesSurviveReRead() { | CODE |
| LOW | …/wp-graphql/tests/wpunit/ModelFieldMemoizationTest.php | 158 | public function testNonClosureCallbackFieldsResolveAndMemoize() { | CODE |
| LOW | …/wp-graphql/tests/wpunit/ModelFieldMemoizationTest.php | 229 | public function testMemoizedCallableStringIsNeverInvokedOnReRead() { | CODE |
| LOW | …/wp-graphql/tests/wpunit/ModelFieldMemoizationTest.php | 271 | public function testCallableStringFieldDefinitionIsReturnedAsData() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/EnqueuedStylesheetsTest.php | 1694 | public function testEnqueuedStylesheetsCanBeFilteredByHandle() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/EnqueuedStylesheetsTest.php | 1738 | public function testRegisteredStylesheetsCanBeFilteredByHandle() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 38 | public function testObjectTypeInheritsInterfaceFields() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 133 | public function testInterfaceCanImplementInterface() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 292 | public function testObjectImplementingInterfaceWhichImplementsAnotherInterfaceHasBothInterfacesImplemented() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 373 | public function testObjectTypeThatImplementsNodeInterfaceHasIdField() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 429 | public function testInterfaceImplementingItselfDoesNotCauseInfiniteRecursion() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 457 | public function testArgsOnInterfaceFieldAreAppliedToObjectField() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 598 | public function testInvalidArgsOnInheritedObjectFieldsAreCaptured() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 693 | public function testInterfaceWithNonNullableArg() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 775 | public function testDebugMessageNotShownIfInterfaceFieldHasArgs() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 862 | public function testInterfaceFieldTypeNormalization() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 950 | public function testInterfaceFieldInheritanceWithMissingFields() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 1026 | public function testInterfaceFieldArgumentValidation() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 1115 | public function testInterfaceFieldInheritanceWithConflictingTypes() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 1174 | public function testInterfaceFieldInheritanceWithMissingRequiredArgs() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 1253 | public function testInterfaceFieldInheritanceWithNestedTypes() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/InterfaceTest.php | 1332 | public function testInterfaceFieldInheritanceAndMerging() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/SettingsQueriesTest.php | 33 | public function testAllSettingsQueryAsEditor() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/SettingsQueriesTest.php | 163 | public function testGeneralSettingsUrlDoesntThrowErrorOnMultisite() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/SettingsQueriesTest.php | 195 | public function testGeneralSettingsHomeUrlIsExposed() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/SettingsQueriesTest.php | 262 | public function testFlatTimezoneSettingFallsBackToUtcOffset() { | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/SettingsQueriesTest.php | 282 | public function testAllSettingsFieldIsHiddenWhenNoSettingsAreExposed() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 115 | public function testCreatePostObjectWithoutProperCapabilities() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 141 | public function testCreatePageObjectByAdmin() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 167 | public function testCreatePostWithNoInput() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 187 | public function testCreatePostByAuthorCanHavePublishStatus() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 220 | public function testCreatePostByContributorCannotHavePublishStatus() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 313 | public function testCreatePostWithPostAuthor() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 364 | public function createPostWithDatesMutation( $input ) { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 401 | public function testDateInputsForCreatePost() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 440 | public function testDateInputsWithSlashFormattingForCreatePost() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 479 | public function testDateInputsWithStatusPendingAndDashesCreatePost() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 519 | public function testDateInputsWithDraftAndPublishUpdatePost() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 775 | public function testDeletePostOfAnotherType() { | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/PostObjectMutationsTest.php | 968 | public function testContributorCannotPublishOwnDraftViaUpdatePost() { | CODE |
| 1398 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | design/brand/ide/WPGraphQLIDELogo.tsx | 177 | // ── Usage Examples ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/ide/tokens.ts | 6 | // ── Shared Navy ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/ide/tokens.ts | 13 | // ── WPGraphQL Orange ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/ide/tokens.ts | 20 | // ── RadiQL Cyan ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/ide/tokens.ts | 27 | // ── WPGraphQL IDE Violet ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/ide/tokens.ts | 35 | // ── Product tokens ──────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/ide/tokens.ts | 77 | // ── SVG Paths ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tailwind.config.ts | 25 | // ── Color Palette ────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tailwind.config.ts | 109 | // ── Typography ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/wpgraphql/tailwind.config.ts | 137 | // ── Border Radius ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/wpgraphql/tailwind.config.ts | 147 | // ── Spacing ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | design/brand/wpgraphql/tailwind.config.ts | 153 | // ── Box Shadow ───────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tailwind.config.ts | 165 | // ── Keyframes / Animation ────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tokens.ts | 7 | // ── Raw Color Values ────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tokens.ts | 45 | // ── Typography ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tokens.ts | 70 | // ── Spacing ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tokens.ts | 86 | // ── Border Radius ───────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tokens.ts | 97 | // ── Shadows ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/tokens.ts | 107 | // ── Utility: cn class helper (mirrors shadcn pattern) ───────── | COMMENT |
| MEDIUM | design/brand/wpgraphql/WPGraphQLLogo.tsx | 110 | // ── Usage Examples ──────────────────────────────────────────── | COMMENT |
| MEDIUM | design/brand/smart-cache/WPGraphQLSmartCacheLogo.tsx | 144 | // ── Usage Examples ──────────────────────────────────────────── | COMMENT |
| MEDIUM | bin/setup-wp-env.sh | 3 | # =========================================== | COMMENT |
| MEDIUM | bin/setup-wp-env.sh | 5 | # =========================================== | COMMENT |
| MEDIUM | bin/setup-wp-env.sh | 204 | #============================================ | COMMENT |
| MEDIUM | bin/setup-wp-env.sh | 206 | #============================================ | COMMENT |
| MEDIUM | bin/run-acf-e2e-local.sh | 2 | # ============================================================================= | COMMENT |
| MEDIUM | bin/run-acf-e2e-local.sh | 4 | # ============================================================================= | COMMENT |
| MEDIUM | bin/run-acf-e2e-local.sh | 30 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | bin/smoke-test.sh | 2 | # =========================================== | COMMENT |
| MEDIUM⚡ | bin/smoke-test.sh | 4 | # =========================================== | COMMENT |
| MEDIUM⚡ | bin/smoke-test.sh | 21 | # =========================================== | COMMENT |
| MEDIUM | bin/smoke-test.sh | 61 | # =========================================== | COMMENT |
| MEDIUM | bin/smoke-test.sh | 63 | # =========================================== | COMMENT |
| MEDIUM | bin/smoke-test.sh | 124 | # =========================================== | COMMENT |
| MEDIUM | bin/smoke-test.sh | 126 | # =========================================== | COMMENT |
| MEDIUM | bin/smoke-test.sh | 189 | # =========================================== | COMMENT |
| MEDIUM | bin/smoke-test.sh | 191 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/smoke-test.yml | 1 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/smoke-test.yml | 3 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/smoke-test.yml | 25 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 48 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 50 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 53 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 153 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 155 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 158 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 289 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 291 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/smoke-test.yml | 296 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/update-release-pr.yml | 1 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/update-release-pr.yml | 3 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/update-release-pr.yml | 20 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 25 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 27 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 30 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 138 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 140 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 143 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 222 | # =========================================== | COMMENT |
| MEDIUM⚡ | .github/workflows/lint.yml | 224 | # =========================================== | COMMENT |
| 70 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/wp-graphql/tests/wpunit/SettingsQueriesTest.php | 72 | 'admin_email' => 'test@test.com', | CODE |
| LOW | …ns/wp-graphql/tests/wpunit/AvatarObjectQueriesTest.php | 13 | 'user_email' => 'test@test.com', | CODE |
| LOW | …gins/wp-graphql/tests/wpunit/UserObjectQueriesTest.php | 77 | 'user_email' => 'test@test.com', | CODE |
| LOW | …gins/wp-graphql/tests/wpunit/UserObjectQueriesTest.php | 174 | 'email' => 'test@test.com', | CODE |
| LOW | …/wp-graphql/tests/wpunit/UserConnectionQueriesTest.php | 71 | $email = 'test@test.com'; | CODE |
| LOW | plugins/wp-graphql/tests/wpunit/SettingQueriesTest.php | 96 | 'admin_email' => 'test@test.com', | CODE |
| LOW | …s/wp-graphql/tests/wpunit/CommentObjectQueriesTest.php | 219 | 'comment_author_email' => 'test@test.com', | CODE |
| LOW | …graphql/tests/wpunit/MenuItemConnectionQueriesTest.php | 26 | 'user_email' => 'test@test.com', | CODE |
| LOW | …l-address-scalar-fields/UserEmailAddressFieldsTest.php | 328 | update_option( 'admin_email', 'admin@example.com' ); | CODE |
| LOW | …l-address-scalar-fields/UserEmailAddressFieldsTest.php | 350 | $this->assertEquals( 'admin@example.com', $actual['data']['generalSettings']['adminEmail'] ); | CODE |
| LOW | …l-address-scalar-fields/UserEmailAddressFieldsTest.php | 371 | $this->assertEquals( 'admin@example.com', $actual['data']['generalSettings']['email'] ); | CODE |
| LOW | …l-address-scalar-fields/UserEmailAddressFieldsTest.php | 372 | $this->assertEquals( 'admin@example.com', $actual['data']['generalSettings']['adminEmail'] ); | CODE |
| LOW | …graphql/docs/using-data-from-custom-database-tables.md | 196 | ['user_id' => 1, 'message' => 'Lorem ipsum dolor sit amet'], | CODE |
| LOW | …graphql/docs/using-data-from-custom-database-tables.md | 196 | ['user_id' => 1, 'message' => 'Lorem ipsum dolor sit amet'], | CODE |
| LOW | plugins/wp-graphql/docs/graphql-mutations.md | 390 | "email": "user@example.com", | CODE |
| LOW | plugins/wp-graphql/docs/wpgraphql-concepts.md | 132 | "name": "John Doe", | CODE |
| LOW | plugins/wp-graphql/docs/wpgraphql-concepts.md | 137 | "name": "Jane Doe", | CODE |
| LOW | plugins/wp-graphql/docs/wpgraphql-concepts.md | 154 | "name": "John Doe", | CODE |
| LOW | plugins/wp-graphql/docs/wpgraphql-concepts.md | 159 | "name": "Jane Doe", | CODE |
| LOW | …xperiment/EmailAddressScalarFieldsExperiment/README.md | 140 | "name": "John Doe", | CODE |
| LOW | …xperiment/EmailAddressScalarFieldsExperiment/README.md | 244 | "emailAddress": "user@example.com" | CODE |
| LOW | …xperiment/EmailAddressScalarFieldsExperiment/README.md | 362 | email: "user@example.com" | CODE |
| LOW | …xperiment/EmailAddressScalarFieldsExperiment/README.md | 370 | emailAddress: "user@example.com" | CODE |
| LOW | …ntal/Experiment/EmailAddressScalarExperiment/README.md | 95 | "name": "John Doe", | CODE |
| LOW | …ntal/Experiment/EmailAddressScalarExperiment/README.md | 151 | "user@example.com" | CODE |
| LOW | …ins/wp-graphql/src/Admin/Settings/SettingsRegistry.php | 322 | 'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : '', | CODE |
| LOW | …ins/wp-graphql/src/Admin/Settings/SettingsRegistry.php | 429 | $placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"'; | CODE |
| LOW | …ins/wp-graphql/src/Admin/Settings/SettingsRegistry.php | 459 | $placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"'; | CODE |
| LOW | …ins/wp-graphql/src/Admin/Settings/SettingsRegistry.php | 570 | $placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"'; | CODE |
| LOW | plugins/wp-graphql-ide/includes/settings.php | 347 | 'placeholder' => isset( $field['placeholder'] ) ? (string) $field['placeholder'] : '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 254 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 276 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 312 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 370 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 392 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 428 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 672 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 813 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 863 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 1317 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 1452 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 1473 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 1960 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 2004 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 2050 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 2192 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 2236 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 2258 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 2398 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 3586 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 3617 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 3773 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 3824 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 3935 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 4056 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 4106 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 4350 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 4458 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 4575 | 'placeholder' => '', | CODE |
| LOW | plugins/wp-graphql-acf/tests/content-builder-fields.php | 4594 | 'placeholder' => '', | CODE |
| 617 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | codecov.yml | 1 | # Codecov configuration | COMMENT |
| LOW | design/brand/ide/WPGraphQLIDELogo.tsx | 181 | // | COMMENT |
| LOW | design/brand/wpgraphql/WPGraphQLLogo.tsx | 101 | {subLabel} | COMMENT |
| LOW | design/brand/wpgraphql/WPGraphQLLogo.tsx | 121 | // <WPGraphQLLogo subLabel=".cloud" /> | COMMENT |
| LOW | design/brand/smart-cache/WPGraphQLSmartCacheLogo.tsx | 1 | // ============================================================= | COMMENT |
| LOW | design/brand/smart-cache/WPGraphQLSmartCacheLogo.tsx | 141 | ); | COMMENT |
| LOW | design/brand/smart-cache/WPGraphQLSmartCacheLogo.tsx | 161 | // Light background: | COMMENT |
| LOW | bin/setup-wp-env.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | bin/run-acf-e2e-local.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | bin/run-acf-e2e-local.sh | 21 | # INSTALL_ACF_EXTENDED_PRO 'true' = ACF Extended Pro when using ACF Pro (default: unset) | COMMENT |
| LOW | bin/smoke-test.sh | 1 | #!/bin/bash | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/TypesTest.php | 441 | COMMENT | |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 921 | /** | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 941 | // | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 961 | // ** | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 981 | // 'post_title' => 'test', | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 1001 | // | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 1021 | // $this->assertNotFalse( did_action( 'graphql_process_http_request' ) ); | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 1041 | // ** | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 1061 | // ** | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/RouterTest.php | 1081 | // $this->assertEquals( true, GRAPHQL_HTTP_REQUEST ); | COMMENT |
| LOW | …gins/wp-graphql/tests/wpunit/AssertValidSchemaTest.php | 501 | // New way to register: | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/I18nTest.php | 21 | $this->setExpectedIncorrectUsage( 'WP_Block_Bindings_Registry::register' ); | COMMENT |
| LOW | plugins/wp-graphql/tests/wpunit/I18nTest.php | 41 | // i18n, so declare them as expected, again scoped to just these two | COMMENT |
| LOW | …wpgraphiql/screens/GraphiQL/context/GraphiQLContext.js | 21 | # | COMMENT |
| LOW | …ins/wp-graphql/src/Experimental/ExperimentRegistry.php | 261 | // ============================================================================ | COMMENT |
| LOW | plugins/wp-graphql/src/Data/NodeResolver.php | 681 | $this->wp->query_vars = apply_filters( 'request', $this->wp->query_vars ); | COMMENT |
| LOW | plugins/wp-graphql-ide/wpgraphql-ide.php | 101 | // 4.6+ for plugins with a matching `Text Domain:` header (we have | COMMENT |
| LOW | plugins/wp-graphql-ide/wpgraphql-ide.php | 161 | // GraphQL: per-user isolation of Smart Cache `graphqlDocument` data is | COMMENT |
| LOW | …uery-composer-panel/src/components/ArgHoverTooltip.jsx | 1 | import React, { useCallback, useEffect, useRef, useState } from 'react'; | COMMENT |
| LOW | …ql-ide/plugins/smart-cache-panel/smart-cache-panel.php | 161 | // in-WP trackers for; this is the full set CDNs see. | COMMENT |
| LOW | …gins/wp-graphql-ide/tests/wpunit-integration.suite.yml | 1 | # Codeception Test Suite Configuration — wpunit-integration | COMMENT |
| LOW | …hql-ide/tests/unit/specs/utils/shortcut-labels.test.js | 1 | /* eslint-env browser, jest */ | COMMENT |
| LOW | …tests/unit/specs/hooks/validateExecutableQuery.test.js | 41 | const welcome = `# Welcome to the WPGraphQL IDE | COMMENT |
| LOW | …gins/wp-graphql-ide/tests/wpunit/ScriptEnqueueTest.php | 21 | // WordPress initialization. We check the TEST_THEME environment variable | COMMENT |
| LOW | …gins/wp-graphql-ide/tests/wpunit/ScriptEnqueueTest.php | 41 | } | COMMENT |
| LOW | …ns/wp-graphql-ide/tests/e2e/specs/publish-flow.spec.js | 61 | // Publish button disappears for published docs. | COMMENT |
| LOW | plugins/wp-graphql-ide/tests/e2e/specs/drawer.spec.js | 141 | // intercept, so this fails if the drawer still covers the modal. | COMMENT |
| LOW | plugins/wp-graphql-ide/includes/SmartCacheBridge.php | 61 | // true, since the post type already supports `editor`. The block | COMMENT |
| LOW | plugins/wp-graphql-ide/includes/document-settings.php | 21 | require_once __DIR__ . '/document-settings/built-in-fields.php'; | COMMENT |
| LOW | plugins/wp-graphql-ide/includes/UserMeta.php | 101 | // fields (lastViewedAt, pinned, sort overrides…) over time without | COMMENT |
| LOW | plugins/wp-graphql-ide/includes/UserMeta.php | 421 | // `update_user_meta` runs the registered `sanitize_callback` | COMMENT |
| LOW | …hql-ide/includes/document-settings/built-in-fields.php | 41 | // normalized content onto the alias taxonomy as a content- | COMMENT |
| LOW | …ins/wp-graphql-ide/src/stores/app/app-store-reducer.js | 21 | // the document had no named operation. | COMMENT |
| LOW | …ins/wp-graphql-ide/src/stores/app/app-store-reducer.js | 41 | // Per-collection sort mode applied to the saved-queries panel. Keyed | COMMENT |
| LOW | …tores/document-editor/document-editor-store-actions.js | 181 | // anything else. No-op on second boot (migrator records its | COMMENT |
| LOW | …tores/document-editor/document-editor-store-actions.js | 261 | // Saved docs and temp drafts both have stable ids across | COMMENT |
| LOW | …tores/document-editor/document-editor-store-actions.js | 321 | // reload of an unsaved tab puts the user back | COMMENT |
| LOW | …raphql-ide/src/stores/document-editor/welcome-query.js | 21 | PRETTIFY_LABEL, | COMMENT |
| LOW | …raphql-ide/src/stores/document-editor/welcome-query.js | 41 | # } | COMMENT |
| LOW | plugins/wp-graphql-ide/src/utils/shortcut-labels.js | 1 | // Platform-aware keyboard-shortcut labels. | COMMENT |
| LOW | …ns/wp-graphql-ide/src/components/SavedQueriesPanel.jsx | 621 | */ | COMMENT |
| LOW | …wp-graphql-ide/src/components/workspace-persistence.js | 1 | // Module-level registry for workspace-tab persistence (save/discard). | COMMENT |
| LOW | plugins/wp-graphql-ide/src/components/IDELayout.jsx | 61 | const [saveDialogOpen, setSaveDialogOpen] = useState(false); | COMMENT |
| LOW | plugins/wp-graphql-ide/src/components/IDELayout.jsx | 641 | headers, | COMMENT |
| LOW | …s/wp-graphql-ide/src/components/dialogs/SaveDialog.jsx | 21 | submit: __('Rename', 'wpgraphql-ide'), | COMMENT |
| LOW | …-graphql-ide/src/components/dialogs/DialogProvider.jsx | 21 | // and `wpgraphql-ide-render`). If each bundle defined its own | COMMENT |
| LOW | plugins/wp-graphql-ide/src/hooks/useAutoSave.js | 61 | // Temp drafts are local-only and fire synchronously on every | COMMENT |
| LOW | plugins/wp-graphql-ide/src/hooks/useExecution.js | 221 | // Post-execute filter — let plugins mutate the parsed | COMMENT |
| LOW | plugins/wp-graphql-ide/src/api/documents.js | 81 | nodes { id databaseId name } | COMMENT |
| 57 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .husky/pre-commit-phpcbf.sh | 17 | # Check if plugin directory exists and has composer.json | COMMENT |
| LOW | bin/setup-wp-env.sh | 130 | # Set ServerName to prevent Apache warnings (matches old Docker setup) | COMMENT |
| LOW | plugins/wp-graphql-acf/bin/install-acf.sh | 157 | # Check if ACF Pro is already installed and remove it first | COMMENT |
| LOW | plugins/wp-graphql-acf/bin/install-acf.sh | 327 | # Check if installation succeeded | COMMENT |
| LOW | .github/workflows/smoke-test.yml | 76 | # Check if Release PR | COMMENT |
| LOW | .github/workflows/smoke-test.yml | 83 | # Check if push to main | COMMENT |
| LOW⚡ | .github/workflows/smoke-test.yml | 306 | # Check if any required jobs failed (excluding skipped) | COMMENT |
| LOW | .github/workflows/update-release-pr.yml | 233 | # Check if any files changed | COMMENT |
| LOW | .github/workflows/lint.yml | 53 | # Check if Release PR | COMMENT |
| LOW | .github/workflows/lint.yml | 60 | # Check if push to main | COMMENT |
| LOW | .github/workflows/lint.yml | 246 | # Check if any required jobs failed (excluding skipped) | COMMENT |
| LOW | .github/workflows/schema-linter.yml | 53 | # Check if Release PR | COMMENT |
| LOW | .github/workflows/schema-linter.yml | 60 | # Check if push to main | COMMENT |
| LOW⚡ | .github/workflows/schema-linter.yml | 171 | # Check if any required jobs failed (excluding skipped) | COMMENT |
| LOW⚡ | .github/workflows/integration-tests.yml | 490 | # Check if any required jobs failed (excluding skipped) | COMMENT |
| LOW | .github/workflows/release-please.yml | 198 | # Check if release-please job ran (it might be skipped for workflow_dispatch without redeploy_tag) | COMMENT |
| LOW | .github/workflows/release-please.yml | 603 | # Check if readme.txt in BUILD_DIR has the correct Stable tag (match "Stable tag:" or "Stable Tag:") | COMMENT |
| LOW | .github/workflows/smoke-test-reusable.yml | 211 | # Check if wp-graphql zip exists, if not we'll need to build it or skip | COMMENT |
| LOW | .github/workflows/schema-linter-reusable.yml | 141 | # Check if this plugin should be kept active | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/wp-graphql/docs/experiments-using.md | 59 | ### Step 1: Enable in Staging | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-using.md | 68 | ### Step 2: Verify Schema Changes | COMMENT |
| LOW⚡ | plugins/wp-graphql/docs/experiments-using.md | 83 | ### Step 3: Test Your Queries | COMMENT |
| LOW⚡ | plugins/wp-graphql/docs/experiments-using.md | 92 | ### Step 4: Monitor Performance | COMMENT |
| LOW⚡ | plugins/wp-graphql/docs/experiments-using.md | 101 | ### Step 5: Review Documentation | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-creating.md | 29 | ### Step 1: Create the Experiment Directory and Files | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-creating.md | 196 | ### Step 2: Register the Experiment | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-creating.md | 235 | ### Step 3: Write Comprehensive Tests | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-creating.md | 436 | ### Step 4: Create the Experiment README | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-creating.md | 519 | ### Step 5: Add Inline Documentation to the Class | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-contributing.md | 34 | ### Step 1: Propose the Experiment | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-contributing.md | 44 | ### Step 2: Discuss and Refine | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-contributing.md | 59 | ### Step 3: Implement the Experiment | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-contributing.md | 118 | ### Step 4: Submit Pull Request | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-contributing.md | 184 | ### Step 5: Code Review | COMMENT |
| LOW | plugins/wp-graphql/docs/experiments-contributing.md | 202 | ### Step 6: Merge and Release | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/release-please.yml | 424 | # Create the build directory | COMMENT |
| MEDIUM | .github/workflows/smoke-test-reusable.yml | 135 | # Create a minimal wp-env config with NO plugins | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 42 | └── turbo.json # Turborepo build orchestration | CODE |
| MEDIUM | .cursor/prd.md | 17 | └── turbo.json # Turborepo build orchestration | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | bin/smoke-test.sh | 13 | # Usage: | COMMENT |
| LOW | plugins/wp-graphql-acf/bin/install-acf.sh | 7 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …aphql.com/src/components/extensions/PlaygroundEmbed.js | 39 | // mode=seamless → hides Playground's own browser chrome (address bar, | COMMENT |