Vueless file structure

All Vueless components follow a consistent file structure. We recommend adopting this structure when creating your own local components to ensure maintainability and consistency.

U[component]/
β”œβ”€ storybook/
β”‚  β”œβ”€ docs.mdx
β”‚  └─ stories.ts
β”œβ”€ tests/
β”‚  β”œβ”€ U[component].test.ts 
β”‚  β”œβ”€ util[service].test.ts 
β”‚  β”œβ”€ use[composable].test.ts
β”‚  └─ ... # rest tests
β”œβ”€ config.ts
β”œβ”€ constants.ts
β”œβ”€ types.ts
β”œβ”€ U[component].vue
β”‚  # optional
β”œβ”€ U[component][child].vue
β”œβ”€ ... # rest child components
β”œβ”€ use[composable].ts
β”œβ”€ ... # rest composable
β”œβ”€ util[service].ts
└─ ... # rest utils

πŸ“ U[component]/

Each component should be contained within a single folder, maintaining a flat file structure. All component names must be prefixed with U to ensure proper recognition by Vueless.

πŸ“ storybook/

Folder for Storybook-related files:

  • πŸ“œ docs.mdx – component docs page.

  • πŸ“œ stories.ts – component stories.

πŸ“ tests/

Folder for test-related files:

  • πŸ“œ U[component].test.ts – component tests.

  • πŸ“œ util[service].test.ts – component utility service tests. (optional)

  • πŸ“œ use[composable].test.ts – component composable tests. (optional)

We recommend using vitest with @vue/test-utils for testing

πŸ“œ config.ts

Contains all styles, default prop values, internationalization (i18n), and other component-specific settings.

πŸ“œ constants.ts

Contains component constants.

πŸ“œ types.ts

Contains component types and props declaration.

πŸ“œ U[component].vue

Parent Vue component.

πŸ“œ U[component][child].vue (optional)

A child Vue component used within the parent component. The parent component may have multiple child components, all prefixed with the parent component’s name.

Example: UButtonIcon.vue (child of UButton.vue).

πŸ“œ use[composable].ts (optional)

Composables specific to the component. A component may have multiple composables, all prefixed with use keyword, following Vue conventions.

πŸ“œ util[service].ts (optional)

Utils, services and helpers specific to the component. A component may have multiple composables, all prefixed with util keyword.

Last updated