React & React Native Components & Patterns (copy-paste components & patterns crafted with Tailwind CSS (NativeWind))
This report summarizes scanner evidence for gluestack/gluestack-ui, a TypeScript project with 5,340 GitHub stars. SynthScan examined 302,062 lines of code across 2341 source files, recording 576 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 2.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 503 finding(s).
Are imports declared and package/API names verified? 9 finding(s).
Are wrappers, guards, and repeated structures necessary? 164 finding(s).
Which changes need focused human review? 576 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 576 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CONTRIBUTING.md | 271 | #### Step 1: Link Packages for Development | COMMENT |
| LOW | CONTRIBUTING.md | 284 | #### Step 2: Link Packages to Apps | COMMENT |
| LOW | CONTRIBUTING.md | 297 | #### Step 3: Start Development | COMMENT |
| LOW | CONTRIBUTING.md | 515 | #### Step 1: Link Packages for Development | COMMENT |
| LOW | CONTRIBUTING.md | 527 | #### Step 2: Link Packages to Apps | COMMENT |
| LOW | CONTRIBUTING.md | 538 | #### Step 3: Verify Setup | COMMENT |
| LOW⚡ | CONTRIBUTING.md | 574 | #### Step 1: Create Your Component | COMMENT |
| LOW⚡ | CONTRIBUTING.md | 583 | #### Step 2: Develop Your Component | COMMENT |
| LOW⚡ | CONTRIBUTING.md | 592 | #### Step 3: Test Your Component | COMMENT |
| LOW⚡ | CONTRIBUTING.md | 602 | #### Step 4: Clean Up After Development | COMMENT |
| LOW | CONTRIBUTING.md | 648 | ### Step 1: Create the Core Component | COMMENT |
| LOW | CONTRIBUTING.md | 689 | ### Step 2: Component Guidelines | COMMENT |
| LOW | CONTRIBUTING.md | 706 | ### Step 3: Add Component Dependencies | COMMENT |
| LOW | CONTRIBUTING.md | 740 | #### Step 1: Identify Required Changes | COMMENT |
| LOW | CONTRIBUTING.md | 754 | #### Step 2: Update Dependencies Configuration | COMMENT |
| LOW | CONTRIBUTING.md | 787 | #### Step 3: Update Template Files | COMMENT |
| LOW | CONTRIBUTING.md | 812 | #### Step 4: Update Initialization Logic | COMMENT |
| LOW | CONTRIBUTING.md | 827 | #### Step 5: Test Template Updates | COMMENT |
| LOW | CONTRIBUTING.md | 860 | #### Step 6: Update Documentation | COMMENT |
| LOW⚡ | ONBOARDING.md | 130 | // Step 1: Wrap primitive with style context | COMMENT |
| LOW⚡ | ONBOARDING.md | 133 | // Step 2: Create unstyled compound component | COMMENT |
| LOW⚡ | ONBOARDING.md | 142 | // Step 3: Define variants with tva() | COMMENT |
| LOW | ONBOARDING.md | 159 | // Step 4: Forward variant props, passing context for children | COMMENT |
| LOW | ONBOARDING.md | 205 | ### Step 1: Create the creator in `packages/gluestack-core/` | COMMENT |
| LOW | ONBOARDING.md | 220 | ### Step 2: Register the creator | COMMENT |
| LOW | ONBOARDING.md | 236 | ### Step 3: Create the styled component in `src/components/ui/` | COMMENT |
| LOW⚡ | ONBOARDING.md | 253 | ### Step 4: Add to navigation | COMMENT |
| LOW⚡ | ONBOARDING.md | 261 | ### Step 5: Sync and test | COMMENT |
| LOW⚡ | ONBOARDING.md | 269 | ### Step 6: If a new npm dependency is needed | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/variants/SKILL.md | 27 | ### Step 1: Analyze the Component | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/variants/SKILL.md | 37 | ### Step 2: Plan Variant Structure | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/variants/SKILL.md | 50 | ### Step 3: Implement with tva | COMMENT |
| LOW | …ts/skills/gluestack-ui-v4/creating-components/SKILL.md | 12 | ### Step 1: Plan Component Structure | COMMENT |
| LOW | …ts/skills/gluestack-ui-v4/creating-components/SKILL.md | 38 | ### Step 2: Check Official Documentation | COMMENT |
| LOW | …ts/skills/gluestack-ui-v4/creating-components/SKILL.md | 53 | ### Step 3: Create Component File | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/setup/SKILL.md | 21 | ### Step 1: Setup your project | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/setup/SKILL.md | 37 | ### Step 2: Initialize (CLI only) | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/validation/SKILL.md | 483 | ### Step 1: Push Back Early | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/validation/SKILL.md | 494 | ### Step 2: Propose Alternatives | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/validation/SKILL.md | 510 | ### Step 3: Add to Design System | COMMENT |
| LOW | .agents/skills/gluestack-ui-v4/validation/SKILL.md | 526 | ### Step 4: Document Exception | COMMENT |
| LOW | .claude/skills/migrate-to-v5/SKILL.md | 19 | ## Step 0: Detect Your Current Version | COMMENT |
| LOW⚡ | .claude/skills/create-docs/SKILL.md | 157 | ### Step 1: Install dependencies | COMMENT |
| LOW⚡ | .claude/skills/create-docs/SKILL.md | 163 | ### Step 2: Copy and paste the following code into your project | COMMENT |
| LOW⚡ | .claude/skills/create-docs/SKILL.md | 167 | ### Step 3: Update imports | COMMENT |
| LOW⚡ | .claude/skills/create-component/SKILL.md | 1216 | ### Step 1: Install the following dependencies: | COMMENT |
| LOW⚡ | .claude/skills/create-component/SKILL.md | 1222 | ### Step 2: Copy and paste the following code into your project. | COMMENT |
| LOW⚡ | .claude/skills/create-component/SKILL.md | 1228 | ### Step 3: Update the import paths to match your project setup. | COMMENT |
| LOW⚡ | scripts/create.ts | 399 | ### Step 1: Copy and paste the following code into your project. | COMMENT |
| LOW⚡ | scripts/create.ts | 405 | ### Step 2: Update the import paths to match your project setup. | COMMENT |
| LOW | scripts/mappers/kitchen-sink/templateGenerator.ts | 52 | // Step 1: Convert escaped handlebars to literal braces | COMMENT |
| LOW | scripts/mappers/kitchen-sink/templateGenerator.ts | 63 | // Step 2: Replace handlebars variables {{variableName}} with default values | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 726 | // Step 1: Detect and remove old v3 packages (excluding ones being replaced by v4) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 734 | // Step 2: Install v4 packages | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 737 | // Step 3: Update babel config for worklets (Expo/RN CLI only) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 742 | // Step 4: Clean and reinstall all dependencies | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 745 | // Step 5: Update Next.js specific files if applicable | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 751 | // Step 6: No import updates needed (v3 and v4 use same format) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 754 | // Step 7: Remind about native rebuild. For Expo Go (managed workflow) the | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1274 | // Step 1: Remove old nativewind v4 | COMMENT |
| 248 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/search/indexer.ts | 26 | // ─── Frontmatter ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/search/indexer.ts | 45 | // ─── Text extraction ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/search/indexer.ts | 117 | // ─── Section labels ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/search/indexer.ts | 148 | // ─── File walker ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/search/indexer.ts | 162 | // ─── URL path derivation ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/search/indexer.ts | 180 | // ─── Slug ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/search/indexer.ts | 186 | // ─── Main ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 5 | // ─── Provider file routing ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 30 | // ─── AST-based cssInterop → withUniwind transform ────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 46 | // ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 85 | // ── Collection ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 207 | // ── Analysis ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 220 | // ── Replacement generation ─────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 248 | // ── 1. Replace/remove the nativewind import ────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 307 | // ── Helper: add import rename for a target ───────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 364 | // ── 2. Compound components (root + sub-component members) ────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 604 | // ── 5. Emit hoisted declarations right after the import block ──────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 614 | // ── Apply replacements (reverse order preserves positions) ────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 640 | // ─── AST-based styled → withUniwind transform ────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 653 | // ────────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 702 | // ── 1. Handle nativewind import ───────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 769 | // ── Apply replacements (reverse order preserves positions) ────────────── | COMMENT |
| MEDIUM | packages/gluestack-ui/src/commands/upgrade.ts | 1086 | // ─── NativeWind v5 global.css template ──────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/ui/chat-ai/model-selector.tsx | 34 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/ui/chat-ai/model-selector.tsx | 36 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/ui/chat-ai/model-selector.tsx | 75 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/ui/chat-ai/model-selector.tsx | 77 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/ui/chat-ai/model-selector.tsx | 115 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/ui/chat-ai/model-selector.tsx | 117 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/search/SearchModal.tsx | 9 | // ─── Text highlighter ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/search/SearchModal.tsx | 32 | // ─── Excerpt extractor ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/search/SearchModal.tsx | 48 | // ─── Result item ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/search/SearchModal.tsx | 124 | // ─── Modal content ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/components/search/SearchModal.tsx | 276 | // ─── Public component ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/public/llms-full.txt | 8212 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/public/llms-full.txt | 8214 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/public/llms-full.txt | 8253 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/public/llms-full.txt | 8255 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/public/llms-full.txt | 8293 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | apps/website/public/llms-full.txt | 8295 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rter-kit-expo/components/ui/chat-ai/model-selector.tsx | 34 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rter-kit-expo/components/ui/chat-ai/model-selector.tsx | 36 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rter-kit-expo/components/ui/chat-ai/model-selector.tsx | 75 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rter-kit-expo/components/ui/chat-ai/model-selector.tsx | 77 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rter-kit-expo/components/ui/chat-ai/model-selector.tsx | 115 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rter-kit-expo/components/ui/chat-ai/model-selector.tsx | 117 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kitchen-sink/components/ui/chat-ai/model-selector.tsx | 34 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kitchen-sink/components/ui/chat-ai/model-selector.tsx | 36 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kitchen-sink/components/ui/chat-ai/model-selector.tsx | 75 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kitchen-sink/components/ui/chat-ai/model-selector.tsx | 77 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kitchen-sink/components/ui/chat-ai/model-selector.tsx | 115 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kitchen-sink/components/ui/chat-ai/model-selector.tsx | 117 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-expo-uniwind/components/ui/chat-ai/model-selector.tsx | 34 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-expo-uniwind/components/ui/chat-ai/model-selector.tsx | 36 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-expo-uniwind/components/ui/chat-ai/model-selector.tsx | 75 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-expo-uniwind/components/ui/chat-ai/model-selector.tsx | 77 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-expo-uniwind/components/ui/chat-ai/model-selector.tsx | 115 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-expo-uniwind/components/ui/chat-ai/model-selector.tsx | 117 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/components/ui/chat-ai/model-selector.tsx | 34 | // ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/components/ui/chat-ai/model-selector.tsx | 36 | // ───────────────────────────────────────────────────────────── | COMMENT |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/mappers/kitchen-sink/componentsOperations.ts | 47 | function extractComponentsFromSidebar( | CODE |
| LOW | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 72 | export function transformCssInteropToUniwind( | CODE |
| LOW | packages/gluestack-ui/src/dependencies.ts | 165 | async function getProjectBasedDependencies( | CODE |
| LOW | packages/gluestack-ui/src/util/index.ts | 87 | async function checkComponentDependencies( | CODE |
| LOW | packages/gluestack-ui/src/util/init/modify-layout.ts | 414 | export async function modifyLayoutFilesAutomatically( | CODE |
| LOW | packages/gluestack-ui/src/util/init/index.ts | 1262 | async function generateProjectConfigAndInit( | CODE |
| LOW | packages/gluestack-ui/src/util/init/index.ts | 1342 | function getStringLengthWithoutAnsi(string: string) { | CODE |
| LOW | packages/gluestack-ui/src/util/config/index.ts | 62 | function getEntryPathAndComponentsPath(): { | CODE |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 982 | async function updateMetroConfigForUniwind(): Promise<void> { | CODE |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1027 | async function replaceGlobalCssForUniwind(): Promise<void> { | CODE |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1404 | async function removeTailwindConfigBabelAlias(): Promise<void> { | CODE |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1514 | async function createReactNativeCssEnvDts(): Promise<void> { | CODE |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1573 | async function promptStylingEngineChoice(): Promise<'nativewind-v5' | 'uniwind' | 'stay'> { | CODE |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1606 | async function removeNativewindBabelEntries(): Promise<void> { | CODE |
| LOW | …src/actionsheet/creator/ActionsheetVirtualizedList.tsx | 7 | function ActionsheetVirtualizedList(props, ref) { | CODE |
| LOW | …/gluestack-core/src/overlay/aria/useOverlayPosition.ts | 298 | function calculatePositionInternal( | CODE |
| LOW | …src/overlay/aria/web/overlays/src/calculatePosition.ts | 334 | export function calculatePositionInternal( | CODE |
| LOW | …norepo/packages/ui/components/ui/actionsheet/index.tsx | 338 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| LOW | …norepo/packages/ui/components/ui/actionsheet/index.tsx | 396 | >(function ActionsheetVirtualizedList({ className, ...props }, ref) { | CODE |
| LOW | …norepo/packages/ui/components/ui/actionsheet/index.tsx | 441 | >(function ActionsheetSectionHeaderText( | CODE |
| LOW | …/packages/ui/components/ui/accordion/USAGE_EXAMPLE.tsx | 125 | export function MultipleAccordionsExample() { | CODE |
| LOW | …ackages/ui/components/ui/select/select-actionsheet.tsx | 384 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| LOW | …ackages/ui/components/ui/select/select-actionsheet.tsx | 438 | >(function ActionsheetVirtualizedList({ className, ...props }, ref) { | CODE |
| LOW | …ackages/ui/components/ui/select/select-actionsheet.tsx | 483 | >(function ActionsheetSectionHeaderText( | CODE |
| LOW | …-kit-monorepo/packages/ui/components/ui/grid/index.tsx | 49 | function generateResponsiveNumColumns({ gridClass }: { gridClass: string }) { | CODE |
| LOW | …-kit-monorepo/packages/ui/components/ui/grid/index.tsx | 67 | function generateResponsiveColSpans({ | CODE |
| LOW | apps/website/components/ui/actionsheet/index.tsx | 338 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| LOW | apps/website/components/ui/actionsheet/index.tsx | 396 | >(function ActionsheetVirtualizedList({ className, ...props }, ref) { | CODE |
| LOW | apps/website/components/ui/actionsheet/index.tsx | 441 | >(function ActionsheetSectionHeaderText( | CODE |
| LOW | apps/website/components/ui/accordion/USAGE_EXAMPLE.tsx | 125 | export function MultipleAccordionsExample() { | CODE |
| LOW | …ps/website/components/ui/select/select-actionsheet.tsx | 384 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| LOW | …ps/website/components/ui/select/select-actionsheet.tsx | 438 | >(function ActionsheetVirtualizedList({ className, ...props }, ref) { | CODE |
| LOW | …ps/website/components/ui/select/select-actionsheet.tsx | 483 | >(function ActionsheetSectionHeaderText( | CODE |
| LOW | apps/website/components/ui/date-time-picker/index.tsx | 56 | >(function DateTimePickerTriggerWrapper({ ...props }, ref) { | CODE |
| LOW | apps/website/components/ui/date-time-picker/index.tsx | 196 | function DateTimePickerNativeWrapper({ | CODE |
| LOW | apps/website/components/ui/grid/index.tsx | 49 | function generateResponsiveNumColumns({ gridClass }: { gridClass: string }) { | CODE |
| LOW | apps/website/components/ui/grid/index.tsx | 67 | function generateResponsiveColSpans({ | CODE |
| LOW | apps/website/components/web/chart.tsx | 324 | function getPayloadConfigFromPayload( | CODE |
| LOW | apps/website/components/custom/utils/helperFunction.ts | 1 | export function convertSidebarItemsToPathsArray(sidebarItems: any): any { | CODE |
| LOW | …ng-page/PowerOfTailwind/PowerOfTailwindInteractive.tsx | 173 | export default function PowerOfTailwindInteractive() { | CODE |
| LOW | apps/website/public/llms-full.txt | 1476 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| LOW | apps/website/public/llms-full.txt | 1534 | >(function ActionsheetVirtualizedList({ className, ...props }, ref) { | CODE |
| LOW | apps/website/public/llms-full.txt | 1579 | >(function ActionsheetSectionHeaderText( | CODE |
| LOW | apps/website/public/llms-full.txt | 9819 | >(function DateTimePickerTriggerWrapper({ ...props }, ref) { | CODE |
| LOW | apps/website/public/llms-full.txt | 9948 | function DateTimePickerNativeWrapper({ | CODE |
| LOW | apps/website/public/llms-full.txt | 13403 | function generateResponsiveNumColumns({ gridClass }: { gridClass: string }) { | CODE |
| LOW | apps/website/public/llms-full.txt | 13422 | function generateResponsiveColSpans({ | CODE |
| LOW | apps/website/scripts/generate-llms-files.js | 23 | function stripAdvancedComponentLLMGenerator(raw) { | CODE |
| LOW | …s/starter-kit-expo/components/ui/actionsheet/index.tsx | 297 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| LOW | …s/starter-kit-expo/components/ui/actionsheet/index.tsx | 355 | >(function ActionsheetVirtualizedList({ className, ...props }, ref) { | CODE |
| LOW | …s/starter-kit-expo/components/ui/actionsheet/index.tsx | 400 | >(function ActionsheetSectionHeaderText( | CODE |
| LOW | …ter-kit-expo/components/ui/accordion/USAGE_EXAMPLE.tsx | 125 | export function MultipleAccordionsExample() { | CODE |
| LOW | …r-kit-expo/components/ui/select/select-actionsheet.tsx | 373 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| LOW | …r-kit-expo/components/ui/select/select-actionsheet.tsx | 427 | >(function ActionsheetVirtualizedList({ className, ...props }, ref) { | CODE |
| LOW | …r-kit-expo/components/ui/select/select-actionsheet.tsx | 472 | >(function ActionsheetSectionHeaderText( | CODE |
| LOW | …rter-kit-expo/components/ui/date-time-picker/index.tsx | 55 | >(function DateTimePickerTriggerWrapper({ ...props }, ref) { | CODE |
| LOW | …rter-kit-expo/components/ui/date-time-picker/index.tsx | 186 | function DateTimePickerNativeWrapper({ | CODE |
| LOW | apps/starter-kit-expo/components/ui/grid/index.tsx | 29 | function generateResponsiveNumColumns({ gridClass }: { gridClass: string }) { | CODE |
| LOW | apps/starter-kit-expo/components/ui/grid/index.tsx | 48 | function generateResponsiveColSpans({ | CODE |
| LOW | apps/kitchen-sink/components/ui/actionsheet/index.tsx | 297 | >(function ActionsheetDragIndicatorWrapper({ className, ...props }, ref) { | CODE |
| 40 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/create.ts | 399 | ### Step 1: Copy and paste the following code into your project. | COMMENT |
| LOW⚡ | scripts/create.ts | 405 | ### Step 2: Update the import paths to match your project setup. | COMMENT |
| LOW | scripts/mappers/utils/fileOperations.ts | 63 | // For directories, we need to check if they contain any files recursively | COMMENT |
| LOW | scripts/mappers/kitchen-sink/templateGenerator.ts | 52 | // Step 1: Convert escaped handlebars to literal braces | COMMENT |
| LOW | scripts/mappers/kitchen-sink/templateGenerator.ts | 63 | // Step 2: Replace handlebars variables {{variableName}} with default values | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 726 | // Step 1: Detect and remove old v3 packages (excluding ones being replaced by v4) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 734 | // Step 2: Install v4 packages | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 737 | // Step 3: Update babel config for worklets (Expo/RN CLI only) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 742 | // Step 4: Clean and reinstall all dependencies | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 745 | // Step 5: Update Next.js specific files if applicable | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 751 | // Step 6: No import updates needed (v3 and v4 use same format) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 754 | // Step 7: Remind about native rebuild. For Expo Go (managed workflow) the | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1274 | // Step 1: Remove old nativewind v4 | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1284 | // Step 2: Install nativewind v5 + react-native-css | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1531 | // Step 1: Pin lightningcss BEFORE installing packages (avoids version conflicts) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1534 | // Step 2: Install / upgrade packages | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1537 | // Step 3: Replace global.css with NativeWind v5 format | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1540 | // Step 4: Create postcss.config.js | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1543 | // Step 5: Update metro.config.js for NativeWind v5 | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1546 | // Step 6: Prompt user about tailwind.config.js migration (never auto-delete) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1549 | // Step 7: Create react-native-css-env.d.ts | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1669 | // Step 1: Migrate packages (remove nativewind, install uniwind) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1672 | // Step 2: Update metro.config.js | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1675 | // Step 3: Replace global.css with UniWind CSS (Tailwind v4 + :where() selectors) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1678 | // Step 4: Remove tailwind.config.js (Tailwind v4 is CSS-first, no JS config needed) | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1681 | // Step 5: Migrate type definitions | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1684 | // Step 6: Remove nativewind/babel preset/plugin, then ensure worklets plugin is present | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1688 | // Step 7: Inform about GluestackUIProvider changes | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1747 | // Step 3: Detect package manager | COMMENT |
| LOW⚡ | packages/gluestack-ui/src/commands/upgrade.ts | 1751 | // Step 4: Route to appropriate upgrade path | COMMENT |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1298 | // Step 3: Upgrade tailwindcss to v4 + add @tailwindcss/postcss + postcss | COMMENT |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1715 | // Step 1: Detect current version | COMMENT |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 1736 | // Step 2: Git safety check | COMMENT |
| LOW | packages/create-gluestack/src/index.tsx | 68 | // Step 1: Framework selection (if not provided via args) | COMMENT |
| LOW | packages/create-gluestack/src/index.tsx | 87 | // Step 2: Styling engine selection (conditional) | COMMENT |
| LOW | apps/website/__tests__/website.test.js | 82 | // Step 3: Start the server on port 4000 | COMMENT |
| LOW | apps/website/__tests__/website.test.js | 93 | // Step 4: Check if localhost:4000 returns status 200 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tsconfig.json | 1 | { | COMMENT |
| LOW | tsconfig.json | 21 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when t | COMMENT |
| LOW | tsconfig.json | 41 | // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package | COMMENT |
| LOW | tsconfig.json | 61 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript | COMMENT |
| LOW | tsconfig.json | 81 | // "erasableSyntaxOnly": true, /* Do not allow runtime constructs that are not part of ECMAScr | COMMENT |
| LOW | tsconfig.json | 101 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly | COMMENT |
| LOW | .agents/skills/monorepo-management/SKILL.md | 61 | npx create-turbo@latest my-monorepo | COMMENT |
| LOW | …ts/skills/gluestack-ui-v4/creating-components/SKILL.md | 241 | export const CardFooter = ({ className, children }: CardFooterProps) => { | COMMENT |
| LOW | .claude/skills/README.md | 201 | # Start the workflow | COMMENT |
| LOW | scripts/dev.ts | 181 | COMMENT | |
| LOW | scripts/mappers/website/index.ts | 21 | }, | COMMENT |
| LOW | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 21 | if (fileName === 'index.uniwind.tsx') | COMMENT |
| LOW | scripts/mappers/starter-kit-expo-uniwind/transforms.ts | 641 | // | COMMENT |
| LOW | …ges/gluestack-ui/src/util/config/expo-config-helper.ts | 101 | const entryPath = await getFilePath(['**/*_layout.*', '**/*App.*']); | COMMENT |
| LOW | packages/gluestack-ui/src/commands/upgrade.ts | 121 | COMMENT | |
| LOW | …src/overlay/aria/web/overlays/src/calculatePosition.ts | 241 | // overlaySize[crossSize]; | COMMENT |
| LOW | …rc/overlay/aria/web/overlays/src/useOverlayPosition.ts | 201 | isOpen, | COMMENT |
| LOW | apps/starter-kit-monorepo/apps/next/next-env.d.ts | 1 | /// <reference types="next" /> | COMMENT |
| LOW | …/website/app/ui/docs/apps/dashboard-app/Responsive.tsx | 241 | </Text> | COMMENT |
| LOW | …/components/ui/gluestack-ui-provider/config.uniwind.ts | 1 | // UniWind theming is CSS-variable based, defined in global.css via @variant directives. | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 1 | 'use client'; | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 61 | React.useEffect(() => { | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 101 | {formatStarsCount(starsCount)} | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 121 | // // initial={{ | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 141 | // // }} | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 161 | // // y: 0, | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 181 | // // <Box className="w-[10px] justify-center overflow-hidden min-h-[15px] items-center relative"> | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 201 | // // style={{ | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 221 | // // initial={{ | COMMENT |
| LOW | …-components/landing-page/AnimatedGithubCount/index.tsx | 241 | // // }} | COMMENT |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 1121 | <OpenInNewIcon className="h-[18px] w-[18px]" /> | COMMENT |
| LOW | apps/website/public/llms-full.txt | 30321 | COMMENT | |
| LOW | apps/starter-kit-expo/react-native-css-env.d.ts | 1 | /// <reference types="react-native-css/types" /> | COMMENT |
| LOW | apps/starter-kit-expo/components/useColorScheme.web.ts | 1 | // NOTE: The default React Native styling doesn't support server rendering. | COMMENT |
| LOW | …/components/ui/gluestack-ui-provider/config.uniwind.ts | 1 | // UniWind theming is CSS-variable based, defined in global.css via @variant directives. | COMMENT |
| LOW | src/docs/apps/dashboard-app/Responsive.tsx | 241 | </Text> | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/preview-publish.yml | 99 | # Check if PR is from a fork | COMMENT |
| LOW⚡ | .github/workflows/preview-publish.yml | 200 | # Check if any files in this package have changed | COMMENT |
| LOW⚡ | .github/workflows/preview-publish.yml | 203 | # Check if package.json itself changed | COMMENT |
| LOW⚡ | .github/workflows/preview-publish.yml | 209 | # Check if any source files in this package changed | COMMENT |
| LOW | .github/workflows/preview-publish.yml | 361 | # Check if this package is in the changed packages list | COMMENT |
| LOW | .github/workflows/preview-publish.yml | 406 | # Check if this package is in the changed packages list | COMMENT |
| LOW | .github/workflows/preview-publish.yml | 519 | # Check if this package has internal dependencies that need to be available | COMMENT |
| LOW | .github/workflows/preview-publish.yml | 533 | # Check if any of these deps are using preview versions | COMMENT |
| LOW | .github/workflows/preview-publish.yml | 644 | # Check if this package is in the changed packages list and is a utils package | COMMENT |
| LOW | .github/workflows/preview-publish.yml | 659 | # Check if this package is in the changed packages list and is a core package | COMMENT |
| LOW | .github/workflows/preview-publish.yml | 674 | # Check if this package is in the changed packages list and is not utils or core | COMMENT |
| LOW | .github/workflows/publish-production.yml | 119 | # Check if there are changesets to consume | COMMENT |
| LOW | .github/workflows/publish-production.yml | 124 | # Check if any package.json was modified | COMMENT |
| LOW | .github/workflows/publish-production.yml | 293 | # Check if version already exists on npm | COMMENT |
| LOW | .github/workflows/publish-production.yml | 429 | # Check if this package.json uses any of our published packages | COMMENT |
| LOW | .github/workflows/cleanup-preview.yml | 108 | # Check if package is private | COMMENT |
| LOW | .github/workflows/cleanup-preview.yml | 125 | # Check if package exists on npm registry | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …omponents/page-components/landing-page/Fold1/index.tsx | 262 | name: 'John Doe', | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 666 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 666 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 949 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 949 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 1182 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 1182 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 1603 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| LOW | …nts/page-components/landing-page/MainContent/index.tsx | 1603 | Lorem ipsum dolor sit amet consectetur. Pretium mauris maecenas | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ONBOARDING.md | 297 | yarn create:component # Interactive component scaffolding | CODE |
| MEDIUM | CLAUDE.md | 37 | # Create a new component (scaffolding script) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | apps/website/public/search-index.json | 276 | "content": "Input\n\nA feature-rich React Native Input component – supports icons, validation, and styling options f | CODE |
| MEDIUM | apps/website/public/search-index.json | 294 | "content": "LiquidGlass\n\nA glass effect component for React Native built on top of expo-glass-effect with gluestac | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/preview-publish.yml | 460 | # Create a temporary file to track published packages | COMMENT |