Expand description
Shopify App Approver - Pattern Matching Library
This crate provides a centralized pattern registry and pre-built pattern sets for validating Shopify apps against approval requirements.
§Overview
The crate is organized into:
registry: Core pattern registry with compile-once regex managementapi: Patterns for GraphQL/REST API detection and deprecated endpointssecurity: Patterns for security vulnerabilities and hardcoded secretswebhooks: Patterns for GDPR webhook compliancebilling: Patterns for Shopify Billing API and third-party payment detection
§Example
use gatekpr_patterns::{
api::check_api_usage,
security::find_security_issues,
webhooks::check_gdpr_webhooks,
billing::check_billing_compliance,
};
let code = r#"
const client = new AdminGraphqlClient();
const result = await client.query({ data: gql`query { shop { name } }` });
"#;
let api_status = check_api_usage(code);
assert!(api_status.uses_graphql);
let security = find_security_issues(code);
assert!(!security.has_issues());§Pattern Sets
Each domain module provides:
- A
Lazy<PatternRegistry>with pre-compiled patterns - Pattern key constants for easy reference
- Helper functions for common checks
- Status structs with compliance evaluation
Re-exports§
pub use api::check_api_usage;pub use api::ApiUsageStatus;pub use api::DEPRECATED_KEYS;pub use api::GRAPHQL_KEYS;pub use api::REST_KEYS;pub use billing::check_billing_compliance;pub use billing::BillingStatus;pub use billing::SHOPIFY_BILLING_KEYS;pub use billing::THIRD_PARTY_PAYMENT_KEYS;pub use registry::PatternError;pub use registry::PatternMatch;pub use registry::PatternRegistry;pub use registry::PatternSet;pub use registry::Result;pub use security::find_security_issues;pub use security::SecretMatch;pub use security::SecurityIssues;pub use security::DANGEROUS_FUNCTION_KEYS;pub use security::HARDCODED_SECRET_KEYS;pub use security::HTTP_URL_KEYS;pub use webhooks::check_gdpr_webhooks;pub use webhooks::GdprWebhookStatus;pub use webhooks::GDPR_WEBHOOK_KEYS;pub use webhooks::WEBHOOK_SECURITY_KEYS;
Modules§
- api
- API-related patterns for Shopify API usage detection
- billing
- Billing-related patterns for Shopify Billing API compliance
- registry
- Pattern registry for managing compiled regex patterns
- security
- Security-related patterns for vulnerability detection
- webhooks
- Webhook-related patterns for Shopify validation
Structs§
- Compliance
Report - Comprehensive compliance report
Functions§
- check_
all_ compliance - Run all compliance checks at once