Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
3548 lines
104 KiB
JSON
3548 lines
104 KiB
JSON
{
|
|
"version": 1,
|
|
"generated": "2026-02-24T22:17:42.106Z",
|
|
"totalViolations": 552,
|
|
"violations": {
|
|
"pages/AIAssistantPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 3,
|
|
"message": "AIAssistantPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "4dd6c0c1862a"
|
|
}
|
|
],
|
|
"pages/AIBuilderPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "AIBuilderPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "4d204a89414e"
|
|
}
|
|
],
|
|
"pages/CanvasPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 15,
|
|
"message": "CanvasPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "e0c352d26d04"
|
|
}
|
|
],
|
|
"pages/ChatHubChatPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 9,
|
|
"message": "ChatHubChatPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "e4eaeac24146"
|
|
}
|
|
],
|
|
"pages/ChatHubPersonalAgentsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "ChatHubPersonalAgentsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "f8ca4379facf"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 22,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"chat-agent-card\") in pages scope",
|
|
"hash": "93472d766ead"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 26,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"chat-agent-card\") in pages scope",
|
|
"hash": "93472d766ead"
|
|
}
|
|
],
|
|
"pages/ChatHubSettingsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 7,
|
|
"message": "ChatHubSettingsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "ffbeab089486"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 11,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"editCredential-modal\") in pages scope",
|
|
"hash": "2823ff890426"
|
|
}
|
|
],
|
|
"pages/ChatHubWorkflowAgentsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "ChatHubWorkflowAgentsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "deaefa88466a"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 11,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"chat-agent-card\") in pages scope",
|
|
"hash": "93472d766ead"
|
|
}
|
|
],
|
|
"pages/CommunityNodesPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "CommunityNodesPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "008a055bd8e3"
|
|
}
|
|
],
|
|
"pages/CredentialsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "CredentialsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "8a192ab0e1af"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 7,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"editCredential-modal\") in pages scope",
|
|
"hash": "2823ff890426"
|
|
}
|
|
],
|
|
"pages/DataTableDetails.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "DataTableDetails: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "a28b14eea75f"
|
|
}
|
|
],
|
|
"pages/DataTableView.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 4,
|
|
"message": "DataTableView: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "6d4a9d2ee846"
|
|
}
|
|
],
|
|
"pages/ExecutionsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "ExecutionsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "35feaf11a7c9"
|
|
}
|
|
],
|
|
"pages/InteractionsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "InteractionsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "fab9bccc270e"
|
|
}
|
|
],
|
|
"pages/KeycloakLoginPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 9,
|
|
"message": "KeycloakLoginPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "c904517ef2df"
|
|
}
|
|
],
|
|
"pages/MfaLoginPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 8,
|
|
"message": "MfaLoginPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "65f89f81ef90"
|
|
}
|
|
],
|
|
"pages/MfaSetupModal.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 9,
|
|
"message": "MfaSetupModal: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "bde632f5ade8"
|
|
}
|
|
],
|
|
"pages/NodeDetailsViewPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 15,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 16,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 26,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 30,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 34,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 38,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 42,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 90,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 94,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 98,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 102,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 106,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 110,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 123,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 127,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 157,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 180,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 184,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 188,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 192,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 200,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 221,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 239,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 243,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 253,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 262,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 270,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 274,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 278,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 282,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 286,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 290,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 294,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 298,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 302,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 306,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 318,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 322,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 326,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 330,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 334,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 340,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 360,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 366,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 377,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 385,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 389,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 393,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 397,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 433,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 437,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 437,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 441,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 445,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 463,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 467,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 467,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 478,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 487,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 518,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 528,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 529,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 534,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 538,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 550,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 554,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 573,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 579,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 591,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 595,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 599,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 603,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 603,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 607,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 615,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 619,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 623,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 627,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 631,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 639,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 643,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 669,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 705,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 709,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 714,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 719,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 723,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 734,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 738,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 738,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 742,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 748,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 776,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 780,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 784,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 788,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 793,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 799,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 803,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 803,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 811,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 815,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 819,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 851,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
},
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 855,
|
|
"message": "NodeDetailsViewPage: Unscoped locator - use this.container instead of this.page",
|
|
"hash": "5244a408a8df"
|
|
}
|
|
],
|
|
"pages/NotificationsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 3,
|
|
"message": "NotificationsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "fadcf75fa385"
|
|
}
|
|
],
|
|
"pages/NpsSurveyPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "NpsSurveyPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "b4532143776c"
|
|
}
|
|
],
|
|
"pages/ProjectSettingsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "ProjectSettingsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "fbf0ce1ab326"
|
|
}
|
|
],
|
|
"pages/SettingsEnvironmentPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "SettingsEnvironmentPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "36447173c675"
|
|
}
|
|
],
|
|
"pages/SettingsLogStreamingPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "SettingsLogStreamingPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "f334f4d128a2"
|
|
}
|
|
],
|
|
"pages/SettingsUsersPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "SettingsUsersPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "ff0328cb8ec5"
|
|
}
|
|
],
|
|
"pages/SidebarPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 3,
|
|
"message": "SidebarPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "6a6e1341c8f5"
|
|
}
|
|
],
|
|
"pages/SourceControlPullModal.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 3,
|
|
"message": "SourceControlPullModal: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "fe2503c9ea8b"
|
|
}
|
|
],
|
|
"pages/SourceControlPushModal.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 9,
|
|
"message": "SourceControlPushModal: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "bcc36f59ad8a"
|
|
}
|
|
],
|
|
"pages/TemplateCredentialSetupPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "TemplateCredentialSetupPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "e1981dd460f8"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 7,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"editCredential-modal\") in pages scope",
|
|
"hash": "2823ff890426"
|
|
}
|
|
],
|
|
"pages/TemplatesPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "TemplatesPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "9ee7245554a9"
|
|
}
|
|
],
|
|
"pages/VariablesPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 6,
|
|
"message": "VariablesPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "f5ce7000f714"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 22,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"resources-list-search\") in pages scope",
|
|
"hash": "3b38dddeafed"
|
|
}
|
|
],
|
|
"pages/VersionsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 3,
|
|
"message": "VersionsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "06f7a26b38d8"
|
|
}
|
|
],
|
|
"pages/WorkflowActivationModal.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "WorkflowActivationModal: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "e48153a68aa5"
|
|
}
|
|
],
|
|
"pages/WorkflowCredentialSetupModal.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 10,
|
|
"message": "WorkflowCredentialSetupModal: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "fcefbd002d16"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 24,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"continue-button\") in pages scope",
|
|
"hash": "137ec08820a5"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 16,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"setup-workflow-credentials-modal\") in pages scope",
|
|
"hash": "30c7a494b54c"
|
|
}
|
|
],
|
|
"pages/WorkflowSettingsModal.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "WorkflowSettingsModal: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "cff0f23ce5d3"
|
|
}
|
|
],
|
|
"pages/WorkflowSharingModal.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 3,
|
|
"message": "WorkflowSharingModal: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "524404e370c4"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 5,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"workflowShare-modal\") in pages scope",
|
|
"hash": "8a7555df8f27"
|
|
}
|
|
],
|
|
"pages/WorkflowsPage.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 7,
|
|
"message": "WorkflowsPage: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "44a4e1b07c9f"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 24,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"resources-list-search\") in pages scope",
|
|
"hash": "3b38dddeafed"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 32,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"resources-list-search\") in pages scope",
|
|
"hash": "3b38dddeafed"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 113,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"action-toggle-dropdown\") in pages scope",
|
|
"hash": "6e4581e4338b"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 28,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"project-name\") in pages scope",
|
|
"hash": "7080dca7588e"
|
|
},
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 42,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"action-delete\") in pages scope",
|
|
"hash": "1b8f3012152c"
|
|
}
|
|
],
|
|
"pages/nodes/EditFieldsNode.ts": [
|
|
{
|
|
"rule": "scope-lockdown",
|
|
"line": 5,
|
|
"message": "EditFieldsNode: Ambiguous page - add a container (for scoped components) or a navigation method (for top-level pages)",
|
|
"hash": "f59dd095b02f"
|
|
}
|
|
],
|
|
"composables/NodeDetailsViewComposer.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 17,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('rlc-item')",
|
|
"hash": "a1b29fbeb1d3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 36,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('rlc-item')",
|
|
"hash": "a1b29fbeb1d3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 51,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('radio-button-expression').nth(...",
|
|
"hash": "134663b18c78"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 51,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('radio-button-expression').nth(1)",
|
|
"hash": "ff909ccb232e"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 51,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('radio-button-expression')",
|
|
"hash": "8832b7bb36bf"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 61,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('rlc-item-add-resource').first()",
|
|
"hash": "0e33bf783799"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 61,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('rlc-item-add-resource')",
|
|
"hash": "9f5c3611eea6"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 17,
|
|
"message": "Direct page access in composable: this.n8n.page.getByTestId",
|
|
"hash": "c324de315cb4"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 36,
|
|
"message": "Direct page access in composable: this.n8n.page.getByTestId",
|
|
"hash": "c324de315cb4"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 51,
|
|
"message": "Direct page access in composable: this.n8n.page.getByTestId",
|
|
"hash": "c324de315cb4"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 61,
|
|
"message": "Direct page access in composable: this.n8n.page.getByTestId",
|
|
"hash": "c324de315cb4"
|
|
}
|
|
],
|
|
"composables/ProjectComposer.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 14,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('universal-add').click()",
|
|
"hash": "e8d2b760e894"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 14,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('universal-add')",
|
|
"hash": "c3464fda06c4"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 15,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('navigation-menu-item').filter(...",
|
|
"hash": "c8ba53fd5fa6"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 15,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('navigation-menu-item').filter(...",
|
|
"hash": "c8ba53fd5fa6"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 15,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('navigation-menu-item')",
|
|
"hash": "921cd5cfb22b"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 14,
|
|
"message": "Direct page access in composable: this.n8n.page.getByTestId",
|
|
"hash": "c324de315cb4"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 15,
|
|
"message": "Direct page access in composable: this.n8n.page.getByTestId",
|
|
"hash": "c324de315cb4"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 51,
|
|
"message": "Direct page access in composable: this.n8n.page.url",
|
|
"hash": "504827a38388"
|
|
}
|
|
],
|
|
"composables/WorkflowComposer.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 155,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('move-to-folder-option').getByT...",
|
|
"hash": "fee6a7ca0898"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 155,
|
|
"message": "Direct page locator call: this.n8n.page.getByTestId('move-to-folder-option')",
|
|
"hash": "cfc91da57766"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 21,
|
|
"message": "Direct page access in composable: this.n8n.page.waitForResponse",
|
|
"hash": "07f5f1ebe32b"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 155,
|
|
"message": "Direct page access in composable: this.n8n.page.getByTestId",
|
|
"hash": "c324de315cb4"
|
|
}
|
|
],
|
|
"tests/e2e/ai/assistant-basic.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 166,
|
|
"message": "Chained locator call in test: n8n.aiAssistant .getNewAssistantSessionModal() .getByRole...",
|
|
"hash": "8a89adbe00d9"
|
|
}
|
|
],
|
|
"tests/e2e/ai/assistant-credential-help.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 34,
|
|
"message": "Chained locator call in test: n8n.aiAssistant .getCredentialEditAssistantButton() .loca...",
|
|
"hash": "2544eec958d1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 61,
|
|
"message": "Chained locator call in test: n8n.aiAssistant .getCredentialEditAssistantButton() .loca...",
|
|
"hash": "2544eec958d1"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 84,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 126,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
}
|
|
],
|
|
"tests/e2e/ai/hitl-for-tools.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 37,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInput(parameterName).locator('.cm-con...",
|
|
"hash": "46f4ca4bc7eb"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 87,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('add-connection-button')",
|
|
"hash": "e87a57e25440"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 116,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInput('description').locator('textarea')",
|
|
"hash": "00a4addafb63"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 142,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('canvas-chat').getByText('Approve')",
|
|
"hash": "158ef58d883a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 142,
|
|
"message": "Chained locator call in test: n8n.page.getByTestId('canvas-chat').getByText('Approve')",
|
|
"hash": "9717a7a385c3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 142,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('canvas-chat')",
|
|
"hash": "0810223b0675"
|
|
}
|
|
],
|
|
"tests/e2e/ai/langchain-memory.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 92,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Define below' }).cl...",
|
|
"hash": "39e5d44a50a7"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 92,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Define below' })",
|
|
"hash": "5c42d41d0397"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 93,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInput('sessionKey').locator('input')",
|
|
"hash": "4860c40ad30b"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 107,
|
|
"message": "Chained locator call in test: n8n.ndv.getAiOutputModeToggle().locator('[role=\"radio\"]')",
|
|
"hash": "712bf333eaaf"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 115,
|
|
"message": "Chained locator call in test: n8n.ndv.getOutputPanel().getByTestId('node-error-message')",
|
|
"hash": "9436eb5e9511"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 118,
|
|
"message": "Chained locator call in test: n8n.ndv.getOutputPanel().getByTestId('node-error-message')",
|
|
"hash": "9436eb5e9511"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 169,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Define below' }).cl...",
|
|
"hash": "39e5d44a50a7"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 169,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Define below' })",
|
|
"hash": "5c42d41d0397"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 170,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInput('text').locator('textarea')",
|
|
"hash": "986a0637e45b"
|
|
}
|
|
],
|
|
"tests/e2e/ai/langchain-vectorstores.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 87,
|
|
"message": "Chained locator call in test: n8n.canvas.getManualChatModal().getByTestId('canvas-chat-...",
|
|
"hash": "0651461e8fda"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 93,
|
|
"message": "Chained locator call in test: n8n.canvas.getManualChatModal().getByTestId('canvas-chat-...",
|
|
"hash": "0651461e8fda"
|
|
}
|
|
],
|
|
"tests/e2e/ai/workflow-builder.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 81,
|
|
"message": "Direct page locator call: n8n.page.getByRole('button', { name: 'Execute and refine' })",
|
|
"hash": "ba2cdfe0e07b"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 115,
|
|
"message": "Direct page locator call: n8n.page.getByText('Task aborted')",
|
|
"hash": "beba4221d694"
|
|
}
|
|
],
|
|
"tests/e2e/app-config/security-notifications.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 184,
|
|
"message": "Chained locator call in test: versionCard.locator('.el-tag--danger').getByText('Securit...",
|
|
"hash": "41e0381dfdf0"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 184,
|
|
"message": "Chained locator call in test: versionCard.locator('.el-tag--danger')",
|
|
"hash": "60a61866e32a"
|
|
}
|
|
],
|
|
"tests/e2e/building-blocks/node-details-configuration.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 60,
|
|
"message": "Chained locator call in test: n8n.ndv.getAssignmentName('assignments', 0).getByRole('te...",
|
|
"hash": "fa1cc41275f1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 74,
|
|
"message": "Chained locator call in test: n8n.ndv.getAssignmentCollectionContainer('assignments').g...",
|
|
"hash": "f36b5d7ebe58"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 89,
|
|
"message": "Chained locator call in test: n8n.ndv.getAssignmentCollectionContainer('assignments').g...",
|
|
"hash": "f36b5d7ebe58"
|
|
}
|
|
],
|
|
"tests/e2e/chat-hub/chat-hub-attachment.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 61,
|
|
"message": "Chained locator call in test: newPage.locator('img')",
|
|
"hash": "787461cb35dd"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 62,
|
|
"message": "Chained locator call in test: newPage.locator('img')",
|
|
"hash": "787461cb35dd"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 63,
|
|
"message": "Chained locator call in test: newPage.locator('img')",
|
|
"hash": "787461cb35dd"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 42,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 68,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 84,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
}
|
|
],
|
|
"tests/e2e/chat-hub/chat-hub-basic.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 34,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('editCredential-modal')",
|
|
"hash": "2786a49972b3"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 13,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 33,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 60,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
}
|
|
],
|
|
"tests/e2e/chat-hub/chat-hub-personal-agent.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 92,
|
|
"message": "Direct page locator call: n8n.page.getByRole('dialog').getByText('Delete', { exact:...",
|
|
"hash": "5fd52ad894c3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 92,
|
|
"message": "Direct page locator call: n8n.page.getByRole('dialog').getByText('Delete', { exact:...",
|
|
"hash": "5fd52ad894c3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 92,
|
|
"message": "Chained locator call in test: n8n.page.getByRole('dialog').getByText('Delete', { exact:...",
|
|
"hash": "41d47e05bb02"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 92,
|
|
"message": "Direct page locator call: n8n.page.getByRole('dialog')",
|
|
"hash": "68deb7ade2bb"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 16,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 47,
|
|
"message": "Direct page instantiation: new ChatHubPersonalAgentsPage(n8n.page)",
|
|
"hash": "e85eb6a08ae6"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 48,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
}
|
|
],
|
|
"tests/e2e/credentials/crud.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 347,
|
|
"message": "Direct page locator call: n8n.page.locator('.el-overlay').first()",
|
|
"hash": "6e0141ec89e6"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 347,
|
|
"message": "Direct page locator call: n8n.page.locator('.el-overlay')",
|
|
"hash": "4668d190d0af"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 300,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
}
|
|
],
|
|
"tests/e2e/credentials/global.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 39,
|
|
"message": "Chained locator call in test: n8n.credentials.credentialModal.getVisibleDropdown().getB...",
|
|
"hash": "5ffd78437b38"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 48,
|
|
"message": "Chained locator call in test: n8n.credentials.cards .getCredential('Global HTTP Header ...",
|
|
"hash": "05e7dd651e5e"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 65,
|
|
"message": "Chained locator call in test: n8n.credentials.cards .getCredential('Global HTTP Header ...",
|
|
"hash": "05e7dd651e5e"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 95,
|
|
"message": "Chained locator call in test: dropdown.getByText('Global HTTP Header Cred')",
|
|
"hash": "4a7662ea3718"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 98,
|
|
"message": "Chained locator call in test: dropdown.getByText('Global HTTP Header Cred')",
|
|
"hash": "4a7662ea3718"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 125,
|
|
"message": "Chained locator call in test: n8n.credentials.credentialModal .getModal() .getByTestId(...",
|
|
"hash": "ea4ed603d27a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 132,
|
|
"message": "Chained locator call in test: n8n.credentials.credentialModal .getModal() .getByTestId(...",
|
|
"hash": "ea4ed603d27a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 132,
|
|
"message": "Chained locator call in test: n8n.credentials.credentialModal .getModal() .getByTestId(...",
|
|
"hash": "ea4ed603d27a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 145,
|
|
"message": "Chained locator call in test: n8n.credentials.cards .getCredential('Global HTTP Header ...",
|
|
"hash": "05e7dd651e5e"
|
|
}
|
|
],
|
|
"tests/e2e/node-creator/categories.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 23,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeCreator.getCategoryItem('Triggers').locato...",
|
|
"hash": "7bf32888198a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 28,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeCreator.getCategoryItem('Actions').locator...",
|
|
"hash": "408e6ab6e61d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 34,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeCreator.getCategoryItem('Actions').locator...",
|
|
"hash": "408e6ab6e61d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 49,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeCreator.getCategoryItem('Actions').locator...",
|
|
"hash": "408e6ab6e61d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 55,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeCreator.getCategoryItem('Actions').locator...",
|
|
"hash": "408e6ab6e61d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 60,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeCreator.getCategoryItem('Triggers').locato...",
|
|
"hash": "7bf32888198a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 66,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeCreator.getCategoryItem('Triggers').locato...",
|
|
"hash": "7bf32888198a"
|
|
}
|
|
],
|
|
"tests/e2e/nodes/community-nodes.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 83,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('credentials-label').click()",
|
|
"hash": "b487b1272454"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 83,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('credentials-label')",
|
|
"hash": "c57d3abbea50"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 84,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('node-credentials-select-item-new')....",
|
|
"hash": "b9824deca284"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 84,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('node-credentials-select-item-new')",
|
|
"hash": "ba4a66294bfb"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 86,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('editCredential-modal')",
|
|
"hash": "2786a49972b3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 98,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('credentials-label').click()",
|
|
"hash": "b487b1272454"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 98,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('credentials-label')",
|
|
"hash": "c57d3abbea50"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 99,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('node-credentials-select-item-new')....",
|
|
"hash": "b9824deca284"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 99,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('node-credentials-select-item-new')",
|
|
"hash": "ba4a66294bfb"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 101,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('editCredential-modal')",
|
|
"hash": "2786a49972b3"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 19,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 34,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
}
|
|
],
|
|
"tests/e2e/nodes/form-trigger-node.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 63,
|
|
"message": "Direct page locator call: n8n.page.getByRole('button', { name: 'Add Field Option' }...",
|
|
"hash": "c3629563dd24"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 63,
|
|
"message": "Direct page locator call: n8n.page.getByRole('button', { name: 'Add Field Option' })",
|
|
"hash": "69e3d4b550e1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 106,
|
|
"message": "Direct page locator call: n8n.page.locator('text=/form-test\\\\/[a-f0-9-]+/')",
|
|
"hash": "ccdce08746cc"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 115,
|
|
"message": "Chained locator call in test: formPage.getByLabel('What is your first name?')",
|
|
"hash": "1223d29492d9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 116,
|
|
"message": "Chained locator call in test: formPage.getByRole('button', { name: 'Submit' })",
|
|
"hash": "e4d7841ebb40"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 120,
|
|
"message": "Chained locator call in test: formPage.getByLabel('What is your last name?')",
|
|
"hash": "cfc3f214f389"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 121,
|
|
"message": "Chained locator call in test: formPage.getByRole('button', { name: 'Submit' })",
|
|
"hash": "e4d7841ebb40"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 124,
|
|
"message": "Chained locator call in test: formPage.getByText('Your response has been recorded')",
|
|
"hash": "0e9a9b561cfa"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 197,
|
|
"message": "Direct page locator call: n8n.page.locator('text=/form-test\\\\/[a-f0-9-]+/')",
|
|
"hash": "ccdce08746cc"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 206,
|
|
"message": "Chained locator call in test: formPage.getByRole('button', { name: 'Submit' })",
|
|
"hash": "e4d7841ebb40"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 207,
|
|
"message": "Chained locator call in test: formPage.getByText('This worked')",
|
|
"hash": "a0552602d3c9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 311,
|
|
"message": "Direct page locator call: n8n.page.locator('text=/form-test\\\\/[a-f0-9-]+/')",
|
|
"hash": "ccdce08746cc"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 320,
|
|
"message": "Chained locator call in test: formPage.getByRole('button', { name: 'Submit' })",
|
|
"hash": "e4d7841ebb40"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 321,
|
|
"message": "Chained locator call in test: formPage.getByText('Step 2')",
|
|
"hash": "94ffa2350779"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 324,
|
|
"message": "Chained locator call in test: formPage.getByRole('button', { name: 'Submit' })",
|
|
"hash": "e4d7841ebb40"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 325,
|
|
"message": "Chained locator call in test: formPage.getByText('This worked')",
|
|
"hash": "a0552602d3c9"
|
|
}
|
|
],
|
|
"tests/e2e/nodes/if-node.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 25,
|
|
"message": "Chained locator call in test: n8n.ndv.getFilterConditionLeft(FILTER_PARAM_NAME, 0).loca...",
|
|
"hash": "c3fc875effa7"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 26,
|
|
"message": "Chained locator call in test: n8n.ndv.getFilterConditionLeft(FILTER_PARAM_NAME, 1).loca...",
|
|
"hash": "5f2f690a0a6a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 33,
|
|
"message": "Chained locator call in test: n8n.ndv.getFilterConditionLeft(FILTER_PARAM_NAME, 0).loca...",
|
|
"hash": "c3fc875effa7"
|
|
}
|
|
],
|
|
"tests/e2e/nodes/webhook.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 70,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Response Code' }).c...",
|
|
"hash": "4ec8fd179f0d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 70,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Response Code' })",
|
|
"hash": "3f5a68018809"
|
|
}
|
|
],
|
|
"tests/e2e/projects/folders-basic.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 155,
|
|
"message": "Chained locator call in test: n8n.modal.container.getByText(errorMessage, { exact: fals...",
|
|
"hash": "493ced26c9ed"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 159,
|
|
"message": "Chained locator call in test: n8n.modal.container.getByText(emptyErrorMessage)",
|
|
"hash": "1a0616eac3d8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 162,
|
|
"message": "Chained locator call in test: n8n.modal.container.getByText(tooLongErrorMessage)",
|
|
"hash": "d7e82d2a75eb"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 165,
|
|
"message": "Chained locator call in test: n8n.modal.container.getByText(dotsErrorMessage)",
|
|
"hash": "bbb98f3cbb44"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 181,
|
|
"message": "Chained locator call in test: n8n.notifications .getNotificationByTitleOrContent(FOLDER...",
|
|
"hash": "ef7efad8acb2"
|
|
}
|
|
],
|
|
"tests/e2e/projects/project-settings.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 64,
|
|
"message": "Direct page locator call: n8n.page.getByText('Project Updated Project Name saved su...",
|
|
"hash": "5c8bb96d8da1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 84,
|
|
"message": "Chained locator call in test: table.getByText('User')",
|
|
"hash": "35eb3e7e10a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 85,
|
|
"message": "Chained locator call in test: table.getByText('Role')",
|
|
"hash": "598e22980502"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 88,
|
|
"message": "Chained locator call in test: table.locator('tbody tr')",
|
|
"hash": "fdc278cf27e4"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 93,
|
|
"message": "Chained locator call in test: ownerRow.getByTestId('project-member-role-dropdown')",
|
|
"hash": "c69f7e1bd77a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 109,
|
|
"message": "Direct page locator call: n8n.page.locator('tbody tr').first()",
|
|
"hash": "c57a14994e07"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 109,
|
|
"message": "Direct page locator call: n8n.page.locator('tbody tr')",
|
|
"hash": "48de3852588f"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 110,
|
|
"message": "Chained locator call in test: currentUserRow.getByTestId('project-member-role-dropdown')",
|
|
"hash": "f1e1476c1fc9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 113,
|
|
"message": "Chained locator call in test: currentUserRow.getByText('Admin')",
|
|
"hash": "1927ce34d19a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 180,
|
|
"message": "Direct page locator call: n8n.page.getByText('Danger zone')",
|
|
"hash": "58fee023d77a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 182,
|
|
"message": "Direct page locator call: n8n.page.getByText( 'When deleting a project, you can als...",
|
|
"hash": "f2d055ed66a9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 208,
|
|
"message": "Direct page locator call: n8n.page.getByText('Project Persisted Project Name saved ...",
|
|
"hash": "0f573d3d200b"
|
|
}
|
|
],
|
|
"tests/e2e/projects/projects-move-resources.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 106,
|
|
"message": "Chained locator call in test: n8n.resourceMoveModal.getProjectSelectCredential().locato...",
|
|
"hash": "e8eff63d49af"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 107,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 123,
|
|
"message": "Chained locator call in test: n8n.resourceMoveModal.getProjectSelectCredential().locato...",
|
|
"hash": "e8eff63d49af"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 124,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 140,
|
|
"message": "Chained locator call in test: n8n.resourceMoveModal.getProjectSelectCredential().locato...",
|
|
"hash": "e8eff63d49af"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 141,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
}
|
|
],
|
|
"tests/e2e/projects/projects.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 89,
|
|
"message": "Chained locator call in test: n8n.workflows.cards.getWorkflow('My workflow').getByText(...",
|
|
"hash": "c5bffdc35ac3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 165,
|
|
"message": "Direct page locator call: subn8n.page.getByRole('heading', { name: 'My Sub-Workflow...",
|
|
"hash": "788ef93cfb62"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 165,
|
|
"message": "Chained locator call in test: subn8n.page.getByRole('heading', { name: 'My Sub-Workflow...",
|
|
"hash": "9e664e14b0a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 170,
|
|
"message": "Direct page locator call: subn8n.page.getByRole('heading', { name: 'Notion account' })",
|
|
"hash": "43671aca120d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 170,
|
|
"message": "Chained locator call in test: subn8n.page.getByRole('heading', { name: 'Notion account' })",
|
|
"hash": "c98e5c7b276b"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 210,
|
|
"message": "Chained locator call in test: n8n.projectSettings.getIconPickerButton().locator('svg')",
|
|
"hash": "4342f0cc13b8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 247,
|
|
"message": "Direct page locator call: n8n.page.locator('body').click()",
|
|
"hash": "4484dbdcd879"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 247,
|
|
"message": "Direct page locator call: n8n.page.locator('body')",
|
|
"hash": "6667df4502c4"
|
|
}
|
|
],
|
|
"tests/e2e/regression/ADO-2372-prevent-clipping-params.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 66,
|
|
"message": "Chained locator call in test: editor.locator('.cm-line')",
|
|
"hash": "1ac80885fc71"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 67,
|
|
"message": "Chained locator call in test: editor.locator('.cm-line')",
|
|
"hash": "1ac80885fc71"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 68,
|
|
"message": "Chained locator call in test: editor.locator('.cm-line')",
|
|
"hash": "1ac80885fc71"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 69,
|
|
"message": "Chained locator call in test: editor.locator('.cm-line')",
|
|
"hash": "1ac80885fc71"
|
|
}
|
|
],
|
|
"tests/e2e/regression/AI-1401-sub-nodes-input-panel.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 23,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().locator('[data-test-id*=\"input-s...",
|
|
"hash": "396dc4f1d5af"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 26,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Edit Fields' })",
|
|
"hash": "c6c4cc5bf6c4"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 27,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Manual Trigger' })",
|
|
"hash": "503597d4ef3e"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 28,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'No Operation, do no...",
|
|
"hash": "7a16d85129d2"
|
|
}
|
|
],
|
|
"tests/e2e/regression/SUG-121-fields-reset-after-closing-ndv.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 25,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterByLabel('JavaScript').getByRole('text...",
|
|
"hash": "f8105d6d3a8d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 28,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterByLabel('JavaScript').getByRole('text...",
|
|
"hash": "f8105d6d3a8d"
|
|
}
|
|
],
|
|
"tests/e2e/settings/environments/source-control.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 56,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'main' })",
|
|
"hash": "8e36dd6e7c35"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 75,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'main' })",
|
|
"hash": "8e36dd6e7c35"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 76,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'development' })",
|
|
"hash": "4157d0d852a3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 77,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'staging' })",
|
|
"hash": "5ea1e1189ae1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 78,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'production' })",
|
|
"hash": "13bbd087b456"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 79,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'development' }).cli...",
|
|
"hash": "2d47edbe9c6a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 79,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'development' })",
|
|
"hash": "4157d0d852a3"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 83,
|
|
"message": "Raw API call detected: request.get(",
|
|
"hash": "5128d500e46f"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 92,
|
|
"message": "Raw API call detected: request.get(",
|
|
"hash": "5128d500e46f"
|
|
}
|
|
],
|
|
"tests/e2e/sharing/access-control.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 79,
|
|
"message": "Chained locator call in test: adminN8n.credentials.credentialModal.getVisibleDropdown()...",
|
|
"hash": "466547047099"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 140,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(testCredName)",
|
|
"hash": "88f241af5012"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 141,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(devCredName)",
|
|
"hash": "7c1126e1a52a"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 105,
|
|
"message": "Raw API call detected: request.get(",
|
|
"hash": "5128d500e46f"
|
|
}
|
|
],
|
|
"tests/e2e/sharing/credential-visibility.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 52,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(testCredName)",
|
|
"hash": "88f241af5012"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 53,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(personalCredName)",
|
|
"hash": "8a03b8f32fa8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 54,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(devCredName)",
|
|
"hash": "7c1126e1a52a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 96,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(ownerCredName)",
|
|
"hash": "7b09c1090b15"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 97,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(memberCredName)",
|
|
"hash": "241866f0d4df"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 154,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(memberCredName)",
|
|
"hash": "241866f0d4df"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 155,
|
|
"message": "Chained locator call in test: credentialDropdown.getByText(ownerCredName)",
|
|
"hash": "7b09c1090b15"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 209,
|
|
"message": "Chained locator call in test: n8n.ndv.getVisiblePopper().locator('li')",
|
|
"hash": "eb4832404c9b"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 239,
|
|
"message": "Chained locator call in test: n8n.ndv.getVisiblePopper().locator('li')",
|
|
"hash": "eb4832404c9b"
|
|
}
|
|
],
|
|
"tests/e2e/source-control/pull.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 94,
|
|
"message": "Chained locator call in test: n8n.canvas.tagsManagerModal.getTable().getByText('pull-te...",
|
|
"hash": "9cd079655a6b"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/checklist/production-checklist.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 67,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('workflow-settings-dialog')",
|
|
"hash": "6dff31c05187"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 68,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('workflow-settings-error-workflow')",
|
|
"hash": "e86d143e5094"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 83,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('workflow-settings-dialog')",
|
|
"hash": "6dff31c05187"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 95,
|
|
"message": "Chained locator call in test: n8n.canvas.getProductionChecklistActionItem().first().get...",
|
|
"hash": "b99bf85bffb8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 98,
|
|
"message": "Direct page locator call: n8n.page.locator('body').click({ position: { x: 0, y: 0 } })",
|
|
"hash": "82ea0a8120b9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 98,
|
|
"message": "Direct page locator call: n8n.page.locator('body')",
|
|
"hash": "6667df4502c4"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 136,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('workflow-settings-dialog')",
|
|
"hash": "6dff31c05187"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 142,
|
|
"message": "Chained locator call in test: n8n.canvas .getProductionChecklistActionItem() .first() ....",
|
|
"hash": "049e1b469b18"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 159,
|
|
"message": "Direct page locator call: n8n.page.locator('.el-message-box')",
|
|
"hash": "a41c304c373a"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/demo-diff.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 120,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 127,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 145,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 149,
|
|
"message": "Direct page locator call: n8n.page.getByRole('heading', { name: /Test Workflow/, ex...",
|
|
"hash": "27a3f117a93a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 153,
|
|
"message": "Direct page locator call: n8n.page.getByRole('button', { name: /Changes/ })",
|
|
"hash": "1daa8f688214"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 160,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 177,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 180,
|
|
"message": "Direct page locator call: n8n.page.getByRole('heading', { name: 'Test Workflow - Af...",
|
|
"hash": "284153f6d798"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 187,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 204,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 207,
|
|
"message": "Direct page locator call: n8n.page.getByRole('heading', { name: 'Test Workflow - Be...",
|
|
"hash": "dd7b576b2982"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 214,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 233,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 237,
|
|
"message": "Direct page locator call: n8n.page.getByRole('heading', { name: /Test Workflow/, ex...",
|
|
"hash": "27a3f117a93a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 241,
|
|
"message": "Direct page locator call: n8n.page.getByRole('button', { name: /Changes/ })",
|
|
"hash": "1daa8f688214"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 248,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 256,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 263,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 277,
|
|
"message": "Direct page locator call: n8n.page.getByText('Waiting for workflow data...')",
|
|
"hash": "b6b8ed64d974"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 282,
|
|
"message": "Direct page locator call: n8n.page.locator('body')",
|
|
"hash": "6667df4502c4"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 287,
|
|
"message": "Direct page locator call: n8n.page.locator('body')",
|
|
"hash": "6667df4502c4"
|
|
},
|
|
{
|
|
"rule": "duplicate-logic",
|
|
"line": 117,
|
|
"message": "Duplicate test logic: \"shows waiting state initially\" has identical structure to tests/e2e/ai/workflow-builder.spec.ts:\"should show Build with AI button on empty canvas\"",
|
|
"hash": "6cf55be1ebdb"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/canvas/canvas-nodes.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 28,
|
|
"message": "Direct page locator call: n8n.page.getByText('Add Routing Rule').click()",
|
|
"hash": "bb9ccdaa6e0f"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 28,
|
|
"message": "Direct page locator call: n8n.page.getByText('Add Routing Rule')",
|
|
"hash": "f13800d70ddd"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/canvas/canvas-zoom.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 222,
|
|
"message": "Chained locator call in test: n8n.canvas.nodeByName('n8n').getByTestId('overflow-node-b...",
|
|
"hash": "3d500494797e"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 223,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('context-menu-item-open').click()",
|
|
"hash": "803edc6e2d15"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 223,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('context-menu-item-open')",
|
|
"hash": "049003f6550b"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/code/code-node.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 28,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Run Once for Each I...",
|
|
"hash": "354ddeafe76a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 28,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Run Once for Each I...",
|
|
"hash": "354ddeafe76a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 35,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Run Once for All It...",
|
|
"hash": "03087d1206ad"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 35,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Run Once for All It...",
|
|
"hash": "03087d1206ad"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 50,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Run Once for Each I...",
|
|
"hash": "354ddeafe76a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 50,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Run Once for Each I...",
|
|
"hash": "354ddeafe76a"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/execution/execution.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 149,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('copy-input').click()",
|
|
"hash": "20e9bf63ae83"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 149,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('copy-input')",
|
|
"hash": "dd5c167f4482"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 153,
|
|
"message": "Raw API call detected: request.get(",
|
|
"hash": "5128d500e46f"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/execution/inject-previous.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 59,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().locator('[contenteditable=\"true...",
|
|
"hash": "cae3335d44be"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/execution/logs.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 253,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel .getDataContainer() .locator('a')",
|
|
"hash": "6a673016ebff"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 263,
|
|
"message": "Raw API call detected: request.get(",
|
|
"hash": "5128d500e46f"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/expressions/inline.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 55,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInput('value').getByRole('textbox')",
|
|
"hash": "e6c73a21e494"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/expressions/mapping.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 60,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().getByText(expectedJsonText)",
|
|
"hash": "9865414150f3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 106,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().getByText('Schedule Trigger')",
|
|
"hash": "2043cf03c7a7"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 117,
|
|
"message": "Chained locator call in test: schemaItem.locator('span')",
|
|
"hash": "dae1f9ee44ac"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 158,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'String' }).click()",
|
|
"hash": "c3130f54285b"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 158,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'String' })",
|
|
"hash": "6351fa2e946a"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/expressions/transformation.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 19,
|
|
"message": "Chained locator call in test: assignmentValue.locator('text=Expression')",
|
|
"hash": "398682465503"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 114,
|
|
"message": "Chained locator call in test: n8n.ndv.getOutputDataContainer().locator('[class*=value_]')",
|
|
"hash": "78a1c969575d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 134,
|
|
"message": "Chained locator call in test: n8n.ndv.getOutputDataContainer().locator('[class*=value_]')",
|
|
"hash": "78a1c969575d"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/io-filter.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 32,
|
|
"message": "Chained locator call in test: pagination.locator('li')",
|
|
"hash": "5a7163c291f8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 33,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getDataContainer().locator('mark')",
|
|
"hash": "fc731709a0e9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 42,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getDataContainer().locator('mark')",
|
|
"hash": "fc731709a0e9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 46,
|
|
"message": "Chained locator call in test: pagination.locator('li')",
|
|
"hash": "5a7163c291f8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 66,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().getByTestId('ndv-data-pagination')",
|
|
"hash": "1a869dd91e67"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 68,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().getByTestId('ndv-data-pagination')",
|
|
"hash": "58e725977612"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 72,
|
|
"message": "Chained locator call in test: getInputPagination().locator('li')",
|
|
"hash": "5aa75994ab8d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 74,
|
|
"message": "Chained locator call in test: getOutputPagination().locator('li')",
|
|
"hash": "d452a5950767"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 81,
|
|
"message": "Chained locator call in test: getOutputPagination().locator('li')",
|
|
"hash": "d452a5950767"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 88,
|
|
"message": "Chained locator call in test: getOutputPagination().locator('li')",
|
|
"hash": "d452a5950767"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 92,
|
|
"message": "Chained locator call in test: getInputPagination().locator('li')",
|
|
"hash": "5aa75994ab8d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 94,
|
|
"message": "Chained locator call in test: getOutputPagination().locator('li')",
|
|
"hash": "d452a5950767"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 104,
|
|
"message": "Chained locator call in test: getInputPagination().locator('li')",
|
|
"hash": "5aa75994ab8d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 106,
|
|
"message": "Chained locator call in test: getOutputPagination().locator('li')",
|
|
"hash": "d452a5950767"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 111,
|
|
"message": "Chained locator call in test: getInputPagination().locator('li')",
|
|
"hash": "5aa75994ab8d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 118,
|
|
"message": "Chained locator call in test: getInputPagination().locator('li')",
|
|
"hash": "5aa75994ab8d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 124,
|
|
"message": "Chained locator call in test: getInputPagination().locator('li')",
|
|
"hash": "5aa75994ab8d"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 126,
|
|
"message": "Chained locator call in test: getOutputPagination().locator('li')",
|
|
"hash": "d452a5950767"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/ndv-core.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 120,
|
|
"message": "Chained locator call in test: n8n.ndv.getContainer().getByText('Webhook URLs').locator(...",
|
|
"hash": "15c9e3d9aeba"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 120,
|
|
"message": "Chained locator call in test: n8n.ndv.getContainer().getByText('Webhook URLs')",
|
|
"hash": "9026e28e4f47"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 175,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInput('jsCode').locator('.cm-content')",
|
|
"hash": "b09a3f3d56fc"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 206,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInput('jsCode').locator('.cm-content')",
|
|
"hash": "b09a3f3d56fc"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/ndv-data-display.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 63,
|
|
"message": "Chained locator call in test: objectValueItem.locator('.toggle')",
|
|
"hash": "45d8699925c6"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 82,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().getByText('5 items')",
|
|
"hash": "beef6d951ce8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 98,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().getByText('26 items')",
|
|
"hash": "f1b1cc3c04b4"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 120,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getTableRow(1).locator('mark')",
|
|
"hash": "6212a0d5e5bc"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 135,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().locator('[class*=\"active\"]')",
|
|
"hash": "ddd992a3778f"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 147,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getTableRow(1).locator('mark')",
|
|
"hash": "6212a0d5e5bc"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 151,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getDataContainer().locator('.json-data')",
|
|
"hash": "8c80e9607f84"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 254,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel .get() .getByText('To search field va...",
|
|
"hash": "6bd1281071a1"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/ndv-parameters.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 119,
|
|
"message": "Chained locator call in test: n8n.ndv.getResourceLocatorInput('documentId').locator('in...",
|
|
"hash": "a10387b2b4a5"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 177,
|
|
"message": "Chained locator call in test: n8n.ndv.getAssignmentValue('assignments').getByText('Expr...",
|
|
"hash": "25491e82dd43"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/paired-item.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 95,
|
|
"message": "Direct page locator call: n8n.page.locator('[data-test-id=\"hovering-item\"]')",
|
|
"hash": "170e68f7b7b7"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 101,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Set1' }).click()",
|
|
"hash": "7363e0425bfb"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 101,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Set1' })",
|
|
"hash": "7e6cc145ca37"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 105,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.getTable().locator('text=1000')",
|
|
"hash": "d54ea49f3e0f"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 106,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().locator('[data-test-id=\"hoverin...",
|
|
"hash": "6e9d8666bad6"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 113,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Sort' }).click()",
|
|
"hash": "dab3a0c3f01f"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 113,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Sort' })",
|
|
"hash": "57ea397df648"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 117,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.getTable().locator('text=1111')",
|
|
"hash": "20de742a14d7"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 118,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().locator('[data-test-id=\"hoverin...",
|
|
"hash": "6e9d8666bad6"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 197,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().getByText('False Branch (2 item...",
|
|
"hash": "4ed4184926d5"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 221,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().getByText('True Branch')",
|
|
"hash": "cc551456a986"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 228,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().locator('[data-test-id=\"hovering...",
|
|
"hash": "8d39d87925b5"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 233,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().locator('[data-test-id=\"hoverin...",
|
|
"hash": "6e9d8666bad6"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 237,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().getByText('False Branch')",
|
|
"hash": "dee1bac10eac"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 248,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.get().locator('[data-test-id=\"hoverin...",
|
|
"hash": "6e9d8666bad6"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/pinning.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 81,
|
|
"message": "Chained locator call in test: runDataHeader.getByRole('button', { name: 'Edit Output' })",
|
|
"hash": "aa1904651d9c"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 175,
|
|
"message": "Chained locator call in test: n8n.ndv.getAssignmentValue('assignments').getByText('Expr...",
|
|
"hash": "25491e82dd43"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 184,
|
|
"message": "Chained locator call in test: n8n.ndv.getParameterInputHint().getByText(expectedOutput)",
|
|
"hash": "393fc24d0bf4"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/resource-locator.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 91,
|
|
"message": "Direct page locator call: n8n.page.locator('.el-message-box').locator('button:has-t...",
|
|
"hash": "066ea6c93563"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 91,
|
|
"message": "Chained locator call in test: n8n.page.locator('.el-message-box').locator('button:has-t...",
|
|
"hash": "6dae6a423842"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 91,
|
|
"message": "Direct page locator call: n8n.page.locator('.el-message-box')",
|
|
"hash": "a41c304c373a"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 120,
|
|
"message": "Chained locator call in test: n8n.ndv.getResourceLocatorInput('sheetName').locator('inp...",
|
|
"hash": "8c2440762013"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 129,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('rlc-item').first()",
|
|
"hash": "4466b60c399e"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 129,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('rlc-item')",
|
|
"hash": "84df99d6a586"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 132,
|
|
"message": "Chained locator call in test: visiblePopper.getByTestId('rlc-item')",
|
|
"hash": "50584e5d1477"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 143,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('rlc-item').first()",
|
|
"hash": "4466b60c399e"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 143,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('rlc-item')",
|
|
"hash": "84df99d6a586"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 146,
|
|
"message": "Chained locator call in test: visiblePopperAfter.getByTestId('rlc-item')",
|
|
"hash": "160fc14cc93a"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/ndv/schema-preview.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 15,
|
|
"message": "Chained locator call in test: n8n.ndv.inputPanel.get().getByText('No input data')",
|
|
"hash": "89dc9850c2d6"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/subworkflows/debugging.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 42,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getTbodyCell(0, 0).locator('a')",
|
|
"hash": "11bb70e5e4f9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 85,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getTbodyCell(0, 0).locator('a')",
|
|
"hash": "11bb70e5e4f9"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 99,
|
|
"message": "Chained locator call in test: n8n.ndv.outputPanel.getTbodyCell(0, 0).locator('a')",
|
|
"hash": "11bb70e5e4f9"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/subworkflows/workflow-selector.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 62,
|
|
"message": "Chained locator call in test: n8n.ndv.getResourceLocatorInput('workflowId').locator('in...",
|
|
"hash": "d4ee6d0058ed"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 68,
|
|
"message": "Chained locator call in test: n8n.ndv.getResourceLocatorInput('workflowId').locator('a')",
|
|
"hash": "1cadf974d1a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 77,
|
|
"message": "Chained locator call in test: n8n.ndv.getResourceLocatorModeSelector('workflowId').loca...",
|
|
"hash": "b893416c36ed"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 91,
|
|
"message": "Chained locator call in test: addResourceItem.getByText(/Create a/)",
|
|
"hash": "f7f77ebf40c7"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/tags.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 63,
|
|
"message": "Chained locator call in test: n8n.canvas.tagsManagerModal.getTable().getByText(tag1)",
|
|
"hash": "f31292c4e171"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 68,
|
|
"message": "Chained locator call in test: n8n.canvas.tagsManagerModal.getTable().getByText(tag2)",
|
|
"hash": "20fbe08893cc"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 213,
|
|
"message": "Chained locator call in test: n8n.canvas.getVisibleDropdown().locator('li')",
|
|
"hash": "4febc57392da"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/workflow-actions/archive.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 40,
|
|
"message": "Chained locator call in test: n8n.workflowSettingsModal.getArchiveMenuItem().locator('..')",
|
|
"hash": "ec8d53703e0b"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/workflow-actions/settings.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 32,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').count()",
|
|
"hash": "43ba2cdb87a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 32,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 34,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last().click()",
|
|
"hash": "4dcd8e905b3c"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 34,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last()",
|
|
"hash": "a8b0a552c436"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 34,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 37,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').first()",
|
|
"hash": "f8c4aff6a0b3"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 37,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 38,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').nth(1).click()",
|
|
"hash": "5a25d5a68877"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 38,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').nth(1)",
|
|
"hash": "0e8a6f4130fa"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 38,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 41,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 42,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last().click()",
|
|
"hash": "4dcd8e905b3c"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 42,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last()",
|
|
"hash": "a8b0a552c436"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 42,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 45,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 46,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last().click()",
|
|
"hash": "4dcd8e905b3c"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 46,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last()",
|
|
"hash": "a8b0a552c436"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 46,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 49,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 50,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last().click()",
|
|
"hash": "4dcd8e905b3c"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 50,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last()",
|
|
"hash": "a8b0a552c436"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 50,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 53,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 54,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last().click()",
|
|
"hash": "4dcd8e905b3c"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 54,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option').last()",
|
|
"hash": "a8b0a552c436"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 54,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option')",
|
|
"hash": "c58b0877f9a1"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/executions/list.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 48,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Success' }).click()",
|
|
"hash": "fbad8571f166"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 48,
|
|
"message": "Direct page locator call: n8n.page.getByRole('option', { name: 'Success' })",
|
|
"hash": "75835fe42ab8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 192,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 233,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 236,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 239,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 242,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 245,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 248,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 251,
|
|
"message": "Chained locator call in test: iframe.locator('body')",
|
|
"hash": "44c6c75041a8"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 270,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('workflow-execution-no-trigger-conte...",
|
|
"hash": "407bd53b3360"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 272,
|
|
"message": "Direct page locator call: n8n.page.getByRole('button', { name: 'Add first step' })....",
|
|
"hash": "90ae792f4909"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 272,
|
|
"message": "Direct page locator call: n8n.page.getByRole('button', { name: 'Add first step' })",
|
|
"hash": "ae0e7537f378"
|
|
},
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 278,
|
|
"message": "Direct page locator call: n8n.page.getByTestId('workflow-execution-no-content')",
|
|
"hash": "36b71f3e9617"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/templates/templates.spec.ts": [
|
|
{
|
|
"rule": "selector-purity",
|
|
"line": 246,
|
|
"message": "Chained locator call in test: n8n.templates.getDescription().locator('img')",
|
|
"hash": "5f06d991a2b6"
|
|
}
|
|
],
|
|
"composables/CanvasComposer.ts": [
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 138,
|
|
"message": "Direct page access in composable: this.n8n.page.url",
|
|
"hash": "504827a38388"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 148,
|
|
"message": "Direct page access in composable: this.n8n.page.url",
|
|
"hash": "504827a38388"
|
|
}
|
|
],
|
|
"composables/DataTablesComposer.ts": [
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 29,
|
|
"message": "Direct page access in composable: this.n8n.page.goto",
|
|
"hash": "bb450d59c911"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 31,
|
|
"message": "Direct page access in composable: this.n8n.page.goto",
|
|
"hash": "bb450d59c911"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 40,
|
|
"message": "Direct page access in composable: this.n8n.page.goto",
|
|
"hash": "bb450d59c911"
|
|
}
|
|
],
|
|
"composables/ExecutionsComposer.ts": [
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 21,
|
|
"message": "Direct page access in composable: this.n8n.page.waitForResponse",
|
|
"hash": "07f5f1ebe32b"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 47,
|
|
"message": "Direct page access in composable: this.n8n.page.waitForRequest",
|
|
"hash": "468594c2598a"
|
|
}
|
|
],
|
|
"composables/TestEntryComposer.ts": [
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 44,
|
|
"message": "Direct page access in composable: this.n8n.page.goto",
|
|
"hash": "bb450d59c911"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 62,
|
|
"message": "Direct page access in composable: this.n8n.page.goto",
|
|
"hash": "bb450d59c911"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 72,
|
|
"message": "Direct page access in composable: this.n8n.page.waitForEvent",
|
|
"hash": "4b068bc8ea06"
|
|
},
|
|
{
|
|
"rule": "no-page-in-flow",
|
|
"line": 102,
|
|
"message": "Direct page access in composable: this.n8n.page.context",
|
|
"hash": "c24e4c27fc5b"
|
|
}
|
|
],
|
|
"tests/e2e/app-config/nps-survey.spec.ts": [
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 50,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
}
|
|
],
|
|
"tests/e2e/auth/password-reset.spec.ts": [
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 11,
|
|
"message": "Raw API call detected: request.post(",
|
|
"hash": "fc24119a27f0"
|
|
}
|
|
],
|
|
"tests/e2e/building-blocks/workflow-entry-points.spec.ts": [
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 39,
|
|
"message": "Raw API call detected: request.post(",
|
|
"hash": "fc24119a27f0"
|
|
}
|
|
],
|
|
"tests/e2e/capabilities/proxy-server.spec.ts": [
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 27,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 64,
|
|
"message": "Raw API call detected: fetch(",
|
|
"hash": "b52df352569e"
|
|
}
|
|
],
|
|
"tests/e2e/sharing/workflow-sharing.spec.ts": [
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 122,
|
|
"message": "Raw API call detected: request.get(",
|
|
"hash": "5128d500e46f"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/subworkflows/subworkflow-version-resolution.spec.ts": [
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 64,
|
|
"message": "Raw API call detected: request.patch(",
|
|
"hash": "8b1d786219ad"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 116,
|
|
"message": "Raw API call detected: request.post(",
|
|
"hash": "fc24119a27f0"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 145,
|
|
"message": "Raw API call detected: request.patch(",
|
|
"hash": "8b1d786219ad"
|
|
},
|
|
{
|
|
"rule": "api-purity",
|
|
"line": 298,
|
|
"message": "Raw API call detected: request.patch(",
|
|
"hash": "8b1d786219ad"
|
|
}
|
|
],
|
|
"pages/WorkerViewPage.ts": [
|
|
{
|
|
"rule": "deduplication",
|
|
"line": 13,
|
|
"message": "Duplicate locator: this.page.getByTestId(\"menu-item\") in pages scope",
|
|
"hash": "d2fda13bfcbe"
|
|
}
|
|
],
|
|
"workflows/Test_workflow_5.json": [
|
|
{
|
|
"rule": "test-data-hygiene",
|
|
"line": 1,
|
|
"message": "Poorly named test data: Test_workflow_5.json",
|
|
"hash": "dad4916c95c2"
|
|
}
|
|
],
|
|
"workflows/Test_workflow_3.json": [
|
|
{
|
|
"rule": "test-data-hygiene",
|
|
"line": 1,
|
|
"message": "Poorly named test data: Test_workflow_3.json",
|
|
"hash": "f8c622dd26a0"
|
|
}
|
|
],
|
|
"workflows/Test_workflow_1.json": [
|
|
{
|
|
"rule": "test-data-hygiene",
|
|
"line": 1,
|
|
"message": "Poorly named test data: Test_workflow_1.json",
|
|
"hash": "59565c005bcb"
|
|
}
|
|
],
|
|
"pages/components/VariableModal.ts": [
|
|
{
|
|
"rule": "duplicate-logic",
|
|
"line": 36,
|
|
"message": "Duplicate method logic: VariableModal.close() has identical structure to pages/components/CredentialModal.ts:CredentialModal.close()",
|
|
"hash": "271e51542c85"
|
|
}
|
|
],
|
|
"tests/e2e/workflows/editor/canvas/actions.spec.ts": [
|
|
{
|
|
"rule": "duplicate-logic",
|
|
"line": 66,
|
|
"message": "Duplicate test logic: \"should add disconnected node if nothing is selected\" has identical structure to tests/e2e/building-blocks/canvas-actions.spec.ts:\"should add disconnected node when nothing selected\"",
|
|
"hash": "5cda70c65afc"
|
|
}
|
|
],
|
|
"tests/e2e/chat-hub/chat-hub-chat-user.spec.ts": [
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 28,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
}
|
|
],
|
|
"tests/e2e/chat-hub/chat-hub-settings.spec.ts": [
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 14,
|
|
"message": "Direct page instantiation: new ChatHubSettingsPage(n8n.page)",
|
|
"hash": "03642a3feb2b"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 39,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(memberN8n.page)",
|
|
"hash": "397d824f0d69"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 61,
|
|
"message": "Direct page instantiation: new ChatHubSettingsPage(n8n.page)",
|
|
"hash": "03642a3feb2b"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 98,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(memberN8n.page)",
|
|
"hash": "397d824f0d69"
|
|
}
|
|
],
|
|
"tests/e2e/chat-hub/chat-hub-tools.spec.ts": [
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 16,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
}
|
|
],
|
|
"tests/e2e/chat-hub/chat-hub-workflow-agent.spec.ts": [
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 16,
|
|
"message": "Direct page instantiation: new ChatHubWorkflowAgentsPage(n8n.page)",
|
|
"hash": "c9be1b5d1bc9"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 17,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(n8n.page)",
|
|
"hash": "4c6c3053ee95"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 35,
|
|
"message": "Direct page instantiation: new CanvasPage(tab1)",
|
|
"hash": "57ca97b38297"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 36,
|
|
"message": "Direct page instantiation: new NodeDetailsViewPage(tab1)",
|
|
"hash": "b2f3d965950b"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 58,
|
|
"message": "Direct page instantiation: new CanvasPage(tab2)",
|
|
"hash": "0bd465646efa"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 59,
|
|
"message": "Direct page instantiation: new NodeDetailsViewPage(tab2)",
|
|
"hash": "e3b9a2a545fd"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 84,
|
|
"message": "Direct page instantiation: new ChatHubWorkflowAgentsPage(n8n.page)",
|
|
"hash": "c9be1b5d1bc9"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 89,
|
|
"message": "Direct page instantiation: new ChatHubWorkflowAgentsPage(memberN8n.page)",
|
|
"hash": "13e61175005b"
|
|
},
|
|
{
|
|
"rule": "no-direct-page-instantiation",
|
|
"line": 107,
|
|
"message": "Direct page instantiation: new ChatHubChatPage(memberN8n.page)",
|
|
"hash": "397d824f0d69"
|
|
}
|
|
]
|
|
}
|
|
}
|