@wix/agent-skills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +111 -0
- package/package.json +29 -0
- package/skills/wix-app/SKILL.md +344 -0
- package/skills/wix-app/references/APP_IDENTIFIERS.md +35 -0
- package/skills/wix-app/references/APP_MARKET_REVIEW.md +311 -0
- package/skills/wix-app/references/APP_VALIDATION.md +171 -0
- package/skills/wix-app/references/BACKEND_API.md +233 -0
- package/skills/wix-app/references/BACKEND_EVENT.md +116 -0
- package/skills/wix-app/references/CODE_QUALITY.md +33 -0
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +587 -0
- package/skills/wix-app/references/DASHBOARD_MENU_PLUGIN.md +157 -0
- package/skills/wix-app/references/DASHBOARD_MODAL.md +283 -0
- package/skills/wix-app/references/DASHBOARD_PAGE.md +403 -0
- package/skills/wix-app/references/DASHBOARD_PLUGIN.md +205 -0
- package/skills/wix-app/references/DATA_COLLECTION.md +451 -0
- package/skills/wix-app/references/DOCUMENTATION.md +42 -0
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +65 -0
- package/skills/wix-app/references/EMBEDDED_SCRIPT.md +468 -0
- package/skills/wix-app/references/EXTENSION_REGISTRATION.md +96 -0
- package/skills/wix-app/references/SERVICE_PLUGIN.md +235 -0
- package/skills/wix-app/references/SITE_PLUGIN.md +436 -0
- package/skills/wix-app/references/STORES_VERSIONING.md +334 -0
- package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +84 -0
- package/skills/wix-app/references/custom-element-widget/SETTINGS_PANEL.md +345 -0
- package/skills/wix-app/references/dashboard-menu-plugin/blog-slots.md +71 -0
- package/skills/wix-app/references/dashboard-menu-plugin/bookings-slots.md +58 -0
- package/skills/wix-app/references/dashboard-menu-plugin/crm-slots.md +8 -0
- package/skills/wix-app/references/dashboard-menu-plugin/ecommerce-slots.md +17 -0
- package/skills/wix-app/references/dashboard-menu-plugin/events-slots.md +29 -0
- package/skills/wix-app/references/dashboard-menu-plugin/restaurants-slots.md +27 -0
- package/skills/wix-app/references/dashboard-menu-plugin/stores-slots.md +35 -0
- package/skills/wix-app/references/dashboard-page/API_SPEC.md +138 -0
- package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +573 -0
- package/skills/wix-app/references/dashboard-page/DYNAMIC_PARAMETERS.md +269 -0
- package/skills/wix-app/references/dashboard-page/ECOM_NAVIGATION.md +164 -0
- package/skills/wix-app/references/dashboard-plugin/SLOTS.md +294 -0
- package/skills/wix-app/references/data-collection/WIX_DATA.md +270 -0
- package/skills/wix-app/references/data-collection/extension-template.ts +107 -0
- package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +138 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +454 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +165 -0
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +576 -0
- package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +170 -0
- package/skills/wix-app/references/editor-react-component/EDIT-FLOW.md +6 -0
- package/skills/wix-app/references/editor-react-component/PARTS.md +25 -0
- package/skills/wix-app/references/editor-react-component/PROPS-VS-CSS.md +203 -0
- package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +167 -0
- package/skills/wix-app/references/editor-react-component/REACT-PATTERNS.md +137 -0
- package/skills/wix-app/references/service-plugin/ADDITIONAL-FEES.md +112 -0
- package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +118 -0
- package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +87 -0
- package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +86 -0
- package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +135 -0
- package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +79 -0
- package/skills/wix-app/references/service-plugin/VALIDATIONS.md +68 -0
- package/skills/wix-app/references/site-plugin/EXAMPLES.md +311 -0
- package/skills/wix-app/references/site-plugin/SLOTS.md +263 -0
- package/skills/wix-design-system/SKILL.md +129 -0
- package/skills/wix-design-system/references/file-structure.md +56 -0
- package/skills/wix-design-system/scripts/wds.cjs +531 -0
- package/skills/wix-headless/SKILL.md +418 -0
- package/skills/wix-headless/references/DISCOVERY.md +332 -0
- package/skills/wix-headless/references/ORCHESTRATION.md +269 -0
- package/skills/wix-headless/references/SETUP.md +154 -0
- package/skills/wix-headless/references/blog/BLOG_CONTENT.md +152 -0
- package/skills/wix-headless/references/blog/BLOG_PAGES.md +299 -0
- package/skills/wix-headless/references/blog/BLOG_SETUP.md +218 -0
- package/skills/wix-headless/references/blog/INSTRUCTIONS.md +32 -0
- package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +373 -0
- package/skills/wix-headless/references/cms/FAQ_KNOWLEDGE_BASE.md +229 -0
- package/skills/wix-headless/references/cms/INSTRUCTIONS.md +40 -0
- package/skills/wix-headless/references/cms/PORTFOLIO.md +454 -0
- package/skills/wix-headless/references/cms/RESOURCE_LIBRARY.md +356 -0
- package/skills/wix-headless/references/cms/TEAM_DIRECTORY.md +299 -0
- package/skills/wix-headless/references/commands/install-app.md +42 -0
- package/skills/wix-headless/references/commands/known-apps.json +5 -0
- package/skills/wix-headless/references/commands/mcp-bootstrap.md +28 -0
- package/skills/wix-headless/references/designer/INSTRUCTIONS.md +828 -0
- package/skills/wix-headless/references/ecom/CART_PAGES.md +120 -0
- package/skills/wix-headless/references/ecom/CART_WIRING.md +103 -0
- package/skills/wix-headless/references/ecom/COMPONENTS_CSS.md +132 -0
- package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +59 -0
- package/skills/wix-headless/references/forms/CONTACT_FORM.md +477 -0
- package/skills/wix-headless/references/forms/INSTRUCTIONS.md +43 -0
- package/skills/wix-headless/references/gift-cards/COMPONENTS.md +119 -0
- package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +51 -0
- package/skills/wix-headless/references/gift-cards/PAGES.md +129 -0
- package/skills/wix-headless/references/images/INSTRUCTIONS.md +359 -0
- package/skills/wix-headless/references/shared/BUILD_NOISE.md +8 -0
- package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +185 -0
- package/skills/wix-headless/references/shared/IMPLEMENTER.md +155 -0
- package/skills/wix-headless/references/shared/MCP_PREFIX.md +105 -0
- package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +97 -0
- package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +423 -0
- package/skills/wix-headless/references/shared/STYLING.md +117 -0
- package/skills/wix-headless/references/stores/BACK_IN_STOCK.md +178 -0
- package/skills/wix-headless/references/stores/CATEGORY_PAGES.md +86 -0
- package/skills/wix-headless/references/stores/COMPONENTS_CSS.md +129 -0
- package/skills/wix-headless/references/stores/HOME_AND_NAV.md +227 -0
- package/skills/wix-headless/references/stores/INSTRUCTIONS.md +96 -0
- package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +249 -0
- package/skills/wix-headless/references/stores/PRODUCT_PAGES.md +213 -0
- package/skills/wix-headless/references/stores/SHARED_WIRING.md +164 -0
- package/skills/wix-headless/references/verticals/_schema.json +160 -0
- package/skills/wix-headless/references/verticals/_schema.md +185 -0
- package/skills/wix-headless/references/verticals/blog.md +125 -0
- package/skills/wix-headless/references/verticals/cms.md +121 -0
- package/skills/wix-headless/references/verticals/ecom.md +96 -0
- package/skills/wix-headless/references/verticals/forms.md +106 -0
- package/skills/wix-headless/references/verticals/gift-cards.md +121 -0
- package/skills/wix-headless/references/verticals/stores.md +167 -0
- package/skills/wix-headless/scripts/check-manifest.mjs +198 -0
- package/skills/wix-headless/scripts/copy-utility-templates.mjs +153 -0
- package/skills/wix-headless/scripts/emit-design-tokens.mjs +77 -0
- package/skills/wix-headless/scripts/finalize-run-json.mjs +141 -0
- package/skills/wix-headless/scripts/init-site-json.mjs +63 -0
- package/skills/wix-headless/scripts/patch-decorative-slots.mjs +124 -0
- package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +190 -0
- package/skills/wix-headless/scripts/preview.sh +45 -0
- package/skills/wix-headless/scripts/release.sh +73 -0
- package/skills/wix-headless/scripts/scaffold.sh +53 -0
- package/skills/wix-headless/scripts/seed-utilities.sh +55 -0
- package/skills/wix-headless/shared-utilities/analytics.ts +40 -0
- package/skills/wix-headless/shared-utilities/ricos.ts +179 -0
- package/skills/wix-headless/shared-utilities/wix-image.ts +72 -0
- package/skills/wix-headless/templates/ecom/CartBadge.tsx +84 -0
- package/skills/wix-headless/templates/ecom/CartView.tsx +543 -0
- package/skills/wix-headless/templates/ecom/cart.astro +13 -0
- package/skills/wix-headless/templates/ecom/components-ecom.css +215 -0
- package/skills/wix-headless/templates/ecom/discounts.ts +71 -0
- package/skills/wix-headless/templates/ecom/thank-you.astro +24 -0
- package/skills/wix-headless/templates/gift-cards/GiftCardPurchase.tsx +172 -0
- package/skills/wix-headless/templates/gift-cards/_home-teaser-snippet.astro +42 -0
- package/skills/wix-headless/templates/gift-cards/_nav-snippet.astro +11 -0
- package/skills/wix-headless/templates/gift-cards/components-gift-cards.css +219 -0
- package/skills/wix-headless/templates/gift-cards/gift-cards.astro +51 -0
- package/skills/wix-headless/templates/gift-cards/gift-cards.ts +75 -0
- package/skills/wix-headless/templates/stores/AddToCartButton.tsx +77 -0
- package/skills/wix-headless/templates/stores/BackInStockForm.tsx +176 -0
- package/skills/wix-headless/templates/stores/CategoryRail.astro +69 -0
- package/skills/wix-headless/templates/stores/ProductCard.astro +79 -0
- package/skills/wix-headless/templates/stores/ProductPurchase.tsx +397 -0
- package/skills/wix-headless/templates/stores/SeoTags.astro +21 -0
- package/skills/wix-headless/templates/stores/back-in-stock.ts +67 -0
- package/skills/wix-headless/templates/stores/categories.ts +155 -0
- package/skills/wix-headless/templates/stores/category/[slug].astro +130 -0
- package/skills/wix-headless/templates/stores/components-stores.css +295 -0
- package/skills/wix-headless/templates/stores/products/[slug].astro +128 -0
- package/skills/wix-headless/templates/stores/products/index.astro +101 -0
- package/skills/wix-manage/SKILL.md +280 -0
- package/skills/wix-manage/references/app-installation/install-wix-apps.md +155 -0
- package/skills/wix-manage/references/app-installation/list-installed-apps.md +124 -0
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +226 -0
- package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +95 -0
- package/skills/wix-manage/references/bookings/booking-system-integration-gaps.md +416 -0
- package/skills/wix-manage/references/bookings/bookings-staff-setup.md +255 -0
- package/skills/wix-manage/references/bookings/create-and-update-booking-services.md +462 -0
- package/skills/wix-manage/references/bookings/end-to-end-booking-flow.md +278 -0
- package/skills/wix-manage/references/bookings/external-calendar-integration.md +258 -0
- package/skills/wix-manage/references/bookings/multi-resource-service-creation.md +231 -0
- package/skills/wix-manage/references/calendar/configure-default-business-hours.md +226 -0
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +422 -0
- package/skills/wix-manage/references/cms/cms-data-operations-extended.md +263 -0
- package/skills/wix-manage/references/cms/cms-ecommerce-catalog-integration.md +136 -0
- package/skills/wix-manage/references/cms/cms-references-and-relationships.md +160 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +143 -0
- package/skills/wix-manage/references/contacts/bulk-delete-contacts.md +73 -0
- package/skills/wix-manage/references/contacts/bulk-label-and-unlabel-contacts.md +67 -0
- package/skills/wix-manage/references/domains/domain-search-and-purchase.md +434 -0
- package/skills/wix-manage/references/ecommerce/api-recommendation-tracking.md +420 -0
- package/skills/wix-manage/references/ecommerce/flow-add-free-shipping.md +267 -0
- package/skills/wix-manage/references/ecommerce/flow-bundle-and-save.md +290 -0
- package/skills/wix-manage/references/ecommerce/flow-fix-coverage-gaps.md +300 -0
- package/skills/wix-manage/references/ecommerce/flow-optimize-shipping-rates.md +364 -0
- package/skills/wix-manage/references/ecommerce/flow-seasonal-promotion.md +315 -0
- package/skills/wix-manage/references/ecommerce/flow-stock-mover.md +308 -0
- package/skills/wix-manage/references/ecommerce/flow-upsell-boost.md +271 -0
- package/skills/wix-manage/references/ecommerce/goal-clear-inventory.md +118 -0
- package/skills/wix-manage/references/ecommerce/goal-drive-cross-sells.md +122 -0
- package/skills/wix-manage/references/ecommerce/goal-increase-aov.md +132 -0
- package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +148 -0
- package/skills/wix-manage/references/ecommerce/goal-seasonal-revenue.md +146 -0
- package/skills/wix-manage/references/ecommerce/guardrail-discount-conflicts.md +118 -0
- package/skills/wix-manage/references/ecommerce/guardrail-margin-protection.md +88 -0
- package/skills/wix-manage/references/ecommerce/guardrail-rate-pricing-sanity.md +108 -0
- package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +124 -0
- package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +299 -0
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +582 -0
- package/skills/wix-manage/references/ecommerce/setup-coupons.md +338 -0
- package/skills/wix-manage/references/ecommerce/setup-discount-rules.md +444 -0
- package/skills/wix-manage/references/ecommerce/setup-shipping-rates.md +86 -0
- package/skills/wix-manage/references/ecommerce/setup-shipping-regions.md +56 -0
- package/skills/wix-manage/references/ecommerce/setup-store-pickup-location.md +209 -0
- package/skills/wix-manage/references/ecommerce/skill-graph.md +139 -0
- package/skills/wix-manage/references/ecommerce/troubleshoot-checkout-delivery-dropoff.md +124 -0
- package/skills/wix-manage/references/ecommerce/troubleshoot-discount-not-applying.md +95 -0
- package/skills/wix-manage/references/events/list-events.md +203 -0
- package/skills/wix-manage/references/forms/create-form.md +260 -0
- package/skills/wix-manage/references/get-paid/create-payment-links.md +212 -0
- package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +57 -0
- package/skills/wix-manage/references/get-paid/payment-links-for-bookings.md +101 -0
- package/skills/wix-manage/references/media/upload-media-to-wix.md +216 -0
- package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +77 -0
- package/skills/wix-manage/references/pricing-plans/pricing-plans-bookings-integration.md +166 -0
- package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +336 -0
- package/skills/wix-manage/references/rich-content/ricos-converter-service.md +295 -0
- package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +59 -0
- package/skills/wix-manage/references/sites/create-site-from-template.md +183 -0
- package/skills/wix-manage/references/sites/query-sites.md +125 -0
- package/skills/wix-manage/references/stores/add-store-pages-to-site.md +57 -0
- package/skills/wix-manage/references/stores/bulk-create-products-with-options.md +1041 -0
- package/skills/wix-manage/references/stores/create-product-catalog-v1.md +125 -0
- package/skills/wix-manage/references/stores/create-product-from-image.md +824 -0
- package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +566 -0
- package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +194 -0
- package/skills/wix-manage/references/stores/query-products-catalog-v1.md +80 -0
- package/skills/wix-manage/references/stores/setup-online-store-catalog-v3.md +99 -0
- package/skills/wix-manage/references/stores/update-product-pre-order.md +213 -0
- package/skills/wix-manage/references/stores/update-product-with-options.md +318 -0
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
# Wix App Market Review
|
|
2
|
+
|
|
3
|
+
Use this reference when preparing a Wix CLI app for App Market submission,
|
|
4
|
+
auditing review feedback, or checking whether an implementation is likely to
|
|
5
|
+
pass technical review. Keep the review evidence-based: classify what the app
|
|
6
|
+
actually does, then mark each relevant requirement as `Confirmed`,
|
|
7
|
+
`Not applicable`, or `Needs confirmation`.
|
|
8
|
+
|
|
9
|
+
This page covers code-facing and repository-verifiable requirements. App
|
|
10
|
+
Dashboard, pricing-page setup, company profile, and listing-copy checks require
|
|
11
|
+
separate dashboard or listing verification unless the user provides direct
|
|
12
|
+
evidence.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Review Workflow
|
|
17
|
+
|
|
18
|
+
1. Identify the app surfaces first: billing model, auth/password usage, cookie
|
|
19
|
+
usage, extension types, live-site surfaces, dashboard/setup surfaces, Wix
|
|
20
|
+
business-solution dependencies, and webhooks.
|
|
21
|
+
2. Start with a report-only pass. List confirmed gaps, why they matter, and
|
|
22
|
+
official Wix documentation links where available.
|
|
23
|
+
3. Do not mark a requirement as missing unless code, config, user statements,
|
|
24
|
+
runtime behavior, or explicit absence supports that finding. Otherwise mark
|
|
25
|
+
it `Needs confirmation`.
|
|
26
|
+
4. Before flagging secrets, config leakage, or similar security issues, verify
|
|
27
|
+
the exposure is in a tracked file, the current diff, build artifacts, or
|
|
28
|
+
another review-relevant surface. Do not treat a local-only workspace file by
|
|
29
|
+
itself as repository exposure.
|
|
30
|
+
5. Do not infer app billing configuration from Wix Business Solutions Pricing
|
|
31
|
+
Plans SDK/API usage. Business-solution Pricing Plans are for a Wix user
|
|
32
|
+
selling plans to customers; App Billing/App Plans are for charging site
|
|
33
|
+
owners for the app.
|
|
34
|
+
6. For any code-facing gap the user asks you to fix, implement the fix through
|
|
35
|
+
the relevant `wix-app` extension reference first, then run validation.
|
|
36
|
+
|
|
37
|
+
## Expected Output
|
|
38
|
+
|
|
39
|
+
Group findings by priority:
|
|
40
|
+
|
|
41
|
+
- Technical blockers: confirmed issues that are likely decline reasons.
|
|
42
|
+
- Should-fix items: high review risk, but not enough evidence to call them
|
|
43
|
+
definite decline reasons.
|
|
44
|
+
- Nice-to-have hardening: improvements that reduce risk without blocking
|
|
45
|
+
submission.
|
|
46
|
+
- Needs confirmation: requirements that cannot be verified from available
|
|
47
|
+
evidence.
|
|
48
|
+
|
|
49
|
+
For each finding include:
|
|
50
|
+
|
|
51
|
+
- `Applicability`
|
|
52
|
+
- `Evidence`
|
|
53
|
+
- `Impact`
|
|
54
|
+
- `Recommended fix`
|
|
55
|
+
- `Verification`
|
|
56
|
+
- `Confidence`
|
|
57
|
+
|
|
58
|
+
Preserve qualifiers from the taxonomy and docs. Do not upgrade `recommended`,
|
|
59
|
+
`if applicable`, or surface-specific guidance into a universal requirement.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Technical Checklist
|
|
64
|
+
|
|
65
|
+
Work through this before submission. Only applicable unchecked items are
|
|
66
|
+
potential decline reasons.
|
|
67
|
+
|
|
68
|
+
### Billing and Payments
|
|
69
|
+
|
|
70
|
+
- [ ] All in-app purchases route through Wix Billing unless Wix explicitly
|
|
71
|
+
approved the app as Partner Billed; approved Partner Billed apps report
|
|
72
|
+
charges through External Billing Events.
|
|
73
|
+
- [ ] No external purchase buttons, links, QR codes, license keys, or other
|
|
74
|
+
custom mechanisms unlock paid content.
|
|
75
|
+
- [ ] Full checkout flow tested for every plan.
|
|
76
|
+
- [ ] If the app has premium features, there is a clear in-product upgrade link
|
|
77
|
+
or CTA.
|
|
78
|
+
- [ ] Credits do not expire.
|
|
79
|
+
|
|
80
|
+
### Setup and Access
|
|
81
|
+
|
|
82
|
+
- [ ] App configuration URLs are public and do not use localhost.
|
|
83
|
+
- [ ] A usable setup/settings UI exists. Embedded Script apps need a dashboard
|
|
84
|
+
page.
|
|
85
|
+
|
|
86
|
+
### Instance and Identity
|
|
87
|
+
|
|
88
|
+
- [ ] `instanceId` is used for user/site identification, not cookies or sessions.
|
|
89
|
+
- [ ] Billing is separated per `instanceId`.
|
|
90
|
+
- [ ] Auto-login works when the user reopens the app from Manage Apps.
|
|
91
|
+
- [ ] Site duplication is handled through `originInstanceId`: treat the copied
|
|
92
|
+
site as a new install linked to the original and copy applicable
|
|
93
|
+
settings/content where possible.
|
|
94
|
+
- [ ] Required Wix apps, such as Stores or Bookings, are checked through Get App
|
|
95
|
+
Instance and surfaced clearly if missing.
|
|
96
|
+
- [ ] If the app supports Wix Stores catalog data, both Catalog V1 and Catalog
|
|
97
|
+
V3 are supported. See [STORES_VERSIONING.md](STORES_VERSIONING.md).
|
|
98
|
+
|
|
99
|
+
### Webhooks
|
|
100
|
+
|
|
101
|
+
- [ ] Any implemented webhook returns HTTP 200 on successful receipt.
|
|
102
|
+
- [ ] App Installed and App Removed webhooks are considered for lifecycle
|
|
103
|
+
provisioning and cleanup. They are recommended, not a universal hard
|
|
104
|
+
requirement.
|
|
105
|
+
|
|
106
|
+
### Permissions
|
|
107
|
+
|
|
108
|
+
- [ ] Only minimum required permissions are requested.
|
|
109
|
+
- [ ] Redundant or overlapping permissions are removed.
|
|
110
|
+
|
|
111
|
+
### Security
|
|
112
|
+
|
|
113
|
+
- [ ] Signed `instance` verification happens server-side before trusting
|
|
114
|
+
user/site context.
|
|
115
|
+
- [ ] Signed-instance-backed edit/save actions validate `signDate`; stale
|
|
116
|
+
signatures require refresh before continuing.
|
|
117
|
+
- [ ] All endpoints are HTTPS with no HTTP fallback.
|
|
118
|
+
- [ ] In-product flows avoid `alert()` and `confirm()`; use Wix modal,
|
|
119
|
+
inline status, toast, or another surface-appropriate feedback pattern.
|
|
120
|
+
- [ ] XSS protection covers all user input fields.
|
|
121
|
+
- [ ] Passwords are stored as salted hashes, such as bcrypt or SHA-256 with a
|
|
122
|
+
unique salt per password.
|
|
123
|
+
- [ ] Password reset uses an expiring email link and never sends raw passwords.
|
|
124
|
+
- [ ] Sensitive data is not stored in cookies and is encrypted where needed.
|
|
125
|
+
|
|
126
|
+
### UX and Display
|
|
127
|
+
|
|
128
|
+
- [ ] In-product flows use Wix popup/modal patterns where appropriate.
|
|
129
|
+
OAuth and documented Wix pricing-page upgrade CTAs are exceptions.
|
|
130
|
+
- [ ] First install shows realistic demo data, not placeholder lorem ipsum.
|
|
131
|
+
- [ ] Ads are not shown to site visitors unless ad display is the app purpose
|
|
132
|
+
and the app has the required permits.
|
|
133
|
+
- [ ] Review prompts, if present, are non-blocking and do not force or
|
|
134
|
+
incentivize reviews.
|
|
135
|
+
- [ ] Plugin content relates to the host app's core functionality.
|
|
136
|
+
|
|
137
|
+
### Performance and Quality
|
|
138
|
+
|
|
139
|
+
- [ ] Startup and load times meet App Market expectations.
|
|
140
|
+
- [ ] No known bugs or console errors remain.
|
|
141
|
+
- [ ] Supported-browser matrix is tested.
|
|
142
|
+
- [ ] Live-site extensions are responsive across screen sizes.
|
|
143
|
+
- [ ] Dashboard surfaces support the required desktop layout.
|
|
144
|
+
|
|
145
|
+
### SEO, Accessibility, and Localization
|
|
146
|
+
|
|
147
|
+
- [ ] Widget components do not render `<h1>` tags.
|
|
148
|
+
- [ ] User-facing images expose alt-text customization where applicable.
|
|
149
|
+
- [ ] App output is UTF-8 encoded.
|
|
150
|
+
- [ ] Website components meet accessibility standards.
|
|
151
|
+
|
|
152
|
+
### Cookie Consent
|
|
153
|
+
|
|
154
|
+
- [ ] Cookie consent workflow activates/deactivates cookies per visitor
|
|
155
|
+
preferences.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Implementation Notes
|
|
160
|
+
|
|
161
|
+
### Payment and Billing
|
|
162
|
+
|
|
163
|
+
All apps that collect money must route payments through Wix Billing unless Wix
|
|
164
|
+
granted a formal exception. Approved Partner Billed apps still need to report
|
|
165
|
+
charges/refunds through External Billing Events and submit revenue reports.
|
|
166
|
+
|
|
167
|
+
| Requirement | Notes | Docs |
|
|
168
|
+
| --- | --- | --- |
|
|
169
|
+
| Implement Wix Billing (#25) | Use Billing API for subscriptions unless Wix approved Partner Billing. | [App Billing APIs](https://dev.wix.com/docs/api-reference/app-management/app-billing/introduction) |
|
|
170
|
+
| No custom unlock mechanisms (#29, #30) | Content gating and purchase flows must go through Wix Billing only. | [Billing API](https://dev.wix.com/docs/api-reference/app-management/app-billing/billing/introduction) |
|
|
171
|
+
| Test checkout per plan (#33) | Verify purchase, upgrade, cancellation, and entitlement UX. | [Billing sample flows](https://dev.wix.com/docs/api-reference/app-management/app-billing/billing/sample-flows) |
|
|
172
|
+
| Upgrade path (#125) | Premium features need a clear upgrade link or CTA. Do not treat Business Solutions Pricing Plans SDK usage as evidence for app billing decisions. | [Identify and Manage App Users](https://dev.wix.com/docs/build-apps/launch-your-app/pricing-and-billing/identify-and-manage-app-users) |
|
|
173
|
+
| Usage-based or one-time charges | Billing API handles subscriptions; use Custom Charges for other approved billing flows. | [Custom Charges Service Plugin](https://dev.wix.com/docs/api-reference/app-management/app-billing/custom-charges-service-plugin/introduction) |
|
|
174
|
+
| Partner Billed reporting | Required only for apps with written approval from Wix. | [External Billing Events API](https://dev.wix.com/docs/api-reference/app-management/app-billing/external-billing-events/introduction) |
|
|
175
|
+
|
|
176
|
+
### App Instance and Identity
|
|
177
|
+
|
|
178
|
+
The `instanceId` uniquely identifies an app installation on a site. Use it for
|
|
179
|
+
identity, app data, and billing. Site duplication creates a new `instanceId`;
|
|
180
|
+
use `originInstanceId` to relate the copied site to the original.
|
|
181
|
+
|
|
182
|
+
| Requirement | Notes | Docs |
|
|
183
|
+
| --- | --- | --- |
|
|
184
|
+
| Identify by `instanceId` (#115) | Each site installation gets a unique ID. | [App Instance API](https://dev.wix.com/docs/api-reference/app-management/app-instance/introduction) |
|
|
185
|
+
| Separate billing per site (#116) | One plan must not silently unlock multiple sites. | [App Instance API](https://dev.wix.com/docs/api-reference/app-management/app-instance/introduction) |
|
|
186
|
+
| Auto-login (#118) | Restore the app session from the current site instance. | [Get App Instance](https://dev.wix.com/docs/api-reference/app-management/app-instance/get-app-instance) |
|
|
187
|
+
| Check required apps (#120) | Verify required Wix apps and show clear setup guidance if missing. | [Get App Instance](https://dev.wix.com/docs/api-reference/app-management/app-instance/get-app-instance) |
|
|
188
|
+
| Site duplication (#122) | Copy relevant settings/content to the new instance where possible. | [App Instance API](https://dev.wix.com/docs/api-reference/app-management/app-instance/introduction) |
|
|
189
|
+
| Stores catalog compatibility (#130) | Support both Catalog V1 and Catalog V3. | [Catalog Versioning API](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction) |
|
|
190
|
+
|
|
191
|
+
### Webhooks, Setup, and Permissions
|
|
192
|
+
|
|
193
|
+
| Requirement | Notes | Docs |
|
|
194
|
+
| --- | --- | --- |
|
|
195
|
+
| App lifecycle webhooks (#113) | Recommended for provisioning and cleanup; if implemented, return HTTP 200. | [App Instance Installed](https://dev.wix.com/docs/api-reference/app-management/app-instance/app-instance-installed) |
|
|
196
|
+
| Webhook success response (#114) | Any implemented webhook must return HTTP 200 on successful receipt. | [App Instance Removed](https://dev.wix.com/docs/api-reference/app-management/app-instance/app-instance-removed) |
|
|
197
|
+
| Settings/setup UI (#107) | Provide a dashboard page, widget, or another relevant setup surface. Embedded Script apps need a dashboard page. | [About Extensions](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/about-extensions) |
|
|
198
|
+
| No localhost URLs (#108) | App configuration URLs must be public. | [Self-hosted dashboard extensions](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/dashboard-extensions/add-self-hosted-dashboard-page-extensions) |
|
|
199
|
+
| Minimum permissions (#111, #112) | Request only scopes used by app functionality and remove overlap. | [App Permissions API](https://dev.wix.com/docs/api-reference/app-management/app-permissions/introduction) |
|
|
200
|
+
|
|
201
|
+
### Security
|
|
202
|
+
|
|
203
|
+
| Requirement | Notes | Docs |
|
|
204
|
+
| --- | --- | --- |
|
|
205
|
+
| Verify signed instance (#74) | Decode and verify the signed `instance` parameter server-side. | [App Instance API](https://dev.wix.com/docs/api-reference/app-management/app-instance/introduction) |
|
|
206
|
+
| Validate `signDate` (#76) | For signed-instance-backed state changes, reject signatures older than one day and require refresh. | [Security and Privacy Best Practice](https://dev.wix.com/docs/build-apps/launch-your-app/legal-and-security/security-and-privacy-best-practice) |
|
|
207
|
+
| HTTPS everywhere (#65, #77) | Dashboard, editor, and live-site URLs must use HTTPS. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
208
|
+
| CSRF and XSS (#64, #78) | Sanitize every user input field. Regex tag stripping is only partial mitigation; use context-appropriate encoding and maintained sanitizers when HTML is supported. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
209
|
+
| Password storage (#63, #79, #80) | Store salted hashes; never store raw passwords. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
210
|
+
| Password reset (#81) | Send expiring email links; never send raw passwords. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
211
|
+
| Sensitive data (#69) | Keep sensitive data out of cookies and encrypt it at rest when needed. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
212
|
+
|
|
213
|
+
### UX, Performance, and Accessibility
|
|
214
|
+
|
|
215
|
+
| Requirement | Notes | Docs |
|
|
216
|
+
| --- | --- | --- |
|
|
217
|
+
| Wix popup/modal patterns (#39) | Use Wix-appropriate surfaces for in-product flows. OAuth and documented pricing-page upgrade CTAs are exceptions. | [Dashboard extension guidelines](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/dashboard-extensions/guidelines-for-self-hosted-dashboard-extensions) |
|
|
218
|
+
| No browser-native interruptions (#45) | Replace `alert()` or `confirm()` with inline status, toast, modal, or other appropriate feedback. | [UX/UI Best Practices](https://dev.wix.com/docs/build-apps/develop-your-app/design/ux-and-ui-best-practices) |
|
|
219
|
+
| Demo data (#37) | Show realistic fictional content on first install. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
220
|
+
| No visitor ads (#47) | Unless ad display is the app purpose and required permits exist. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
221
|
+
| Performance (#48, #49) | Run a performance audit and clear known bugs/console errors before submission. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
222
|
+
| Responsive design (#52, #54) | Live-site extensions need responsive layouts; dashboard surfaces need the required desktop layout. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
223
|
+
| Accessibility and SEO (#53, #55, #57, #58) | Avoid widget `<h1>` tags, provide relevant alt-text controls, use UTF-8, and meet accessibility expectations. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
224
|
+
| Cookie consent (#92, #97) | Activate/deactivate cookies dynamically per visitor consent choice. | [App Market Guidelines](https://dev.wix.com/docs/build-apps/launch-your-app/app-distribution/app-market-guidelines) |
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Technical Review Taxonomy
|
|
229
|
+
|
|
230
|
+
Use these IDs for traceability when mapping findings to review feedback.
|
|
231
|
+
|
|
232
|
+
| # | Requirement | Area |
|
|
233
|
+
| --- | --- | --- |
|
|
234
|
+
| 25 | Apps collecting money must implement Wix Billing unless an exception is granted. | Billing |
|
|
235
|
+
| 29 | Do not use custom mechanisms to unlock content. | Billing |
|
|
236
|
+
| 30 | Do not link to purchase mechanisms other than Wix Billing. | Billing |
|
|
237
|
+
| 31 | Credits purchased through in-app purchase must not expire. | Billing |
|
|
238
|
+
| 33 | Test the checkout flow for each plan. | Billing |
|
|
239
|
+
| 35 | No direct user downgrade through the pricing page. | Billing |
|
|
240
|
+
| 37 | Display realistic demo data on first install. | UX |
|
|
241
|
+
| 39 | Use Wix popup/modal patterns for in-product flows; OAuth and documented upgrade CTAs are exceptions. | UX |
|
|
242
|
+
| 44 | Plugin extension content must relate to the host app's core functionality. | Functionality |
|
|
243
|
+
| 45 | Avoid disruptive behavior and browser-native `alert()`/`confirm()` boxes. | UX |
|
|
244
|
+
| 46 | Do not show ads to site owners except unobtrusive cross-promotion of your own apps. | Advertising |
|
|
245
|
+
| 47 | Do not show ads to site visitors unless that is the app purpose and permits exist. | Advertising |
|
|
246
|
+
| 48 | Meet startup and load-time expectations. | Performance |
|
|
247
|
+
| 49 | Clear known bugs and console errors before submission. | Quality |
|
|
248
|
+
| 50 | Multiple website components on the same site must have separate settings. | Multi-instance |
|
|
249
|
+
| 51 | Site copy should copy applicable app content/settings, not reset to default state. | Multi-instance |
|
|
250
|
+
| 52 | Live-site extensions must be responsive across screen sizes and devices. | Responsive |
|
|
251
|
+
| 53 | Website components must be accessible to visitors with disabilities. | Accessibility |
|
|
252
|
+
| 54 | Dashboard app surfaces must support the required desktop layout. | Dashboard |
|
|
253
|
+
| 55 | Widget components must not render `<h1>` tags. | SEO |
|
|
254
|
+
| 56 | Optimize SEO-meaningful content per industry best practices. | SEO |
|
|
255
|
+
| 57 | Include accessibility customization such as alt text where applicable. | Accessibility |
|
|
256
|
+
| 58 | Use UTF-8 encoding for multilingual text support. | Localization |
|
|
257
|
+
| 59 | Test supported desktop browsers. | Browser support |
|
|
258
|
+
| 60 | Test live-site extensions on supported mobile browsers. | Browser support |
|
|
259
|
+
| 61 | Test live-site extensions on supported tablet browsers. | Browser support |
|
|
260
|
+
| 62 | Never request more permissions than required. | Permissions |
|
|
261
|
+
| 63 | Store salted password hashes instead of raw passwords. | Security |
|
|
262
|
+
| 64 | Protect against CSRF, XSS, and other security vulnerabilities. | Security |
|
|
263
|
+
| 65 | Serve the app over HTTPS with a valid certificate. | Security |
|
|
264
|
+
| 66 | Do not force login or personal information unless core to the app. | Security |
|
|
265
|
+
| 67 | Let users revoke connected social credentials in the app. | Security |
|
|
266
|
+
| 68 | Secure and verify each user's identity through the instance. | Identity |
|
|
267
|
+
| 69 | Encrypt sensitive data and do not store it in cookies. | Security |
|
|
268
|
+
| 72 | Keep app secret key and OAuth tokens secure. | Security |
|
|
269
|
+
| 73 | Apps collecting financial data must comply with PCI-DSS and PA-DSS. | Security |
|
|
270
|
+
| 74 | Verify signed instance signature server-side. | Security |
|
|
271
|
+
| 76 | Validate `signDate` for signed-instance-backed edit/save actions. | Security |
|
|
272
|
+
| 77 | All dashboard, editor, and live-site endpoints must support HTTPS. | Security |
|
|
273
|
+
| 78 | Prevent XSS in input fields such as comments, forms, search, and titles. | Security |
|
|
274
|
+
| 79 | Use secure password hashing. | Security |
|
|
275
|
+
| 80 | Add a unique random salt/nonce to each stored password. | Security |
|
|
276
|
+
| 81 | Password reset must use an expiring email link, not a raw password. | Security |
|
|
277
|
+
| 92 | Comply with site visitor consent policies. | Privacy |
|
|
278
|
+
| 97 | Implement cookie consent behavior per visitor preferences. | Privacy |
|
|
279
|
+
| 107 | Provide a settings/setup UI. | Setup |
|
|
280
|
+
| 108 | Do not use localhost URLs in app configuration. | Setup |
|
|
281
|
+
| 111 | Request only minimum necessary permissions. | Permissions |
|
|
282
|
+
| 112 | Remove permissions already included in added scopes. | Permissions |
|
|
283
|
+
| 113 | App Installed and App Removed webhooks are recommended for lifecycle handling. | Webhooks |
|
|
284
|
+
| 114 | Implemented webhooks must return HTTP 200 on successful receipt. | Webhooks |
|
|
285
|
+
| 115 | Identify users by `instanceId`, not session/cookies. | Identity |
|
|
286
|
+
| 116 | Separate billing for each site. | Billing |
|
|
287
|
+
| 117 | Support multi-site account switching or one-account-per-site flows. | Identity |
|
|
288
|
+
| 118 | Auto-login when the user reopens the app through Manage Apps. | Identity |
|
|
289
|
+
| 119 | Forgotten-password flow must send reset links and avoid raw passwords. | Security |
|
|
290
|
+
| 120 | Check required Wix apps and notify the user if missing. | Setup |
|
|
291
|
+
| 121 | Review prompts are recommended only; keep them non-blocking if implemented. | UX |
|
|
292
|
+
| 122 | Handle site duplication through `originInstanceId`. | Multi-instance |
|
|
293
|
+
| 123 | External pricing page is broken or used instead of Wix internal billing. | Billing |
|
|
294
|
+
| 125 | Premium features require a clear upgrade path; do not infer app billing from Business Solutions Pricing Plans API usage. | Billing |
|
|
295
|
+
| 130 | Apps supporting Wix Stores catalog data must support both Catalog V1 and Catalog V3. | Stores |
|
|
296
|
+
| 132 | App installation process fails or results in errors. | Installation |
|
|
297
|
+
| 133 | Login/session issues occur during or after installation. | Identity |
|
|
298
|
+
| 151 | Custom element has quality issues such as pixelated images or missing descriptions. | Component quality |
|
|
299
|
+
| 152 | Embedded script has syntax errors, missing parameters, or the wrong type. | Embedded script |
|
|
300
|
+
| 154 | Component configuration has a general issue. | Components |
|
|
301
|
+
| 158 | Custom element extension is missing settings or does not appear in the editor. | Extensions |
|
|
302
|
+
| 159 | Dashboard modal extension purpose is unclear or unnecessary. | Extensions |
|
|
303
|
+
| 160 | Dashboard page extension is blank, broken, or violates Wix guidelines. | Extensions |
|
|
304
|
+
| 161 | Embedded script is not loading, syncing, or configured correctly. | Extensions |
|
|
305
|
+
| 162 | External URL does not open in a new tab or references a non-Wix platform. | Extensions |
|
|
306
|
+
| 163 | Required service plugin for a dropshipping app is missing. | Service plugin |
|
|
307
|
+
| 166 | Widget extension image or configuration is incorrect. | Extensions |
|
|
308
|
+
| 167 | Extension configuration has a general issue. | Extensions |
|
|
309
|
+
| 168 | Automations email template contains incorrect text or is active too early. | Automations |
|
|
310
|
+
| 169 | App does not follow UX best practices such as defaults or validation warnings. | UX |
|
|
311
|
+
| 170 | App behavior is confusing in editor preview compared with the published site. | UX |
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
|
|
2
|
+
# Wix App Validation
|
|
3
|
+
|
|
4
|
+
Validates Wix CLI applications through a four-step sequential workflow: package installation, TypeScript compilation check, build, and preview.
|
|
5
|
+
|
|
6
|
+
## Validation Workflow
|
|
7
|
+
|
|
8
|
+
Execute these steps sequentially. Stop and report errors if any step fails.
|
|
9
|
+
|
|
10
|
+
### Step 1: Package Installation
|
|
11
|
+
|
|
12
|
+
Ensure all dependencies are installed before proceeding with the build.
|
|
13
|
+
|
|
14
|
+
**Detect package manager:**
|
|
15
|
+
- Check for `package-lock.json` → use `npm`
|
|
16
|
+
- Check for `yarn.lock` → use `yarn`
|
|
17
|
+
- Check for `pnpm-lock.yaml` → use `pnpm`
|
|
18
|
+
- Default to `npm` if no lock file is found
|
|
19
|
+
|
|
20
|
+
**Run installation command:**
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# For npm
|
|
24
|
+
npm install
|
|
25
|
+
|
|
26
|
+
# For yarn
|
|
27
|
+
yarn install
|
|
28
|
+
|
|
29
|
+
# For pnpm
|
|
30
|
+
pnpm install
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Success criteria:**
|
|
34
|
+
- Exit code 0
|
|
35
|
+
- All dependencies installed successfully
|
|
36
|
+
- No missing peer dependencies warnings (unless expected)
|
|
37
|
+
- `node_modules` directory exists and contains expected packages
|
|
38
|
+
|
|
39
|
+
**On failure:** Report the installation errors, [check the debug log](#debug-log-on-errors) for detailed diagnostics, and stop validation. Common issues:
|
|
40
|
+
- Network connectivity problems
|
|
41
|
+
- Corrupted lock files
|
|
42
|
+
- Version conflicts
|
|
43
|
+
- Missing Node.js or package manager
|
|
44
|
+
|
|
45
|
+
### Step 2: TypeScript Compilation Check
|
|
46
|
+
|
|
47
|
+
Run TypeScript compiler to check for type errors.
|
|
48
|
+
|
|
49
|
+
**Full project check:**
|
|
50
|
+
```bash
|
|
51
|
+
npx tsc --noEmit
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Targeted check (specific files/directories):**
|
|
55
|
+
|
|
56
|
+
When validating after implementing a specific extension, you can run TypeScript checks on just those files:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Check specific directory
|
|
60
|
+
npx tsc --noEmit src/extensions/dashboard/pages/survey/**/*.ts src/extensions/dashboard/pages/survey/**/*.tsx
|
|
61
|
+
|
|
62
|
+
# Check dashboard pages only
|
|
63
|
+
npx tsc --noEmit src/extensions/dashboard/pages/**/*.ts src/extensions/dashboard/pages/**/*.tsx
|
|
64
|
+
|
|
65
|
+
# Check custom element widgets only
|
|
66
|
+
npx tsc --noEmit src/extensions/site/widgets/**/*.ts src/extensions/site/widgets/**/*.tsx
|
|
67
|
+
|
|
68
|
+
# Check dashboard modals only
|
|
69
|
+
npx tsc --noEmit src/extensions/dashboard/modals/**/*.ts src/extensions/dashboard/modals/**/*.tsx
|
|
70
|
+
|
|
71
|
+
# Check backend only
|
|
72
|
+
npx tsc --noEmit src/extensions/backend/**/*.ts
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**When to use targeted checks:**
|
|
76
|
+
- After implementing a single extension (faster feedback)
|
|
77
|
+
- When debugging type errors in a specific area
|
|
78
|
+
- During iterative development
|
|
79
|
+
|
|
80
|
+
**When to use full project check:**
|
|
81
|
+
- Before final validation
|
|
82
|
+
- When changes affect shared types
|
|
83
|
+
- Before building/deploying
|
|
84
|
+
|
|
85
|
+
**Success criteria:**
|
|
86
|
+
- Exit code 0
|
|
87
|
+
- No TypeScript compilation errors
|
|
88
|
+
- All type checks pass
|
|
89
|
+
|
|
90
|
+
**On failure:** Report the specific TypeScript errors and stop validation. Common issues:
|
|
91
|
+
- Type mismatches between expected and actual types
|
|
92
|
+
- Missing type declarations for imported modules
|
|
93
|
+
- Incorrect generic type parameters
|
|
94
|
+
- Properties not existing on declared types
|
|
95
|
+
- Incompatible function signatures
|
|
96
|
+
|
|
97
|
+
### Step 3: Build Validation
|
|
98
|
+
|
|
99
|
+
Run the build command and check for compilation errors:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npx wix build
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Success criteria:**
|
|
106
|
+
- Exit code 0
|
|
107
|
+
- No TypeScript errors
|
|
108
|
+
- No missing dependencies
|
|
109
|
+
|
|
110
|
+
**On failure:** Report the specific compilation errors, [check the debug log](#debug-log-on-errors) for detailed diagnostics, and stop validation.
|
|
111
|
+
|
|
112
|
+
### Step 4: Preview Deployment
|
|
113
|
+
|
|
114
|
+
Start the preview server:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npx wix preview
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Success criteria:**
|
|
121
|
+
- Preview server starts successfully
|
|
122
|
+
- Preview URLs are generated (both site and dashboard)
|
|
123
|
+
|
|
124
|
+
**URL extraction:** Parse the terminal output to find both preview URLs. Look for patterns like:
|
|
125
|
+
- Site preview: `Site preview: https://...` or `Site URL: https://...`
|
|
126
|
+
- Dashboard preview: `Dashboard preview: https://...` or `Preview URL: https://...` or `Your app is available at: https://...`
|
|
127
|
+
|
|
128
|
+
Extract both URLs and provide them to the user for manual verification.
|
|
129
|
+
|
|
130
|
+
**On failure:** Report the preview startup errors, [check the debug log](#debug-log-on-errors) for detailed diagnostics, and stop validation.
|
|
131
|
+
|
|
132
|
+
## Validation Report
|
|
133
|
+
|
|
134
|
+
After completing all steps, provide a summary:
|
|
135
|
+
|
|
136
|
+
**Pass:**
|
|
137
|
+
- Dependencies: ✓ All packages installed successfully
|
|
138
|
+
- TypeScript: ✓ No compilation errors
|
|
139
|
+
- Build: ✓ Compiled successfully
|
|
140
|
+
- Preview: ✓ Running at [URL]
|
|
141
|
+
|
|
142
|
+
**Fail:**
|
|
143
|
+
- Identify which step failed
|
|
144
|
+
- Provide specific error messages
|
|
145
|
+
- Suggest remediation steps
|
|
146
|
+
|
|
147
|
+
## Debug Log on Errors
|
|
148
|
+
|
|
149
|
+
When a validation step fails (non-zero exit code, error output, or the CLI crashes/hangs), check `.wix/debug.log` in the project root for the full error trace. **Only read this file when errors occur** — skip it when steps pass or when the terminal output already makes the error clear (e.g. a straightforward TypeScript type error).
|
|
150
|
+
|
|
151
|
+
The `.wix/` directory is automatically created by the Wix CLI and contains internal configuration and log files. Don't edit it, but reading `debug.log` for troubleshooting is expected.
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
Read: .wix/debug.log
|
|
155
|
+
|
|
156
|
+
# If the file is large, read the last 100 lines for the most recent errors
|
|
157
|
+
Read: .wix/debug.log (with offset to the end)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Common Issues
|
|
161
|
+
|
|
162
|
+
| Issue | Cause | Solution |
|
|
163
|
+
|-------|-------|----------|
|
|
164
|
+
| Package installation fails | Missing lock file, network issues, or corrupted node_modules | Delete `node_modules` and lock file, then reinstall |
|
|
165
|
+
| TypeScript compilation fails | Type mismatches, missing declarations, or incorrect types | Fix TypeScript errors shown in `npx tsc --noEmit` output |
|
|
166
|
+
| Build fails | TypeScript errors, missing dependencies, or internal CLI error | Fix TypeScript errors in source; for non-obvious failures, check `.wix/debug.log` |
|
|
167
|
+
| Preview fails to start | Port conflict, config issue, or internal CLI error | Check `wix.config.json`; if unclear, check `.wix/debug.log` for details |
|
|
168
|
+
| Console errors in preview | Runtime exceptions | Check browser console output |
|
|
169
|
+
| UI not rendering | Component errors | Review component code and imports |
|
|
170
|
+
| CLI error with no clear message | Truncated terminal output | Read `.wix/debug.log` for the full error trace and stack details |
|
|
171
|
+
| Mysterious failures after config change | Stale CLI state | Read `.wix/debug.log` to confirm, then delete `.wix/` and rebuild |
|