@atoms-studio/composables
Advanced tools
Comparing version 0.0.0-685c89e to 0.0.0-a5f4c95
@@ -7,3 +7,3 @@ { | ||
}, | ||
"version": "0.0.0-685c89e", | ||
"version": "0.0.0-a5f4c95", | ||
"license": "MIT", | ||
@@ -10,0 +10,0 @@ "files": [ |
@@ -1,59 +0,29 @@ | ||
# . | ||
# Atoms UI Kit / 📦 Composables | ||
This template should help get you started developing with Vue 3 in Vite. | ||
General purpose Vue composables.<br> | ||
Uses Vite in lib mode to build for production.<br> | ||
Uses Vitest to run unit tests. | ||
## Recommended IDE Setup | ||
## Installation | ||
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.vscode-typescript-vue-plugin). | ||
## Type Support for `.vue` Imports in TS | ||
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. | ||
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: | ||
1. Disable the built-in TypeScript Extension | ||
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette | ||
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` | ||
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. | ||
## Customize configuration | ||
See [Vite Configuration Reference](https://vitejs.dev/config/). | ||
## Project Setup | ||
```sh | ||
npm install | ||
```bash | ||
yarn add @atoms-studio/composables | ||
``` | ||
### Compile and Hot-Reload for Development | ||
Then import the composables you need, ie: | ||
```sh | ||
npm run dev | ||
``` | ||
```vue | ||
<script setup lang="ts"> | ||
import { useURL } from '@atoms-studio/composables' | ||
### Type-Check, Compile and Minify for Production | ||
```sh | ||
npm run build | ||
const { url } = useURL('/about', 'http://localhost:3000') | ||
</script> | ||
``` | ||
### Run Unit Tests with [Vitest](https://vitest.dev/) | ||
## Development | ||
```sh | ||
npm run test:unit | ||
``` | ||
1. Composables must be written in Typescript | ||
2. Every composable must have a test suite in the `tests` folder named after it, ie: `test/<composableName>.test.ts`.<br> | ||
### Run End-to-End Tests with [Cypress](https://www.cypress.io/) | ||
To execute tests, run `yarn test` in the `packages/composables` folder. | ||
```sh | ||
npm run build | ||
npm run test:e2e # or `npm run test:e2e:ci` for headless testing | ||
``` | ||
### Lint with [ESLint](https://eslint.org/) | ||
```sh | ||
npm run lint | ||
``` |
3817
30