{"id":13810523,"url":"https://github.com/Tahul/vue-composable-starter","last_synced_at":"2025-05-14T10:34:07.068Z","repository":{"id":97473405,"uuid":"326082210","full_name":"Tahul/vue-composable-starter","owner":"Tahul","description":"🪝 Minimalist starting point for your next Vue Composable","archived":false,"fork":false,"pushed_at":"2022-08-14T06:18:32.000Z","size":752,"stargazers_count":53,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-19T04:27:02.525Z","etag":null,"topics":["vue-composable","vue-hook","vue-starter"],"latest_commit_sha":null,"homepage":"https://yael.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tahul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":["Tahul"]}},"created_at":"2021-01-02T00:46:51.000Z","updated_at":"2024-02-14T02:09:40.000Z","dependencies_parsed_at":"2024-01-02T23:40:37.628Z","dependency_job_id":"b7682bde-89f8-4e42-80af-56fccc9d4625","html_url":"https://github.com/Tahul/vue-composable-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tahul%2Fvue-composable-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tahul%2Fvue-composable-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tahul%2Fvue-composable-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tahul%2Fvue-composable-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tahul","download_url":"https://codeload.github.com/Tahul/vue-composable-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254121241,"owners_count":22018128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vue-composable","vue-hook","vue-starter"],"created_at":"2024-08-04T02:00:57.689Z","updated_at":"2025-05-14T10:34:02.058Z","avatar_url":"https://github.com/Tahul.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Tahul"],"categories":["Scaffold [🔝](#readme)","Tools","TypeScript","Components \u0026 Libraries"],"sub_categories":["Scaffold"],"readme":"# 🪝 vue-composable-starter\n\nA minimalist starting point for your next Vue 3 composable.\n\n- 🧩 **TypeScript** by default\n- 📦 **PNPM** as package manager\n- 🤹 Testing using [**Vitest**](https://vitest.dev)\n- ☑️ Linting using [**@antfu/eslint-config**](https://github.com/antfu/eslint-config)\n- 🌐 [**Nuxt 3**](https://nuxtjs.org) as a playground\n- 📸 Demo ready to be written and deployed using [**Vite**](https://vitejs.dev)\n- 🚚 Built using [**unbuild**](https://github.com/unjs/unbuild)\n\n\u003e Edit [variables](#to-do), implement, test, publish 🏎\n\n## Commands\n\nBuild the package:\n\n```bash\npnpm build\n```\n\nBuild with watcher:\n\n```bash\npnpm dev\n```\n\nRun the demo:\n\n```bash\npnpm dev:demo\n```\n\nBuild the demo:\n\n```bash\npnpm build:demo\n```\n\nLint the package:\n\n```bash\npnpm link\n```\n\nRun test suite:\n\n```bash\npnpm test\n```\n\nTest typings:\n\n```bash\npnpm test:types\n```\n\nStart Nuxt 3 env:\n\n```bash\npnpm dev:nuxt\n```\n\nBuild Nuxt 3 env:\n\n```bash\npnpm build:nuxt\n```\n\nPreview Nuxt 3 env:\n\n```bash\npnpm start:nuxt\n```\n\n## Why\n\nThis repository is useful if you want to start a new Vue composable, or a general Vue package.\n\nI used it personally for:\n\n- [**@vueuse/motion**](https://github.com/vueuse/motion)\n- [**@vueuse/gesture**](https://github.com/vueuse/gesture)\n- [**@vueuse/sound**](https://github.com/vueuse/sound)\n\nI try to keep it updated when I upgrade my own workflow!\n\n## Workflow\n\nI usually develop with the `dev:nuxt` command.\n\nYour changes on any file will be reloaded by **Nuxt**, and you can start trying SSR capabilities of your composable easily!\n\nThe general Nuxt environment does not differ from a classic Vue app.\n\n## To-Do\n\n- [ ] Edit package.json `name`, `description`, `repository` and `author` keys.\n- [ ] Remove .vscode folder (containing recommended extensions)\n- [ ] Edit README.md.\n- [ ] Implement my composable.\n- [ ] Test my composable.\n- [ ] Make a demo of my composable in the `demo` folder.\n- [ ] Document my composable.\n- [ ] Publish on [NPM](npmjs.com), [awesome-vue](https://github.com/vuejs/awesome-vue), [vue-forum](https://forum.vuejs.org/), [Vue Discord](https://fr.vuejs.org/v2/guide/join.html).\n\n## Contributing\n\nYou are more than welcome to improve this starter template.\n\nJust submit your changes via pull request and I will review them before merging.\n\nIf you are making a fix on the template, you can use the `main` branch and send a pull request.\n\nIf you are adding a new features, please create a new branch with a name describing your feature (`my-new-feature`), push to your branch and then submit a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTahul%2Fvue-composable-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTahul%2Fvue-composable-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTahul%2Fvue-composable-starter/lists"}