Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakezneal/alpende
⛰️ A good starting point for full-stack, type-safe Nuxt apps
https://github.com/jakezneal/alpende
framework full-stack node nuxt nuxt-testing-library pinia prettier server-rendering ssr starter-template static-site-generator storybook t3-env tailwindcss typescript vitest vue vue-testing-library
Last synced: 11 days ago
JSON representation
⛰️ A good starting point for full-stack, type-safe Nuxt apps
- Host: GitHub
- URL: https://github.com/jakezneal/alpende
- Owner: jakezneal
- Created: 2024-08-15T11:02:30.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-19T22:37:36.000Z (3 months ago)
- Last Synced: 2024-10-10T15:40:56.689Z (about 1 month ago)
- Topics: framework, full-stack, node, nuxt, nuxt-testing-library, pinia, prettier, server-rendering, ssr, starter-template, static-site-generator, storybook, t3-env, tailwindcss, typescript, vitest, vue, vue-testing-library
- Language: TypeScript
- Homepage:
- Size: 392 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Alpende
This is an opinionated starting point for full-stack, type-safe Nuxt apps.
## 🚀 Getting started
There are two ways to get started with this template:
- [Use this template](https://github.com/new?template_name=alpende&template_owner=jakezneal) to create a new project
- Initialise a new Nuxt project with this template:```bash
pnpm dlx nuxi@latest init -t https://codeload.github.com/jakezneal/alpende/tar.gz/refs/heads/main
```## 🔄 Updating
This template contains a GitHub Action that will periodically check for updates in this template and create a PR in your repository if there are any updates.
If you want to ignore specific files or folders from being updated, you can create a `.github/.templatesyncignore` file, which is similar to `.gitignore`. I'd recommend ignoring the GitHub workflows folder as this will cause issues with the GitHub Action.
You can update the frequency of the GitHub Action by updating `.github/workflows/template_sync.yml`, or removing it completely if you don't want to keep up to date with this template.
## ✨ Features
- ⛰️ [Nuxt](https://nuxt.com/)
- 🅿️ [Prettier](https://prettier.io/)
- ⚙️ [T3 Env](https://env.t3.gg/) — Type-safe environment variables
- 🧪 Testing
- [Vitest](https://vitest.dev/)
- [Vue Testing Library](https://testing-library.com/docs/vue-testing-library/)
- [Testing Library Selector](https://github.com/domasx2/testing-library-selector/)
- [Vue Test Utils](https://vue-test-utils.vuejs.org/)
- [Nuxt Test Utils](https://nuxt.com/docs/getting-started/testing)
- 📖 [Storybook](https://storybook.js.org/)
- 🍃 [Tailwind CSS](https://tailwindcss.com/)
- 🍍 [Pinia](https://pinia.vuejs.org/)## 🧪 Testing
This template adds a `v-test` directive to make it easier to target elements in your unit tests, and to encourage targeting elements with testIds, which improves the resilience of our tests. For further reading, check out this [article by Kent C. Dodds](https://kentcdodds.com/blog/making-your-ui-tests-resilient-to-change).
You can use the `v-test` directive in the following way:
```vue
- Some item I don't want to test
- My testable element
- Another item I don't want to test
```
## 🪄 Component generation
This template includes a CLI for generating components. This outputs a `.vue`, `.spec.ts`, and a `.stories.ts` file for each component in the given path.
Generating a component:
```bash
pnpm make:component
```
e.g.
```bash
pnpm make:component src/components/ui/AppLogo
```
## 🗣️ Commands
### 👷 Build
```bash
pnpm build
```
### 🚀 Dev
```bash
pnpm dev
```
### 🪄 Format
```bash
pnpm format
```
### 🧪 Test
```bash
pnpm test
```
To generate a coverage report:
```bash
pnpm test:coverage
```
To run Vitest UI:
```bash
pnpm test:ui
```
### 📖 Storybook
```bash
pnpm storybook
```