Conversation
|
@maxffarrell is attempting to deploy a commit to the Vercel Labs Team on Vercel. A member of the Team first needs to authorize it. |
…n-render/shadcn-svelte
- Add /index.js extensions to all ../ui/* imports (NodeNext moduleResolution)
- Type shadcnComponents as Record<string, Component<any>> to fix d.ts generation
- Call getBoundProp() once at top level instead of inside a binding() function
called from event handlers (getContext() only works during initialization)
- Move getOptionalValidationContext() call to top level; update createValidation()
to accept the context as first param instead of calling getContext() itself
- Wrap validation.register() in untrack() to break the fieldConfigs read-write
cycle that caused effect_update_depth_exceeded in tests
- Fix implicit any on Input onkeydown handler (KeyboardEvent type)
- Use untrack() for $state() initializers that read reactive props values
- Call getStateValue() once at top level in Dialog/Drawer (not in a function
called from event handlers)
- Fix test fixtures: use named imports { StateProvider, ValidationProvider }
- Add server.deps.inline for bits-ui and @lucide/svelte so vitest can process
their .svelte source files; add root svelte.config.js with runes: true
- Add role/aria-modal/tabindex/onkeydown a11y attributes to Dialog and Drawer
- Fix self-closing non-void elements in Skeleton, Spinner, Textarea
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Any Update ?? @ctate |
ctate
left a comment
There was a problem hiding this comment.
Thanks so much for this contribution, @maxffarrell — implementing all 36 components with proper Svelte 5 runes, state bindings, and validation support is a huge effort and the quality is genuinely impressive! Before we can merge, there are a few things to address:
Must Fix
1. .changeset/config.json — Invalid JSON
Line 26 is missing a comma after "@json-render/shadcn-svelte" before "@json-render/ink". This breaks pnpm changeset commands.
2. Slider.svelte — Type errors (pnpm type-check fails)
The bits-ui Slider component expects different types for single-thumb mode. The component passes value={[value]} (array) and defines handleChange(next: number[]), but the types don't align. This causes svelte-check to fail.
3. Root-level svelte.config.js — New file at monorepo root
This file didn't exist on the base branch. Adding a root-level Svelte config could affect other Svelte packages/apps in the monorepo (e.g., examples/svelte-chat, packages/svelte). The packages/shadcn-svelte/svelte.config.js already has its own config. Please either remove the root config or explain why it's needed.
4. package.json — packageManager version bump
The packageManager field changed from pnpm@10.29.3 to pnpm@10.32.1. This is unrelated to the shadcn-svelte feature and should be reverted to keep the diff focused.
Should Fix
5. Pagination.svelte — Doesn't use shadcn Button component
Uses raw <button> elements with inline Tailwind classes instead of the shadcn Button UI component, which is inconsistent with the rest of the library.
6. app.css — Global styles in a library package
The CSS includes @import "@fontsource-variable/inter" and global body/html style overrides. For a library package, shipping global styles that override consumer pages is problematic. Consider stripping the global rules and letting consumers opt in.
CI Results
| Check | Result |
|---|---|
| Lint | ✅ PASS |
| Type Check | ❌ FAIL (2 errors in Slider.svelte) |
| Tests | ✅ PASS (892 tests including 6 new) |
| Build | ✅ PASS |
Once these are resolved, this should be good to go!
- Fix missing comma in .changeset/config.json (invalid JSON) - Fix Slider.svelte type errors (single-mode expects number, not array) - Replace raw <button> with shadcn Button in Pagination.svelte - Remove global font import and body/html overrides from app.css - Remove root svelte.config.js (duplicates package-level config) - Revert unrelated packageManager version bump Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
hey @ctate |
reforked, closed #174