A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.
This report summarizes scanner evidence for woocommerce/woocommerce, a PHP project with 10,574 GitHub stars. SynthScan examined 2,204,847 lines of code across 11952 source files, recording 2146 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 1.1 (Low 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.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1266 finding(s).
Are imports declared and package/API names verified? 868 finding(s).
Are wrappers, guards, and repeated structures necessary? 1057 finding(s).
Which changes need focused human review? 2146 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 2146 distinct pattern matches across 14 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 | tools/compare-perf/process-reports.ts | 33 | async function processPerformanceReports( | CODE |
| LOW | tools/monorepo-utils/src/ci-jobs/lib/file-changes.ts | 61 | function getChangedFilesForProject( | CODE |
| LOW | tools/monorepo-utils/src/ci-jobs/lib/job-processing.ts | 72 | function dependenciesWithChangesForJob( | CODE |
| LOW | tools/monorepo-utils/src/ci-jobs/lib/project-graph.ts | 34 | function parseWorkspaceDependencies( packageFile: PackageJSON ): string[] { | CODE |
| LOW | …-utils/src/code-freeze/commands/changelog/lib/index.ts | 509 | async function getTrunkWooCommerceVersion( | CODE |
| LOW | plugins/woocommerce/tests/metrics/utils.js | 48 | function getEmptyWooEditorAssetMetrics() { | CODE |
| LOW | plugins/woocommerce/tests/metrics/utils.js | 57 | function formatWooEditorAssetMetrics( metrics ) { | CODE |
| LOW | plugins/woocommerce/tests/metrics/utils.js | 72 | export async function startWooEditorAssetMetrics( page ) { | CODE |
| LOW⚡ | …rce/tests/legacy/framework/class-wc-unit-test-case.php | 645 | public function assertRecordedTracksEvent( $event_name ): void { | CODE |
| LOW⚡ | …rce/tests/legacy/framework/class-wc-unit-test-case.php | 655 | public function assertNotRecordedTracksEvent( $event_name ): void { | CODE |
| LOW⚡ | …rce/tests/legacy/framework/class-wc-unit-test-case.php | 665 | public function assertTracksEventHasRequestTimestampAndNoCache( $event_name ) { | CODE |
| LOW | …s/woocommerce/tests/cli/features/bootstrap/support.php | 119 | function checkThatJsonStringContainsJsonString( $actualJson, $expectedJson ) { | CODE |
| LOW | …s/woocommerce/tests/cli/features/bootstrap/support.php | 139 | function checkThatCsvStringContainsValues( $actualCSV, $expectedCSV ) { | CODE |
| LOW | …s/woocommerce/tests/cli/features/bootstrap/support.php | 178 | function checkThatYamlStringContainsYamlString( $actualYaml, $expectedYaml ) { | CODE |
| LOW | …mmerce/tests/cli/features/bootstrap/FeatureContext.php | 173 | public function getStepDefinitionResources() { | CODE |
| LOW | …mmerce/tests/cli/features/bootstrap/FeatureContext.php | 177 | public function getHookDefinitionResources() { | CODE |
| LOW | …e/tests/php/includes/class-wc-template-loader-test.php | 161 | private function assertDefaultTemplateFileName( $expected = '' ) { | CODE |
| LOW | …dmin/views/class-wc-admin-product-export-view-test.php | 76 | private function assertSelectedExportStructure( string $output ): void { | CODE |
| LOW | …lass-wc-meta-box-product-data-linked-products-test.php | 323 | private function assertLinkedProductNamesAbsent( array $products, string $output, string $family ): void { | CODE |
| LOW | …on4/Refunds/class-wc-rest-refunds-v4-preview-tests.php | 593 | private function assertSchemaKeysMatchData( array $schema, $data, string $path ): void { | CODE |
| LOW | …e/tests/php/src/Blocks/Utils/CartCheckoutUtilsTest.php | 143 | public function hasBlockVariationDataProvider(): array { | CODE |
| LOW | …ests/php/src/Blocks/StoreApi/Routes/CartExtensions.php | 222 | private function assertPendingOrderRetainsShipping( $order ) { | CODE |
| LOW | …rc/Admin/Features/Fulfillments/TrackingNumbersTest.php | 174 | public function testTryParseTrackingNumber( $tracking_number, $from, $to, $expected_provider ) { | CODE |
| LOW | …rc/Admin/Features/Fulfillments/TrackingNumbersTest.php | 192 | public static function providerInternationalFormats() { | CODE |
| LOW | …rc/Admin/Features/Fulfillments/TrackingNumbersTest.php | 314 | public function testInternationalDestinationScoring() { | CODE |
| LOW | …rc/Admin/Features/Fulfillments/TrackingNumbersTest.php | 376 | public function testRegionalProviderNetworks() { | CODE |
| LOW | …rc/Admin/Features/Fulfillments/TrackingNumbersTest.php | 436 | public function testInvalidTrackingNumberReturnsNoProvider() { | CODE |
| LOW | …lments/Providers/AustraliaPostShippingProviderTest.php | 88 | public function validTrackingNumberProvider(): array { | CODE |
| LOW | …lments/Providers/AustraliaPostShippingProviderTest.php | 147 | public function invalidTrackingNumberProvider(): array { | CODE |
| LOW | …fillments/Providers/CanadaPostShippingProviderTest.php | 88 | public function validTrackingNumberProvider(): array { | CODE |
| LOW | …fillments/Providers/CanadaPostShippingProviderTest.php | 118 | public function invalidTrackingNumberProvider(): array { | CODE |
| LOW | …res/Fulfillments/Providers/DPDShippingProviderTest.php | 82 | public function validTrackingNumberProvider(): array { | CODE |
| LOW | …res/Fulfillments/Providers/DPDShippingProviderTest.php | 139 | public function invalidTrackingNumberProvider(): array { | CODE |
| LOW | …res/Fulfillments/Providers/DPDShippingProviderTest.php | 172 | public function extendedTrackingNumberProvider(): array { | CODE |
| LOW | …res/Fulfillments/Providers/DPDShippingProviderTest.php | 185 | public function ambiguousTrackingNumberProvider(): array { | CODE |
| LOW | …s/Fulfillments/DataStore/FulfillmentsDataStoreTest.php | 948 | private function assertFulfillmentRecordInDB( Fulfillment $fulfillment, int $deleted_id = 0, bool $is_deleted = false ) | CODE |
| LOW | …s/Fulfillments/DataStore/FulfillmentsDataStoreTest.php | 979 | private function assertFulfillmentMetaInDB( Fulfillment $fulfillment, int $deleted_id = 0, ?array $metadata = null ) { | CODE |
| LOW | …erce/tests/php/src/Admin/API/OnboardingProfileTest.php | 56 | public function useUserWithoutPluginsPermission() { | CODE |
| LOW | …erce/tests/php/src/Admin/API/OnboardingPluginsTest.php | 54 | public function useUserWithoutPluginsPermission() { | CODE |
| LOW | …hp/src/Internal/EmailEditor/BlockEmailRendererTest.php | 133 | public function testItRendersFromFileTemplateWhenNoPostMappingExists(): void { | CODE |
| LOW | …hp/src/Internal/EmailEditor/BlockEmailRendererTest.php | 159 | public function testItComputesFileTemplateContentOnceForRepeatedSends(): void { | CODE |
| LOW | …hp/src/Internal/EmailEditor/BlockEmailRendererTest.php | 196 | public function testItReturnsNullWhenFileTemplateContentIsEmpty(): void { | CODE |
| LOW | …hp/src/Internal/EmailEditor/BlockEmailRendererTest.php | 219 | public function testItReturnsNullForEmailNotRegisteredForBlockEditor(): void { | CODE |
| LOW | …hp/src/Internal/EmailEditor/BlockEmailRendererTest.php | 237 | public function testItFallsBackToFileTemplateWhenMappedPostIsUnpublished( string $post_status ): void { | CODE |
| LOW | …hp/src/Internal/EmailEditor/BlockEmailRendererTest.php | 285 | public function testItFallsBackToFileTemplateWhenMappedPostIsTrashed(): void { | CODE |
| LOW | …hp/src/Internal/EmailEditor/BlockEmailRendererTest.php | 326 | public function testItRendersWithSiteLanguageAndDirection( string $email_id ): void { | CODE |
| LOW⚡ | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 30 | public function testGetInstanceReturnsSameInstance(): void { | CODE |
| LOW⚡ | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 40 | public function testGetEmailPostReturnsNullWhenPostIdDoesNotExist(): void { | CODE |
| LOW⚡ | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 49 | public function testGetEmailPostReturnsPostWhenExists(): void { | CODE |
| LOW⚡ | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 107 | public function testGetEmailTypeFromPostIdReturnsCorrectEmailType(): void { | CODE |
| LOW⚡ | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 117 | public function testGetEmailTypeFromPostIdReturnsNullForNonExistentPostId(): void { | CODE |
| LOW⚡ | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 124 | public function testGetEmailPostReturnsNullWhenPostExistsInOptionsButNotInPostsTable(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 62 | public function testTemplateExistsReturnsFalseWhenTemplateDoesNotExist(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 71 | public function testTemplateExistsReturnsTrueWhenTemplateExists(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 83 | public function testSaveEmailTemplatePostIdSavesPostId(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 95 | public function testDeleteEmailTemplateDeletesTemplate(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 136 | public function testGetEmailTemplatePostIdReturnsFalseForNonExistentEmailType(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 145 | public function testGetEmailTypeClassNameFromEmailIdConvertsCorrectly(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 162 | public function testGetEmailTypeClassNameFromEmailIdReturnsCorrectClassNameForValidEmailId(): void { | CODE |
| LOW | …ctionalEmails/WCTransactionalEmailPostsManagerTest.php | 173 | public function testGetEmailTypeClassNameFromPostIdReturnsCorrectClassNameForValidPostId(): void { | CODE |
| 985 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …mmerce/patterns/page-coming-soon-split-right-image.php | 53 | <div class="wp-block-cover has-text-color has-link-color is-light woocommerce-split-right-image-cover" style="paddin | CODE |
| LOW | plugins/woocommerce/patterns/footer-with-3-menus.php | 40 | <!-- wp:search {"style":{"border":{"radius":"0px"}}, "label":"<?php esc_html_e( 'Search', 'woocommerce' ); ?>","showL | CODE |
| LOW | plugins/woocommerce/patterns/footer-simple-menu.php | 16 | <!-- wp:search {"style":{"border":{"radius":"0px"}},"label":"<?php esc_html_e( 'Search', 'woocommerce' ); ?>","showLa | CODE |
| LOW | plugins/woocommerce/patterns/header-large.php | 50 | <!-- wp:search {"label":"","showLabel":false,"placeholder":"<?php esc_html_e( 'Search', 'woocommerce' ); ?>","buttonT | CODE |
| LOW | plugins/woocommerce/patterns/product-search-form.php | 10 | <!-- wp:search {"showLabel":false,"placeholder":"<?php echo esc_attr_x( 'Search products…', 'placeholder for search fiel | CODE |
| LOW | …ugins/woocommerce/tests/metrics/assets/large-post.html | 6 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. <a href="http://example.com/" target="_blank" rel="noreferre | CODE |
| LOW | …ugins/woocommerce/tests/metrics/assets/large-post.html | 6 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. <a href="http://example.com/" target="_blank" rel="noreferre | CODE |
| LOW | …sts/legacy/framework/helpers/class-wc-helper-order.php | 90 | $order->set_billing_email( 'admin@example.org' ); | CODE |
| LOW | …legacy/unit-tests/order/class-wc-tests-crud-orders.php | 1239 | $set_to = 'test@test.com'; | CODE |
| LOW | …legacy/unit-tests/order/class-wc-tests-crud-orders.php | 1246 | $this->assertEquals( 'test@test.com', $object->get_billing_email() ); | CODE |
| LOW | …unit-tests/woocommerce-admin/api/reports-customers.php | 964 | $customer_index = array_search( 'admin@example.org', array_column( $reports, 'email' ), true ); | CODE |
| LOW | …unit-tests/woocommerce-admin/api/reports-customers.php | 988 | $order3->set_billing_email( 'different@example.org' ); | CODE |
| LOW⚡ | …unit-tests/woocommerce-admin/api/reports-customers.php | 1017 | $first_customer_index = array_search( 'admin@example.org', array_column( $reports, 'email' ), true ); | CODE |
| LOW⚡ | …unit-tests/woocommerce-admin/api/reports-customers.php | 1018 | $second_customer_index = array_search( 'different@example.org', array_column( $reports, 'email' ), true ); | CODE |
| LOW⚡ | …unit-tests/woocommerce-admin/api/reports-customers.php | 1020 | $this->assertEquals( 'admin@example.org', $reports[ $first_customer_index ]['email'] ); | CODE |
| LOW⚡ | …unit-tests/woocommerce-admin/api/reports-customers.php | 1025 | $this->assertEquals( 'different@example.org', $reports[ $second_customer_index ]['email'] ); | CODE |
| LOW | …nit-tests/woocommerce-admin/api/onboarding-profile.php | 79 | 'store_email' => 'user@example.com', | CODE |
| LOW | …dmin/schedulers/class-wc-tests-mailchimp-scheduler.php | 60 | $profile_data = array( 'store_email' => 'test@test.com' ); | CODE |
| LOW | …dmin/schedulers/class-wc-tests-mailchimp-scheduler.php | 66 | 'store_email' => 'test@test.com', | CODE |
| LOW | …dmin/schedulers/class-wc-tests-mailchimp-scheduler.php | 96 | 'store_email' => 'test@test.com', | CODE |
| LOW | …dmin/schedulers/class-wc-tests-mailchimp-scheduler.php | 119 | 'store_email' => 'test@test.com', | CODE |
| LOW | …dmin/schedulers/class-wc-tests-mailchimp-scheduler.php | 152 | 'store_email' => 'test@test.com', | CODE |
| LOW | …dmin/schedulers/class-wc-tests-mailchimp-scheduler.php | 182 | 'store_email' => 'test@test.com', | CODE |
| LOW⚡ | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 133 | $registered_customer->set_email( 'marketplace@example.org' ); | CODE |
| LOW⚡ | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 140 | $first_order = $this->create_guest_order( $product, 'marketplace@example.org' ); | CODE |
| LOW⚡ | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 145 | $second_order = $this->create_guest_order( $product, 'marketplace@example.org' ); | CODE |
| LOW⚡ | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 743 | $parent_order = $this->create_guest_order( $simple_product, 'guest-parent-order@example.org' ); | CODE |
| LOW⚡ | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 745 | $first_order = $this->create_guest_order( $simple_product, 'guest-child-order@example.org' ); | CODE |
| LOW⚡ | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 749 | $second_order = $this->create_guest_order( $simple_product, 'guest-child-order@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 177 | $named_order = $this->create_guest_order( $product, 'warehouse@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 183 | $shipping_only_order = $this->create_guest_order( $product, 'warehouse@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 212 | 'user_email' => 'registered-customer@example.org', | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 241 | $parent_order = $this->create_guest_order( $product, 'parent@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 254 | $child_order = $this->create_guest_order( $product, 'child@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 568 | $order = $this->create_guest_order( $simple_product, 'guest-33410@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 596 | $first_order = $this->create_guest_order( $simple_product, 'guest-33410-returning@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 597 | $second_order = $this->create_guest_order( $simple_product, 'guest-33410-returning@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 629 | $order = $this->create_guest_order( $simple_product, 'guest-33410-filter@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 664 | $order = $this->create_guest_order( $simple_product, 'guest-33410-refunds@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 700 | $first_order = $this->create_guest_order( $simple_product, 'guest-33410-recalc@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 701 | $second_order = $this->create_guest_order( $simple_product, 'guest-33410-recalc@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 778 | $order = $this->create_guest_order( $simple_product, 'guest-refund-first-order@example.org' ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 828 | $first_order = $this->create_guest_order( $simple_product, 'guest-import-order@example.org', $date_created ); | CODE |
| LOW | …mmerce-admin/reports/class-wc-tests-reports-orders.php | 829 | $second_order = $this->create_guest_order( $simple_product, 'guest-import-order@example.org', $date_created ); | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 452 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 452 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 453 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 453 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 501 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 501 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 502 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 502 | 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Eam integre feugait liberavis | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 566 | 'short_description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 566 | 'short_description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 567 | 'description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 567 | 'description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 610 | 'short_description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 610 | 'short_description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 611 | 'description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| LOW⚡ | …ocommerce/tests/legacy/unit-tests/importer/product.php | 611 | 'description' => 'Lorem ipsum dolor sit amet, at exerci civibus appetere sit, iuvaret hendrerit mea no. Ea | CODE |
| 801 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 28 | // Step 1: Process/validate arguments | COMMENT |
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 50 | // Step 2: Query GitHub API for the pull request details | COMMENT |
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 97 | // Step 3: Check if the changelog file already exists | COMMENT |
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 131 | // Step 4: Request the GitHub API to create the commit | COMMENT |
| LOW | …/Refunds/class-wc-rest-refunds-v4-controller-tests.php | 2747 | // Step 1: legacy explicit form — refund_total provided, no quantity. | COMMENT |
| LOW | …/Refunds/class-wc-rest-refunds-v4-controller-tests.php | 2776 | // Step 2: the per-line remaining-amount cap gates subsequent explicit refunds. | COMMENT |
| LOW | …/Refunds/class-wc-rest-refunds-v4-controller-tests.php | 2800 | // Step 3: a follow-up that fits within remaining ($40 of $70) must succeed. | COMMENT |
| LOW | …/src/Blocks/StoreApi/Utilities/QuantityLimitsTests.php | 168 | // Step 1: Enable stock management globally and on product level. | COMMENT |
| LOW⚡ | …/src/Blocks/StoreApi/Utilities/QuantityLimitsTests.php | 180 | // Step 2: Disable stock management globally but leave product-level manage_stock as true. | COMMENT |
| LOW⚡ | …/src/Blocks/StoreApi/Utilities/QuantityLimitsTests.php | 189 | // Step 3: Test quantity limits - this should return 9999, not 10. | COMMENT |
| LOW | …ommerce/client/admin/docs/features/onboarding-tasks.md | 12 | ### Step 1: Add your task in PHP | COMMENT |
| LOW | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 789 | // Step 1: Determine which headers to consider based on include/exclude. | COMMENT |
| LOW⚡ | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 806 | // Step 2: Remove always-excluded headers. | COMMENT |
| LOW⚡ | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 814 | // Step 3: Apply filter to header names. | COMMENT |
| LOW | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 842 | // Step 4: Enforce always-excluded headers post-filter. | COMMENT |
| LOW | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 868 | // Step 5: Return only the headers that are in the filtered list. | COMMENT |
| LOW | …woocommerce/src/Internal/ProductFilters/FilterData.php | 431 | // Step 1: Get all terms that have products in the filtered set (1 query). | COMMENT |
| LOW | …woocommerce/src/Internal/ProductFilters/FilterData.php | 448 | // Step 2: Build hierarchy relationships using TaxonomyHierarchyData. | COMMENT |
| LOW | …woocommerce/src/Internal/ProductFilters/FilterData.php | 482 | // Step 3: Execute batch counting using a single query with CASE statements. | COMMENT |
| LOW | …ent/tutorials/integrating-protection-checkout-block.md | 18 | ## Step 1: Rendering Your Protection Element | COMMENT |
| LOW | …ent/tutorials/integrating-protection-checkout-block.md | 52 | ## Step 2: Client-Side Integration | COMMENT |
| LOW | …ent/tutorials/integrating-protection-checkout-block.md | 99 | ## Step 3: Server-Side Validation | COMMENT |
| LOW⚡ | docs/woo-marketplace/getting-started.md | 35 | ### Step 1: Prepare your product | COMMENT |
| LOW⚡ | docs/woo-marketplace/getting-started.md | 41 | ### Step 2: Apply for a Marketplace partner account | COMMENT |
| LOW⚡ | docs/woo-marketplace/getting-started.md | 45 | ### Step 3: Submit your product | COMMENT |
| LOW⚡ | docs/woo-marketplace/getting-started.md | 49 | ### Step 4: Product review | COMMENT |
| LOW⚡ | docs/woo-marketplace/getting-started.md | 54 | ### Step 5: Launch and sell | COMMENT |
| LOW | docs/features/address-autocomplete.md | 24 | ### Step 1: Create a WC_Address_Provider subclass | COMMENT |
| LOW | docs/features/address-autocomplete.md | 75 | ### Step 2: Register the provider | COMMENT |
| LOW | docs/features/address-autocomplete.md | 99 | ### Step 3: Implement JavaScript functions | COMMENT |
| LOW | docs/features/address-autocomplete.md | 238 | ### Step 4: Enqueue the JavaScript | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 19 | #### Step 0: Extending The Correct Gateway Base | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 47 | #### Step 2: Define A Method For Adding/Saving New Payment Methods From "My Account" | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 92 | #### Step 3: Save Methods On Checkout | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 104 | #### Step 4: Retrieve The Token When Processing Payments | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 138 | #### Step 0: Extend WC_Payment_Token And Name Your Type | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 155 | #### Step 1: Provide A Validate Method | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 185 | #### Step 2: Provide `get_` And `set_` Methods For Extra Data | COMMENT |
| LOW | docs/features/payments/payment-token-api.md | 203 | #### Step 3: Use Your New Token Type | COMMENT |
| LOW | …ing-custom-products-to-add-products-onboarding-list.md | 18 | ## Step 1: Adding a JavaScript Filter | COMMENT |
| LOW | …ing-custom-products-to-add-products-onboarding-list.md | 61 | ## Step 2: Optional - Customizing the onClick Handler | COMMENT |
| LOW | …ing-custom-products-to-add-products-onboarding-list.md | 65 | ## Step 3: Modifying the CSV Template Path (Optional) | COMMENT |
| LOW | …d-config/how-to-add-your-own-store-management-links.md | 30 | ## Step 1 - Enqueue JavaScript | COMMENT |
| LOW | …d-config/how-to-add-your-own-store-management-links.md | 46 | ## Step 2 - Install @wordpress/icons | COMMENT |
| LOW | …d-config/how-to-add-your-own-store-management-links.md | 54 | ## Step 3 - Add your filter | COMMENT |
| LOW | docs/getting-started/tools-for-low-code-development.md | 24 | ## Step 1 - Using Gutenberg and WooCommerce Store Editing | COMMENT |
| LOW | docs/getting-started/tools-for-low-code-development.md | 35 | ## Step 2 - Exploring alternative page builders | COMMENT |
| LOW | docs/getting-started/tools-for-low-code-development.md | 46 | ## Step 3 - Utilizing pre-built components and templates | COMMENT |
| LOW | …best-practices/performance/performance-optimization.md | 24 | ## Step 1 - Implement caching | COMMENT |
| LOW⚡ | …best-practices/performance/performance-optimization.md | 40 | ## Step 2 - Optimize images | COMMENT |
| LOW⚡ | …best-practices/performance/performance-optimization.md | 49 | ## Step 3 - Minify and optimize code | COMMENT |
| LOW⚡ | …best-practices/performance/performance-optimization.md | 57 | ## Step 4 - Use a content delivery network (CDN) | COMMENT |
| LOW⚡ | …best-practices/performance/performance-optimization.md | 64 | ## Step 5 - Optimize database | COMMENT |
| LOW⚡ | …best-practices/performance/performance-optimization.md | 72 | ## Step 6 - Choose a high-performance theme and plugins | COMMENT |
| LOW⚡ | …best-practices/performance/performance-optimization.md | 79 | ## Step 7 - Enable GZIP compression | COMMENT |
| LOW⚡ | …best-practices/performance/performance-optimization.md | 86 | ## Step 8 - Monitor and analyze performance | COMMENT |
| LOW⚡ | …ges/php/email-editor/src/Engine/class-personalizer.php | 326 | // Step 1: Separate the tag and attributes. | COMMENT |
| LOW⚡ | …ges/php/email-editor/src/Engine/class-personalizer.php | 331 | // Step 2: Extract attributes from the attribute string. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .prettierrc.js | 1 | // Import the default config file and expose it in the project root. | COMMENT |
| LOW | bin/pre-push.sh | 61 | # It added rather more friction for day-to-day development. Hence, note for future reference: there have already been at | COMMENT |
| LOW | plugins/woocommerce/bin/lint-branch.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | plugins/woocommerce/bin/lint-branch.sh | 41 | # Cache phpcs output only in CI, where the checkstyle render below re-runs the same | COMMENT |
| LOW | plugins/woocommerce/bin/post-update.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | plugins/woocommerce/bin/build-lib.sh | 1 | #!/bin/sh | COMMENT |
| LOW | plugins/woocommerce/bin/check-new-functions.php | 41 | COMMENT | |
| LOW | plugins/woocommerce/bin/eslint-branch.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | plugins/woocommerce/bin/eslint-branch.sh | 21 | COMMENT | |
| LOW | …/woocommerce/tests/performance/bin/init-environment.sh | 41 | # Pin order storage to the legacy posts table (HPOS off) for deterministic runs. | COMMENT |
| LOW | …mmerce/tests/performance/tests/bfcm-infra-holdingup.js | 1 | /** | COMMENT |
| LOW | …mmerce/tests/performance/tests/bfcm-infra-holdingup.js | 21 | // - Store API checkout med — baseline ~472ms (±67ms); most sensitive to order-path optimizations | COMMENT |
| LOW | …ommerce/tests/performance/tests/bfcm-infra-hammered.js | 1 | /** | COMMENT |
| LOW | …ommerce/tests/performance/tests/bfcm-infra-hammered.js | 21 | // than http_req_failed but still sensitive to overall load conditions. | COMMENT |
| LOW | plugins/woocommerce/tests/e2e/playwright.config.ts | 121 | // Activates a custom-gateway test plugin globally, which would surface its extra | COMMENT |
| LOW | plugins/woocommerce/tests/e2e/bin/test-env-setup.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …e/tests/blocks/mini-cart/mini-cart.block_theme.spec.ts | 541 | ) }'` | COMMENT |
| LOW | …ocks/cart-store/cart-line-identity.block_theme.spec.ts | 201 | } ); | COMMENT |
| LOW | …woocommerce/tests/e2e/tests/order/create-order.spec.ts | 441 | await expect( productSearch ).toBeFocused(); | COMMENT |
| LOW | …oocommerce/tests/e2e/tests/analytics/analytics.spec.ts | 301 | } ); | COMMENT |
| LOW | plugins/woocommerce/tests/e2e/utils/blocks/test.ts | 61 | // about future changes, tracked separately for improvement in core. | COMMENT |
| LOW | …tests/e2e/utils/blocks/frontend/frontend-utils.page.ts | 121 | COMMENT | |
| LOW | plugins/woocommerce/includes/wc-webhook-functions.php | 161 | } | COMMENT |
| LOW | …e/includes/admin/settings/class-wc-settings-emails.php | 601 | $email_types = array(); | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 401 | // http://www.acer.de/ac/de/DE/content/models/tablets/ | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 441 | // http://www.sony.jp/support/tablet/ | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 461 | // http://www.rock-chips.com/index.php?do=prod&pid=2 | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 501 | 'GalapadTablet' => 'Android [0-9.]+; [a-z-]+; \bG1\b', | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 521 | // http://www.pointofview-online.com/showroom.php?shop_mode=product_listing&category_id=118 | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 541 | 'ModecomTablet' => 'FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|Fre | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 561 | // http://www.kmart.com.au/webapp/wcs/stores/servlet/Search?langId=-1&storeId=10701&catalogId=10001&categoryId=1 | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 581 | // https://www.verizonwireless.com/tablets/verizon/ | COMMENT |
| LOW | …ns/woocommerce/lib/packages/Detection/MobileDetect.php | 701 | // http://en.wikipedia.org/wiki/Midori_(web_browser) | COMMENT |
| LOW | …gins/woocommerce/client/blocks/bin/storybook-deploy.sh | 1 | #!/bin/sh | COMMENT |
| LOW | …ommerce/client/blocks/bin/docker/wp-cli/wait-for-it.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …blocks/packages/public-api/types/type-defs/payments.ts | 101 | // A react node for your payment method UI. | COMMENT |
| LOW | …ckages/public-api/block-data/cart/persistence-layer.ts | 61 | // to null so the store re-fetches. | COMMENT |
| LOW | …ks/assets/js/blocks/add-to-wishlist-button/frontend.ts | 181 | // variations with "any" slots, where the server | COMMENT |
| LOW | …ent/blocks/assets/js/blocks/saved-for-later/style.scss | 1 | // Frontend stylesheet for the Saved for Later block. | COMMENT |
| LOW | …art-checkout-shared/incompatible-extensions-notice.tsx | 101 | // Stay dismissed while every currently-incompatible extension has already | COMMENT |
| LOW | …lient/blocks/assets/js/blocks/shopper-lists/_item.scss | 1 | // Row styles shared by every block that renders a shopper-list item card | COMMENT |
| LOW | …tion/edit/inspector-controls/width-options-control.tsx | 1 | /** | COMMENT |
| LOW | …ce/client/blocks/assets/js/blocks/breadcrumbs/edit.tsx | 21 | className: 'woocommerce wc-block-breadcrumbs', | COMMENT |
| LOW | …rce/client/blocks/assets/js/blocks/wishlist/style.scss | 1 | // Frontend stylesheet for the Wishlist block. | COMMENT |
| LOW | …ssets/js/base/context/providers/cart-checkout/utils.ts | 41 | COMMENT | |
| LOW | …lient/blocks/assets/js/base/stores/woocommerce/cart.ts | 681 | throw new Error( | COMMENT |
| LOW | …lient/blocks/assets/js/base/stores/woocommerce/cart.ts | 841 | if ( existingItem ) { | COMMENT |
| LOW | …/client/settings-email/settings-email-listing-rtl.scss | 1 | // Right-to-left twin of settings-email-listing.scss. The fill loads one of the | COMMENT |
| LOW | …dmin/client/settings-email/settings-email-listing.scss | 1 | // Styles for the DataViews runtime bundled into this chunk (the `/wp` build | COMMENT |
| LOW | …ketplace/components/header-account/header-account.scss | 41 | .components-modal__header { | COMMENT |
| LOW | …ketplace/components/header-account/header-account.scss | 61 | // Both rules scope to their parent container rather than styling | COMMENT |
| LOW | …n/client/settings-payments/settings-payments-body.scss | 21 | // The panel has to reach the bottom of the window, footer included, but | COMMENT |
| LOW | …n/client/settings-payments/settings-payments-main.scss | 201 | background: none; | COMMENT |
| LOW | …n/client/settings-payments/settings-payments-main.scss | 621 | display: flex; | COMMENT |
| LOW | …gins/woocommerce/client/admin/client/header/style.scss | 21 | // React mounts. The parent #screen-meta-links container is left alone so | COMMENT |
| LOW | …gins/woocommerce/client/admin/client/header/style.scss | 61 | flex-direction: row; | COMMENT |
| LOW | …gins/woocommerce/client/admin/client/header/style.scss | 81 | // design-tokens.css, and `--wp-admin-font-size-l: 15px` in the | COMMENT |
| LOW | …mmerce/client/legacy/js/jquery-flot/jquery.flot.pie.js | 261 | // WARNING: HACK! REWRITE THIS CODE AS SOON AS POSSIBLE! | COMMENT |
| LOW | …oocommerce/client/legacy/js/jquery-flot/jquery.flot.js | 261 | COMMENT | |
| LOW | …oocommerce/client/legacy/js/jquery-flot/jquery.flot.js | 281 | // } | COMMENT |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 28 | // Step 1: Process/validate arguments | COMMENT |
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 50 | // Step 2: Query GitHub API for the pull request details | COMMENT |
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 97 | // Step 3: Check if the changelog file already exists | COMMENT |
| LOW | …utils/src/pull-requests/commands/add-changelog-file.ts | 131 | // Step 4: Request the GitHub API to create the commit | COMMENT |
| LOW | …/Refunds/class-wc-rest-refunds-v4-controller-tests.php | 2747 | // Step 1: legacy explicit form — refund_total provided, no quantity. | COMMENT |
| LOW | …/Refunds/class-wc-rest-refunds-v4-controller-tests.php | 2776 | // Step 2: the per-line remaining-amount cap gates subsequent explicit refunds. | COMMENT |
| LOW | …/Refunds/class-wc-rest-refunds-v4-controller-tests.php | 2800 | // Step 3: a follow-up that fits within remaining ($40 of $70) must succeed. | COMMENT |
| LOW | …/src/Blocks/StoreApi/Utilities/QuantityLimitsTests.php | 168 | // Step 1: Enable stock management globally and on product level. | COMMENT |
| LOW⚡ | …/src/Blocks/StoreApi/Utilities/QuantityLimitsTests.php | 180 | // Step 2: Disable stock management globally but leave product-level manage_stock as true. | COMMENT |
| LOW⚡ | …/src/Blocks/StoreApi/Utilities/QuantityLimitsTests.php | 189 | // Step 3: Test quantity limits - this should return 9999, not 10. | COMMENT |
| LOW | …nt/blocks/packages/public-api/block-data/cart/index.ts | 65 | // We need to check if the cached cart has items, otherwise we will wrongly skip the API request. | COMMENT |
| LOW | …assets/js/blocks/featured-items/inspector-controls.tsx | 108 | // so we need to check if it exists before using it. | COMMENT |
| LOW | plugins/woocommerce/src/Blocks/AssetsController.php | 525 | // so we need to check if it's registered here instead of on `init`. | COMMENT |
| LOW | plugins/woocommerce/src/Blocks/Assets.php | 37 | * because we need to check if `wp-edit-post` has been enqueued. | COMMENT |
| LOW | …ns/woocommerce/src/Blocks/Utils/BlockTemplateUtils.php | 603 | * If the option is not stored on the db, we need to check if the current theme is a block one or not. | COMMENT |
| LOW | …cks/Templates/ArchiveProductTemplatesCompatibility.php | 120 | * different content depending on the context. We need to check if the | COMMENT |
| LOW | plugins/woocommerce/src/Blocks/BlockTypes/Cart.php | 149 | * We need to check if $content has any templates from prior iterations of the block, in order to update to the latest | COMMENT |
| LOW | plugins/woocommerce/src/Blocks/BlockTypes/Checkout.php | 243 | * We need to check if $content has any templates from prior iterations of the block, in order to update to the latest | COMMENT |
| LOW | …sactionalEmails/WCTransactionalEmailPostsGenerator.php | 115 | // We need to check if the template is not found by checking the template_html content. | COMMENT |
| LOW | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 789 | // Step 1: Determine which headers to consider based on include/exclude. | COMMENT |
| LOW⚡ | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 806 | // Step 2: Remove always-excluded headers. | COMMENT |
| LOW⚡ | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 814 | // Step 3: Apply filter to header names. | COMMENT |
| LOW | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 842 | // Step 4: Enforce always-excluded headers post-filter. | COMMENT |
| LOW | …ugins/woocommerce/src/Internal/Traits/RestApiCache.php | 868 | // Step 5: Return only the headers that are in the filtered list. | COMMENT |
| LOW | …woocommerce/src/Internal/Admin/ShippingLabelBanner.php | 138 | // The banner is shown if the plugin is installed but not active, so we need to check if the installed version is com | COMMENT |
| LOW | …woocommerce/src/Internal/ProductFilters/FilterData.php | 431 | // Step 1: Get all terms that have products in the filtered set (1 query). | COMMENT |
| LOW | …woocommerce/src/Internal/ProductFilters/FilterData.php | 448 | // Step 2: Build hierarchy relationships using TaxonomyHierarchyData. | COMMENT |
| LOW | …woocommerce/src/Internal/ProductFilters/FilterData.php | 482 | // Step 3: Execute batch counting using a single query with CASE statements. | COMMENT |
| LOW | …woocommerce/src/StoreApi/Utilities/OrderController.php | 848 | // Coupons can be held for an x amount of time before being applied to an order, so we need to check if it's already b | COMMENT |
| LOW | …kages/js/email-editor/src/hooks/use-is-email-editor.ts | 70 | // We need to check if the template is used by the email post type | COMMENT |
| LOW⚡ | …ges/php/email-editor/src/Engine/class-personalizer.php | 326 | // Step 1: Separate the tag and attributes. | COMMENT |
| LOW⚡ | …ges/php/email-editor/src/Engine/class-personalizer.php | 331 | // Step 2: Extract attributes from the attribute string. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ocks/product-elements-blocks/stock-indicator/block.tsx | 31 | * @return True if stock indicator should be visible. | COMMENT |
| HIGH | …/client/blocks/assets/js/dependency-detection/utils.ts | 90 | * @return True if this is a WooCommerce core script. | COMMENT |
| HIGH | …/client/blocks/assets/js/dependency-detection/utils.ts | 157 | * @return True if this line should be skipped. | COMMENT |
| HIGH | …/assets/js/base/utils/variations/attribute-matching.ts | 29 | * @return True if the names match after normalization. | COMMENT |
| HIGH | …n-scripts/email-editor-integration/email-validation.ts | 44 | * @return True if the email is valid, false otherwise. | COMMENT |
| HIGH | …ges/php/woocommerce-analytics/src/client/api-client.ts | 106 | * @return True if beacon was successfully queued, false otherwise. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 42 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 44 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 157 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 159 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 218 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 220 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 268 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 270 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 318 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 320 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 347 | // ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rc/Admin/Features/Fulfillments/FulfillmentsTracker.php | 349 | // ────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …woocommerce/client/blocks/tests/js/scripts/resolver.js | 4 | // Call the defaultResolver, so we leverage its cache, error handling, etc. | COMMENT |
| MEDIUM | …ebar/components/step-placeholder/step-placeholder.scss | 1 | // Shimmer animation keyframes - seamless loop | COMMENT |
| MEDIUM | …ebar/components/step-placeholder/step-placeholder.scss | 46 | // Shimmer effect for loading animation - seamless continuous loop | COMMENT |
| MEDIUM | …l/PushNotifications/DataStores/PushTokensDataStore.php | 435 | // Exactly this SQL to leverage the wp_posts type_status_author index. | COMMENT |
| MEDIUM | …l/PushNotifications/DataStores/PushTokensDataStore.php | 551 | // Exactly this SQL to leverage the wp_posts type_status_author index; low token cardinality keeps it fast at any stor | COMMENT |
| MEDIUM | …/Integrations/Core/Renderer/Blocks/Media_Text_Test.php | 90 | // robust than matching the raw HTML string, and matches the convention used elsewhere here. | COMMENT |
| MEDIUM | …ion/Integrations/Core/Renderer/Blocks/Gallery_Test.php | 121 | // more robust than matching the raw HTML string, and matches the convention used elsewhere here. | COMMENT |
| MEDIUM | …/src/Integrations/Core/Renderer/Blocks/class-video.php | 72 | // Use Dom_Document_Helper for robust HTML parsing. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …erce-subscriptions-engine/tasks/phpstan/run-phpstan.sh | 38 | # Check if phpstan is available via composer | COMMENT |
| LOW | packages/php/email-editor/tasks/phpstan/run-phpstan.sh | 22 | # Check if phpstan is available via composer | COMMENT |
| LOW | .github/workflows/cherry-pick-to-frozen.yml | 93 | # Check if the original PR has been labeled to cherry pick to trunk and add a reminder to the output if not. | COMMENT |
| LOW | .github/workflows/release-update-stable-tag.yml | 222 | # Check if there are any changes | COMMENT |
| LOW | .github/workflows/release-update-stable-tag.yml | 280 | # Check if file was actually modified | COMMENT |
| LOW | .github/workflows/shared-cherry-pick.yml | 242 | # Check if branch already exists | COMMENT |
| LOW | .github/workflows/shared-cherry-pick.yml | 254 | # Check if only changelog files were changed (code already exists in target branch) | COMMENT |
| LOW | .github/workflows/shared-cherry-pick.yml | 294 | # Check if we have anything to commit | COMMENT |
| LOW | .github/workflows/cherry-pick-milestoned-prs.yml | 43 | # Check if cherry-pick should proceed. | COMMENT |
| LOW | .github/workflows/maintenance-bump-as-requirement.yml | 136 | # Check if PR already exists. | COMMENT |
| LOW | .github/workflows/phpstan.yml | 93 | # Check if baseline file has changed (use relative path since we're in working-directory) | COMMENT |
| LOW | .github/workflows/cherry-pick-to-trunk.yml | 45 | # Check if the original PR has been labeled to cherry pick to frozen and add a reminder to the output if not. | COMMENT |
| LOW | …/workflows/maintenance-update-version-requirements.yml | 239 | # Check if PR already exists. | COMMENT |
| LOW | .github/workflows/ci.yml | 546 | # Check if project-jobs was successful. Fail for any other status, including skipped. | COMMENT |
| LOW | …ithub/workflows/scripts/docs-link-check-policy-test.sh | 9 | # Set LYCHEE to a binary path when lychee is not on PATH. | COMMENT |
| LOW | .github/workflows/scripts/determine_milestone_date.sh | 70 | # Check if the milestone title exists in our predefined list and get the date | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/README.md | 28 | ### Cross-project orchestration | COMMENT |
| MEDIUM | plugins/woocommerce/tests/bin/install.sh | 2 | # See https://raw.githubusercontent.com/wp-cli/scaffold-command/master/templates/install-wp-tests.sh | COMMENT |
| MEDIUM | plugins/woocommerce/tests/bin/install.sh | 2 | # See https://raw.githubusercontent.com/wp-cli/scaffold-command/master/templates/install-wp-tests.sh | COMMENT |
| MEDIUM | plugins/woocommerce/client/blocks/storybook/README.md | 6 | - [Scaffold tour](#scaffold-tour) | CODE |
| MEDIUM | plugins/woocommerce/client/blocks/storybook/README.md | 172 | The `sbs` (“Storybook story”) will scaffold the entire code in the [section above](#scaffold-tour). If you have respecte | CODE |
| MEDIUM | …mmerce/client/admin/docs/examples/extensions/README.md | 6 | - **Analytics report or onboarding task:** [Scaffold a standalone extension](#scaffold-a-standalone-extension). The form | CODE |
| MEDIUM | …mmerce/client/admin/docs/examples/extensions/README.md | 46 | The former `add-report` and `add-task` examples now live in [`@woocommerce/create-woo-extension`](../../../../../../../p | CODE |
| MEDIUM | docs/extensions/getting-started-extensions/README.md | 39 | - [Extension scaffolds](/getting-started/scaffolding/#extension-scaffolds) - Learn how to scaffold new extensions with o | CODE |
| MEDIUM | …ng-started-extensions/building-your-first-extension.md | 9 | This guide will teach you how to use [create-woo-extension](https://www.npmjs.com/package/@woocommerce/create-woo-extens | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/woocommerce/tests/e2e/bin/test-env-setup-external.sh | 36 | # Define the list of PHP files to process | COMMENT |
| MEDIUM | …s/woocommerce/tests/e2e/bin/test-env-setup-external.sh | 49 | # Create a zip file | COMMENT |
| MEDIUM | …s/woocommerce/tests/e2e/bin/blocks/scripts/products.sh | 45 | # Create a tag, so we can add tests for tag-related blocks and templates. | COMMENT |
| MEDIUM | …s/woocommerce/tests/e2e/bin/blocks/scripts/products.sh | 51 | # Create a brand, so we can add tests for brand-related blocks and templates. | COMMENT |
| MEDIUM | .github/workflows/release-commits-and-contributors.yml | 281 | # Create a variable to build the formatted updates list | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | themes/purple/assets/images/PROVENANCE.md | 27 | ## AI-generated (tagged) | COMMENT |
| HIGH | themes/purple/assets/images/PROVENANCE.md | 66 | ## Human-designed (not AI-generated, untagged) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tools/monorepo-utils/src/core/github/repo.ts | 187 | return repository.ref.target.history.edges.shift().node.oid; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …oocommerce/client/legacy/js/jquery-flot/jquery.flot.js | 1030 | function processData() { | CODE |