Registry
Schema
Review how Vue registry items declare types, dependencies, and files.
Tile UI Vue mirrors the same registry item shape as the React side while shipping Vue TSX components and composables.
Item types
registry:ui— Vue component sourcesregistry:hook— composablesregistry:lib— shared runtime helpers such as@tile-ui/coreregistry:file— standalone files such as SCSS partials
Item shape
Each item in registry.json declares a name, type, and the files that make it up:
{
"name": "button",
"type": "registry:ui",
"title": "Button",
"dependencies": ["vue"],
"registryDependencies": ["@tile-ui/core", "@tile-ui/utils"],
"files": [
{
"path": "packages/vue/src/components/button/button.tsx",
"type": "registry:ui",
"target": "components/ui/button/button.tsx",
"content": "..."
}
]
}Dependency fields
dependencies— npm packages the item needs at runtime, such asvue.devDependencies— build-time packages such assass.registryDependencies— other Tile UI items, resolved through the registered namespace.
Target paths
Files that need stable destination paths, such as SCSS partials, declare a target so the consumer project receives a predictable structure. Shared helpers are rewritten to relative paths like ../lib/core so no @tile-ui/core or @tile-ui/styles imports remain in the output.