Awesome
<p align='center'> <img src='https://user-images.githubusercontent.com/11247099/154486817-f86b8f20-5463-4122-b6e9-930622e757f2.png' alt='Vitesse - Opinionated Vite Starter Template' width='600'/> </p> <p align='center'> Mocking up web app with <b>Vitesse for SolidJS</b><sup><em>(speed)</em></sup><br> </p> <br> <p align='center'> <a href="https://vitesse-solid.netlify.app/">Live Demo</a> </p> <br> <p align='center'> <b>English</b> | <a href="https://github.com/xbmlz/vitesse-solid/blob/main/README.zh-CN.md">简体中文</a> <!-- Contributors: Thanks for getting interested, however we DON'T accept new transitions to the README, thanks. --> </p> <br>Features
-
📲 PWA
-
🎨 UnoCSS - the instant on-demand atomic CSS engine
-
⚒️ Solid Primitives - A library of high-quality primitives that extend SolidJS reactivity.
-
📥 APIs auto importing - use Composition API and others directly
-
🖨 CSR, SSR, streaming SSR, or SSG via
-
🦔 Critical CSS via critters
-
⚙️ Unit Testing with Vitest, E2E Testing with Cypress on GitHub Actions
-
☁️ Deploy on Netlify, zero-config
-
⚗️ Tauri Desktop App - build desktop apps with SolidJS
Pre-packed
UI Frameworks
- UnoCSS - The instant on-demand atomic CSS engine.
Icons
- Iconify - use icons from any icon sets 🔍Icônes
- Pure CSS Icons via UnoCSS
Plugins
- SolidJS - A declarative, efficient, and flexible JavaScript library for building user interfaces.
unplugin-auto-import
- Directly use Vue Composition API and others without importingvite-plugin-pwa
- PWAsolid-primitives
- A library of high-quality primitives that extend SolidJS reactivity.
Coding Style
- ESLint with @xbmlz/eslint-config, single quotes, no semi, auto fix on save
Dev tools
- TypeScript
- Vitest - Unit testing powered by Vite
- Cypress - E2E testing
- pnpm - fast, disk space efficient package manager
- Netlify - zero-config deployment
- VS Code Extensions
- Iconify IntelliSense - Icon inline display and autocomplete
- i18n Ally - All in one i18n support
- ESLint
Variations
As this template is strongly opinionated, the following provides a curated list for community-maintained variations with different preferences and feature sets. Check them out as well. PR to add yours is also welcome!
Try it now!
Vitesse-solid requires Node >=16
GitHub Template
Create a repo from this template on GitHub.
Clone to local
If you prefer to do it manually with the cleaner git history
npx degit xbmlz/vitesse-solid my-vitesse-solid-app
cd my-vitesse-solid-app
pnpm i # If you don't have pnpm installed, run: npm install -g pnpm
Checklist
When you use this template, try follow the checklist to update your info properly
- Change the author name in
LICENSE
- Change the title in
App.vue
- Change the hostname in
vite.config.ts
- Change the favicon in
public
- Remove the
.github
folder which contains the funding info - Clean up the READMEs and remove routes
And, enjoy :)
Usage
Development
Just run and visit http://localhost:3333
pnpm dev
Build
To build the App, run
pnpm build
And you will see the generated file in dist
that ready to be served.
Deploy on Netlify
Go to Netlify and select your clone, OK
along the way, and your App will be live in a minute.
Docker Production Build
First, build the vitesse-solid image by opening the terminal in the project's root directory.
docker buildx build . -t vitesse-solid:latest
Run the image and specify port mapping with the -p
flag.
docker run --rm -it -p 8080:80 vitesse-solid:latest
Tauri Desktop App
To develop the Tauri Desktop App, run
pnpm tauri:dev
To build the Tauri Desktop App, run
You can refer to Tauri's documentation for more information.
pnpm tauri:build
Why
I have created several Vite apps recently. Setting the configs up is kinda the bottleneck for me to make the ideas simply come true within a very short time.
So I made this starter template for myself to create apps more easily, along with some good practices that I have learned from making those apps. It's strongly opinionated, but feel free to tweak it or even maintain your own forks. (see community maintained variation forks)