Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xbmlz/vitesse-solid
๐ Opinionated Vite + SolidJS Starter Template
https://github.com/xbmlz/vitesse-solid
solidjs solidjs-boilerplate solidjs-starter solidjs-template vite vite-starter
Last synced: about 1 month ago
JSON representation
๐ Opinionated Vite + SolidJS Starter Template
- Host: GitHub
- URL: https://github.com/xbmlz/vitesse-solid
- Owner: xbmlz
- Created: 2022-12-09T10:30:46.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-07T02:58:42.000Z (about 1 year ago)
- Last Synced: 2024-07-31T22:37:53.594Z (5 months ago)
- Topics: solidjs, solidjs-boilerplate, solidjs-starter, solidjs-template, vite, vite-starter
- Language: TypeScript
- Homepage: https://vitesse-solid.netlify.app/
- Size: 1.31 MB
- Stars: 62
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- fucking-awesome-vite - vitesse-solid - Opinionated Vite + SolidJS Starter Template. Includes TypeScript, ESLint, Prettier, UnoCSS, HopeUI and more. (Get Started / Templates)
- awesome-vite - vitesse-solid - Opinionated Vite + SolidJS Starter Template. Includes TypeScript, ESLint, Prettier, UnoCSS, HopeUI and more. (Get Started / Templates)
README
Mocking up web app with Vitesse for SolidJS(speed)
English | ็ฎไฝไธญๆ
## Features
- โก๏ธ [SolidJS](https://github.com/solidjs/solid), [Vite 3](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/), [ESBuild](https://github.com/evanw/esbuild) - born with fastness
- ๐๏ธ [File based routing](./src/routes)
- ๐ฆ [Components auto importing](./src/components)
- ๐ [Layout system](./src/layouts)
- ๐ฒ [PWA](https://github.com/antfu/vite-plugin-pwa)
- ๐จ [UnoCSS](https://github.com/antfu/unocss) - the instant on-demand atomic CSS engine
- โ๏ธ [Solid Primitives](https://github.com/solidjs-community/solid-primitives) - A library of high-quality primitives that extend SolidJS reactivity.
- ๐ [Use icons from any icon sets with classes](https://github.com/antfu/unocss/tree/main/packages/preset-icons)
- ๐ [I18n ready](./src/locales)
- ๐ [Markdown Support](./src/pages/about.md)
- ๐ฅ [APIs auto importing](https://github.com/antfu/unplugin-auto-import) - use Composition API and others directly
- ๐จ CSR, SSR, streaming SSR, or SSG via
- ๐ฆ Critical CSS via [critters](https://github.com/GoogleChromeLabs/critters)
- โ๏ธ Unit Testing with [Vitest](https://github.com/vitest-dev/vitest), E2E Testing with [Cypress](https://cypress.io/) on [GitHub Actions](https://github.com/features/actions)
- โ๏ธ Deploy on Netlify, zero-config
- โ๏ธ [Tauri Desktop App](https://tauri.app/) - build desktop apps with SolidJS
## Pre-packed
### UI Frameworks
- [UnoCSS](https://github.com/antfu/unocss) - The instant on-demand atomic CSS engine.
### Icons
- [Iconify](https://iconify.design) - use icons from any icon sets [๐Icรดnes](https://icones.netlify.app/)
- [Pure CSS Icons via UnoCSS](https://github.com/antfu/unocss/tree/main/packages/preset-icons)### Plugins
- [SolidJS](https://start.solidjs.com/) - A declarative, efficient, and flexible JavaScript library for building user interfaces.
- [`unplugin-auto-import`](https://github.com/antfu/unplugin-auto-import) - Directly use Vue Composition API and others without importing
- [`vite-plugin-pwa`](https://github.com/antfu/vite-plugin-pwa) - PWA
- [`solid-primitives`](https://github.com/solidjs-community/solid-primitives) - A library of high-quality primitives that extend SolidJS reactivity.### Coding Style
- [ESLint](https://eslint.org/) with [@xbmlz/eslint-config](https://github.com/xbmlz/eslint-config), single quotes, no semi, auto fix on save
### Dev tools
- [TypeScript](https://www.typescriptlang.org/)
- [Vitest](https://github.com/vitest-dev/vitest) - Unit testing powered by Vite
- [Cypress](https://cypress.io/) - E2E testing
- [pnpm](https://pnpm.js.org/) - fast, disk space efficient package manager
- [Netlify](https://www.netlify.com/) - zero-config deployment
- [VS Code Extensions](./.vscode/extensions.json)
- [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify) - Icon inline display and autocomplete
- [i18n Ally](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) - All in one i18n support
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-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](https://github.com/xbmlz/vitesse-solid/generate).
### Clone to local
If you prefer to do it manually with the cleaner git history
```bash
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 routesAnd, enjoy :)
## Usage
### Development
Just run and visit http://localhost:3333
```bash
pnpm dev
```### Build
To build the App, run
```bash
pnpm build
```And you will see the generated file in `dist` that ready to be served.
### Deploy on Netlify
Go to [Netlify](https://app.netlify.com/start) 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.
```bash
docker buildx build . -t vitesse-solid:latest
```Run the image and specify port mapping with the `-p` flag.
```bash
docker run --rm -it -p 8080:80 vitesse-solid:latest
```### Tauri Desktop App
To develop the Tauri Desktop App, run
```bash
pnpm tauri:dev
```To build the Tauri Desktop App, run
> You can refer to [Tauri's documentation](https://tauri.studio/en/docs/getting-started/intro) for more information.
```bash
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)](#variations)