Nettoyage knip : fichiers et dependances morts
Chacun remplacait un module de l'upstream (tsconfig.json paths) qu'importaient seulement des fichiers vendored morts, supprimes plus bas. Plus aucun import ne nomme leur module.
- Date : 2026-09-26
- Pourquoi : le job CI « knip — unused files & deps » (
pnpm deadcode) echouait : 262 fichiers inutilises, 6 dependances inutilisees, 32 dependances non listees, 1 binaire non liste. Il sort maintenant en 0 (les exports, types et doublons restent des avertissements,knip.jsonrules). - Methode : aucun fichier n'est supprime sur la seule foi de knip. Pour le
vendored Onlook, la reference est le compilateur :
npx tsc -p src/features/ai/onlook/tsconfig.json --listFilesOnly(le programme qui part deonlook-builder.tsxavec lespathsdutsconfig.jsonracine). Un fichier n'est supprime que si knip ET tsc s'accordent a dire que rien ne l'atteint (216 sur 247 ; les 31 autres sontupstream/preload/script/**, atteint par unimport type, cf.src/features/ai/onlook/README.md). Hors vendored : grep du chemin et du nom exporte danssrc/,scripts/,content/, les configs, les tests et les conventions Next.
Ce qui a change hors suppressions
| Fichier | Changement | Pourquoi |
|---|---|---|
knip.json | entry + src/test/stubs/*.ts | stubs branches par les resolve.alias de vitest.config.ts (next/font/google), que knip ne suit pas |
knip.json | ignoreBinaries + ffprobe | CLI systeme lance par creative/scripts/render.mjs (spawnSync), pas un paquet npm |
knip.json | ignore + src/features/ai/onlook/upstream/preload/script/** | vendored atteint par un seul import type ; knip y reclamerait css-tree, dependance d'execution d'un script jamais bundle ici |
tsconfig.json | 11 entrees paths retirees | elles pointaient vers les shims ou fichiers supprimes (auth-context, env, db-client, db-verification, email, stripe, gleap, posthog-js, @supabase/*, @onlook/ui/hooks) et plus aucun import ne les demande |
package.json / pnpm-lock.yaml | pnpm remove de @radix-ui/react-accordion, @radix-ui/react-avatar, @radix-ui/react-scroll-area, @radix-ui/react-toggle, @radix-ui/react-toggle-group, localforage | leurs seuls importeurs etaient des fichiers vendored morts supprimes ci-dessous. @radix-ui/react-slot et @radix-ui/react-label (vivants dans ui/button et ui/form) ne sont pas touches |
src/features/ai/onlook/upstream/PIN.txt | ligne pruned: | le vendored n'est plus la copie complete du perimetre annonce |
src/features/ai/onlook/README.md | nouveau | comment le vendored est resolu, comment verifier ce qui est atteint, et l'exception knip |
src/components/patterns/ai-elements/chat/context.tsx + index.ts | ContextContentFooter, ContextReasoningUsage, ContextCacheUsage retires, avec les cles patterns.chat.context.reasoning et .cached des six catalogues | aucun ecran BoostEcom ne les a jamais rendus : chat-elements-mounted.test.ts les croyait montes parce qu'un fichier vendored supprime ici (upstream/client/.../chat-input/chat-context.tsx) rendait des composants HOMONYMES d'Onlook. La suppression a fait tomber le faux positif ; la garde dit « monte-le, ou ne l'ajoute pas », et seuls ContextInputUsage / ContextOutputUsage sont montes (assistant-message-extras.tsx) |
src/config/README.md | models.tsx retire de l'inventaire | fichier supprime (readme-inventories-exist.test.ts) |
.claude/skills/boostecom-creative/references/assets.json | regenere (derive-design-md.mjs) | derive : il citait des fichiers vendored supprimes comme sources d'icones |
Fichiers supprimes (238)
Hors vendored (4)
| Fichier | Raison |
|---|---|
src/components/ui/alert/alert.tsx | primitive shadcn Alert importee par aucun fichier (grep ui/alert : seuls des ui/alert-dialog) ; se reinstalle par pnpm ui:add alert si besoin |
src/components/ui/alert/index.ts | barrel de la primitive ci-dessus, aucun importeur |
src/config/models.tsx | MODELS (un seul modele « Shopify (Liquid) ») importe par rien ; vestige packages/core deja releve par ai-platform/0277 et design-system/0609. Le catalogue vivant est src/config/ai-models.ts |
src/features/ai/preview/store-browser/hooks/use-theme-assets.ts | hook useThemeAssets appele par aucun composant ; seuls deux commentaires le nommaient (use-store-themes.ts, shared-fetch.ts), corriges |
Shims Onlook devenus sans importeur (10)
Chacun remplacait un module de l'upstream (tsconfig.json paths) qu'importaient
seulement des fichiers vendored morts, supprimes plus bas. Plus aucun import ne
nomme leur module.
| Fichier | Module remplace |
|---|---|
src/features/ai/onlook/shims/auth-context.tsx | @onlook-editor/app/auth/auth-context |
src/features/ai/onlook/shims/db-client.ts | @onlook/db/src/client |
src/features/ai/onlook/shims/db-verification.ts | @onlook/db/src/schema/domain/custom/verification |
src/features/ai/onlook/shims/email.ts | @onlook/email |
src/features/ai/onlook/shims/env.ts | @onlook-editor/env |
src/features/ai/onlook/shims/gleap.ts | gleap |
src/features/ai/onlook/shims/posthog.ts | posthog-js |
src/features/ai/onlook/shims/stripe.ts | @onlook/stripe |
src/features/ai/onlook/shims/supabase-js.ts | @supabase/supabase-js |
src/features/ai/onlook/shims/supabase-ssr.ts | @supabase/ssr |
tsconfig.json par paquet du vendored (8)
Raison commune : ils etendaient @onlook/typescript/*, jamais vendored, et
aucun outil du depot ne les lisait (le tsconfig.json racine exclut
upstream/, Turbopack resout par les paths racine : code-fs.ts importe
@/features/..., qui n'a de sens qu'a la racine). Ils faisaient lire a knip des
paths vides, source des 32 « dependances non listees » @onlook/*.
src/features/ai/onlook/upstream/packages/constants/tsconfig.jsonsrc/features/ai/onlook/upstream/packages/file-system/tsconfig.jsonsrc/features/ai/onlook/upstream/packages/models/tsconfig.jsonsrc/features/ai/onlook/upstream/packages/parser/tsconfig.jsonsrc/features/ai/onlook/upstream/packages/penpal/tsconfig.jsonsrc/features/ai/onlook/upstream/packages/ui/tsconfig.jsonsrc/features/ai/onlook/upstream/packages/utility/tsconfig.jsonsrc/features/ai/onlook/upstream/preload/tsconfig.json
Vendored Onlook que rien n'importe (216)
Raison commune : absent de tsc --listFilesOnly sur le programme Onlook ET
signale par knip ; aucune reference par chemin hors du vendored (seul
.claude/skills/boostecom-creative/references/assets.json en citait, fichier
derive, regenere par derive-design-md.mjs). Ce sont surtout les ecrans
d'Onlook que le Builder ne monte pas : modales de reglages et de prix, panneaux
chat/branches/pages, auth, abonnement, telemetrie, et les composants
packages/ui qu'aucun ecran monte n'utilise.
src/features/ai/onlook/upstream/client/app/project/[id]/_components/bottom-bar/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/bottom-bar/restart-sandbox-button.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/bottom-bar/terminal-area.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/bottom-bar/terminal.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/branch/branch-controls.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/branch/branch-list.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/canvas/frame/top-bar/branch.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/clone-project-dialog.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/dropdowns/img-background.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/dropdowns/img-fit.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/dropdowns/state-dropdown.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/frame-selected/device-selector.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/frame-selected/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/frame-selected/rotate-group.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/frame-selected/theme-group.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/frame-selected/window-actions-group.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/img-selected.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/editor-bar/text-selected.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/code-panel/code-tab/shared/file-operations.tssrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/branches-tab/branch-management.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/branches-tab/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/color-panel/color-name-input.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/color-panel/color-pallet-group.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/color-panel/color-popover.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/color-panel/color-row.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/color-panel/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/font-panel/font-family.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/font-panel/font-files.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/font-panel/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/font-panel/system-font.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/font-panel/upload-modal.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/brand-tab/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/help-button/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/breadcrumb-navigation.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/folder-list.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/hooks/use-image-drag-drop.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/hooks/use-image-operations.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/hooks/use-navigation.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/image-grid.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/image-item.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/search-upload-bar.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/types.tssrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/image-tab/utils/image-references.tssrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/windows-tab/device-settings.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/windows-tab/frame-dimensions.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/left-panel/design-panel/windows-tab/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/members/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/members/invitation-row.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/members/invite-member-input.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/members/member-row.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/members/members-content.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/members/suggested-teammates.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-input/action-buttons.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-input/chat-context.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-input/chat-mode-toggle.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-input/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-input/queue-items/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-input/queue-items/queue-item.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/assistant-message.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/error-message.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/message-content/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/message-content/tool-call-display.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/message-content/tool-call-simple.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/multi-branch-revert-modal.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/stream-message.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-messages/user-message.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/chat-tab-content/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/code-display/bash-code-display.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/code-display/code-block.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/code-display/code-diff.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/code-display/collapsible-code-block.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/code-display/search-sources-display.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/context-pills/draft-context-pill.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/context-pills/helpers.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/context-pills/image-pill.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/context-pills/input-context-pills.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/context-pills/sent-context-pill.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/controls.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/error.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/history.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/panel-dropdown.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/chat-tab/suggestions.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/right-panel/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/branch.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/mode-toggle.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/new-project-menu.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/project-breadcrumb.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/advanced-settings.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/custom-domain/action.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/custom-domain/domain.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/custom-domain/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/custom-domain/no-domain.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/custom-domain/provider.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/loading.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/preview-domain-section.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/dropdown/url.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/index.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/publish/trigger-button.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_components/top-bar/recent-projects.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/_hooks/use-tab-active.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/layout.tsxsrc/features/ai/onlook/upstream/client/app/project/[id]/page.tsxsrc/features/ai/onlook/upstream/client/app/project/layout.tsxsrc/features/ai/onlook/upstream/client/app/project/page.tsxsrc/features/ai/onlook/upstream/client/components/rb2b-loader.tsxsrc/features/ai/onlook/upstream/client/components/store/create/index.tsxsrc/features/ai/onlook/upstream/client/components/store/create/manager.tssrc/features/ai/onlook/upstream/client/components/store/editor/cache/file-cache.tssrc/features/ai/onlook/upstream/client/components/store/editor/cache/types.tssrc/features/ai/onlook/upstream/client/components/store/editor/cache/unified-cache.tssrc/features/ai/onlook/upstream/client/components/store/editor/frame-events/types.tssrc/features/ai/onlook/upstream/client/components/store/state/index.tssrc/features/ai/onlook/upstream/client/components/store/state/manager.tssrc/features/ai/onlook/upstream/client/components/telemetry-provider.tsxsrc/features/ai/onlook/upstream/client/components/ui/auth-redirect.tsxsrc/features/ai/onlook/upstream/client/components/ui/avatar-dropdown/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/avatar-dropdown/plans.tsxsrc/features/ai/onlook/upstream/client/components/ui/pricing-modal/enterprise-card.tsxsrc/features/ai/onlook/upstream/client/components/ui/pricing-modal/free-card.tsxsrc/features/ai/onlook/upstream/client/components/ui/pricing-modal/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/pricing-modal/legacy-promotion.tsxsrc/features/ai/onlook/upstream/client/components/ui/pricing-modal/pro-card.tsxsrc/features/ai/onlook/upstream/client/components/ui/pricing-modal/use-subscription.tsxsrc/features/ai/onlook/upstream/client/components/ui/pricing-table/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/custom/headers.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/custom/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/custom/no-domain-input.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/custom/record-field.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/custom/use-domain-verification.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/custom/verification.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/custom/verified.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/danger-zone.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/preview.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/domain/upgrade-prompt.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/helpers.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/non-project.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/preferences-tab.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/project/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/site/favicon.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/site/image.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/site/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/site/metadata-form.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/site/page.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/site/use-metadata-form.tssrc/features/ai/onlook/upstream/client/components/ui/settings-modal/subscription-cancel-modal.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/subscription-tab.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/user-delete-section.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/versions/empty-state/version.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/versions/index.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/versions/version-row.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/versions/versions.tsxsrc/features/ai/onlook/upstream/client/components/ui/settings-modal/with-project.tsxsrc/features/ai/onlook/upstream/client/hooks/use-create-blank-project.tssrc/features/ai/onlook/upstream/client/hooks/use-debounce-input.tsxsrc/features/ai/onlook/upstream/client/hooks/use-feature-flags.tsxsrc/features/ai/onlook/upstream/client/hooks/use-get-background.tsxsrc/features/ai/onlook/upstream/client/hooks/use-parallax-cursor.tssrc/features/ai/onlook/upstream/client/i18n/request.tssrc/features/ai/onlook/upstream/client/services/sync-engine/index.tssrc/features/ai/onlook/upstream/client/utils/analytics/server.tssrc/features/ai/onlook/upstream/client/utils/constants/navigation.tssrc/features/ai/onlook/upstream/client/utils/n8n/webhook.tssrc/features/ai/onlook/upstream/client/utils/subscription.tssrc/features/ai/onlook/upstream/client/utils/supabase/admin.tssrc/features/ai/onlook/upstream/client/utils/supabase/client/index.tssrc/features/ai/onlook/upstream/client/utils/supabase/middleware.tssrc/features/ai/onlook/upstream/client/utils/supabase/request-server.tssrc/features/ai/onlook/upstream/client/utils/supabase/server.tssrc/features/ai/onlook/upstream/client/utils/telemetry/index.tssrc/features/ai/onlook/upstream/client/utils/upload/image-compression.tssrc/features/ai/onlook/upstream/client/utils/url/index.tssrc/features/ai/onlook/upstream/packages/models/src/supabase/db.tssrc/features/ai/onlook/upstream/packages/ui/src/components/accordion.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/alert.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/aspect-ratio.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/avatar.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/breadcrumb.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/calendar.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/card.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/chart.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/checkbox.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/command.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/drawer.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/form.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/index.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/input-otp.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/menubar.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/motion-card.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/navigation-menu.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/pagination.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/progress-with-interval.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/radio-group.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/scroll-area.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/sheet.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/shine-border.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/sidebar.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/skeleton.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/slider.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/switch.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/table.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/toggle-group.tsxsrc/features/ai/onlook/upstream/packages/ui/src/components/toggle.tsxsrc/features/ai/onlook/upstream/packages/ui/src/hooks/index.tssrc/features/ai/onlook/upstream/packages/ui/src/hooks/use-enter-submit.tssrc/features/ai/onlook/upstream/packages/ui/src/hooks/use-media-query.tssrc/features/ai/onlook/upstream/packages/ui/src/hooks/use-mobile.tssrc/features/ai/onlook/upstream/packages/ui/src/hooks/use-reduced-motion.tssrc/features/ai/onlook/upstream/packages/ui/src/hooks/use-resize-observer.tssrc/features/ai/onlook/upstream/packages/ui/src/index.tssrc/features/ai/onlook/upstream/packages/ui/tailwind.config.tssrc/features/ai/onlook/upstream/preload/server/index.ts