Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gaetansenn/vue-api
A flexible and provider-agnostic API handling library for Vue 3 and Nuxt 3. Supports multiple data providers like axios, ofetch and more. It includes a robust model mapping feature.
https://github.com/gaetansenn/vue-api
api composable nuxt ofetch vue
Last synced: 20 days ago
JSON representation
A flexible and provider-agnostic API handling library for Vue 3 and Nuxt 3. Supports multiple data providers like axios, ofetch and more. It includes a robust model mapping feature.
- Host: GitHub
- URL: https://github.com/gaetansenn/vue-api
- Owner: gaetansenn
- Created: 2023-07-25T14:44:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-16T13:56:48.000Z (about 1 month ago)
- Last Synced: 2024-10-18T15:35:58.353Z (29 days ago)
- Topics: api, composable, nuxt, ofetch, vue
- Language: TypeScript
- Homepage: https://vue-api.dewib.com
- Size: 2.58 MB
- Stars: 14
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Vue API
This is the official Vue API repository.
## What is Vue API
Vue API is a powerful and flexible library designed to streamline API management in Vue 3 and Nuxt 3 applications. It provides an organized approach to handling API calls, making your codebase more maintainable and efficient.
The core is built on top of the Vue.js framework and is compatible with both Vue 3 and Nuxt 3.
* 📄 [Documentation](https://vue-api.dewib.com)
## Key Features
- **Organized API Management**: Structure your API calls within directories for clear organization and reuse across your application.
- **Automatic Composable Generation**: Generate composables based on your directory structure, with intuitive naming for easy usage across your project.
- **Advanced Data Mapping**: Transform and optimize API responses to fit your front-end needs using powerful mapping functions.
- **Framework Agnostic**: Core functionality works with Vue 3, with additional modules for seamless integration with Vue and Nuxt 3.
- **SSR Compatible**: Designed to work with server-side rendering, including Nuxt 3's useAsyncData for hydration.
- **Flexible Provider Support**: Currently supporting `ofetch`, with plans to expand to `axios`, `GraphQL`, and more in the future.## What's inside?
This repository uses pnpm as a package manager and turbo as a build system. It includes the following packages/apps:
### Apps and Packages
* `docs`: a VitePress app for documentation
* `nuxt-example`: a Nuxt.js example of usage and installation
* `vue-example`: a Vue.js example of usage and installation
* `@vue-api/core`: the core Vue API library used by all applications
* `@vue-api/vue`: a Vue.js compatible module that bundles the core
* `@vue-api/nuxt`: a Nuxt compatible module that bundles the coreEach package/app is 100% TypeScript.
## Release / Publish
We use [Changesets](https://github.com/changesets/changesets) for managing releases and publishing.
## License
This project is licensed under the MIT License.