In order to get started, please refer to the the following article/post I have written:
A picture worth a thousand words! Here is a summary of what this project tries to accomplished:
TODO
And here the implemantion details:
TODO
- If you use asdf-vm as Version Manager, please check the .tool-versions file.
VSCode + Volar (and disable Vetur) + TypeScript Vue Plugin (Volar).
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) 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 that is more performant. You can enable it by the following steps:
- Disable the built-in TypeScript Extension
- Run
Extensions: Show Built-in Extensions
from VSCode's command palette - Find
TypeScript and JavaScript Language Features
, right click and selectDisable (Workspace)
- Run
- Reload the VSCode window by running
Developer: Reload Window
from the command palette.
See Vite Configuration Reference.
pnpm install # Install project dependencies
pnpm dev # Compile and Hot-Reload for Development
pnpm build # Type-Check, Compile and Minify for Production
It includes, Static Analisys, Lint and Unit and Integration tests.
Run Tests with Vitest
pnpm test
Lint with ESLint
pnpm lint
- https://vitejs.dev/guide/
- https://vitest.dev/guide/
- https://vuejs.org/guide/
- https://vuejs.org/guide/typescript/overview.html
- https://github.com/vuejs/language-tools
- https://pinia.vuejs.org/
- https://github.com/vuejs/awesome-vue
Copyright 2023 Fernando Cejas
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.