Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rajarakoto/qwik-boilerplate
Minimalistic fullstack boilerplate for developing Qwik + QwikCity applications in TypeScript, optimized for blazing-fast performance using Bun & Vite π
https://github.com/rajarakoto/qwik-boilerplate
boilerplate bun bunjs fullstack minimalist qwik qwik-city qwikjs starter template typescript vite vitejs
Last synced: 22 days ago
JSON representation
Minimalistic fullstack boilerplate for developing Qwik + QwikCity applications in TypeScript, optimized for blazing-fast performance using Bun & Vite π
- Host: GitHub
- URL: https://github.com/rajarakoto/qwik-boilerplate
- Owner: RajaRakoto
- License: mit
- Created: 2024-08-26T09:46:47.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2024-09-22T09:14:32.000Z (about 1 month ago)
- Last Synced: 2024-09-30T03:41:33.690Z (about 1 month ago)
- Topics: boilerplate, bun, bunjs, fullstack, minimalist, qwik, qwik-city, qwikjs, starter, template, typescript, vite, vitejs
- Language: TypeScript
- Homepage:
- Size: 3.99 MB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# qwik-boilerplate π
[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/for-you.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/open-source.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/uses-git.svg)](https://forthebadge.com) [![forthebadge](https://rajarakoto.github.io/github-docs/badge/build-by.svg)](https://forthebadge.com)
![Git](https://img.shields.io/badge/-Git-777?style=flat&logo=git&logoColor=F05032&labelColor=ffffff) ![Gitub](https://img.shields.io/badge/-Gitub-777?style=flat&logo=github&logoColor=777&labelColor=ffffff)
**Developer Ready: A comprehensive template that works seamlessly for most Qwik projects. Designed for use with the latest active Qwik release, this setup includes [QwikCity](https://qwik.dev/qwikcity/overview/), an additional toolkit that enhances Qwik by simplifying the creation of full websites with features like directory-based routing, layouts, and more.**
- [Qwik Docs](https://qwik.dev/)
- [Discord](https://qwik.dev/chat)
- [Qwik GitHub](https://github.com/QwikDev/qwik)Instant Value - All basic tools included and configured:
- π Typescript >= 5.5.4
- π Qwik >= 1.8.0
- π Qwik City >= 1.8.0
- π§ Use Bun as package manager
- π ESM
- π§Ή ESlint with some initial rules recommendation
- π§ͺ Biome for JavaScript code formatting and linting
- β Jest or Bun test for fast unit testing and code coverage
- π Type definitions for Bun.js and Jest
- π¨ Prettier to enforce consistent code style
- βοΈ EditorConfig for consistent coding style
- π¦ NPM scripts for common operations
- π Simple example of Tsx code
- π Run tasks with Grunt (example for backup)
- π₯οΈ Ungit for version control (git) with a GUI
- β‘ Use Vite for lightning fast HMR (hot reload) in SSR mode
- β‘ Optimized build by Vite
- π§ͺ E2E test with Playwright
- π A modern and efficient interface for managing HTTP requests with Undici
- π₯ Easily add over 180000+ icons to your Qwik app with qwikest/icons
- 𧡠Defer third party scripts like Google Analytics, Facebook Pixel, etc off the main thread by using a web worker with partytown
- ποΈ Self-host fonts effortlessly using Fontsource, which includes Google Fonts and other open-source options.
- π³ Containerization for easy deployment and scaling with Docker
- π Tailwind CSS already set up with PostCSS for flexible usage
- π©· Sass extends CSS with features like variables, nested rules, mixins, imports, inheritance, built-in functions, and more ...> You can customize your website faster with [PLUM](https://github.com/RajaRakoto/plum), a mixins toolset powered by SASS. Quickly produce consistent, scalable CSS output, regardless of project size. For the best experience, it is recommended to use SASS version `1.77.6` to ensure smooth integration with PLUM.
---
### π Usage
To use this template, use the following commands:
```bash
bun create github.com/RajaRakoto/qwik-boilerplate
cd
bun run pkg-upgrade # to upgrade outdated dependencies in interactive mode
```> 1. This starter kit uses the MIT license with my name and GitHub profileβupdate or remove if needed.
> 2. Each subdirectory in `src` has a `README.md` to explain its structure.
> 3. Adjust the `package.json` (name, description, author, etc.) to fit your project.---
### π Integrations and Deployment
Use the `bun qwik add` command to add additional integrations. Some examples of integrations includes: Cloudflare, Netlify or Express Server, and the [Static Site Generator (SSG)](https://qwik.dev/qwikcity/guides/static-site-generation/).
---
### π NPM Scripts
**Start**
- π `start` - Launches the Vite.js server in SSR mode and automatically opens the app in the browser.
**Preview**
- π `preview` - Run your app with preview mode.
**Clean**
- π `clean` - Removes server, build, dist, coverage, playwright-report ...
**Development**
- π `dev` - Launch Vite.js development server using hot module remplacement (HMR) + SSR mode.
- π `dev:debug` - Starts Vite.js in SSR mode with Node.js debugger enabled.**Build**
- π `build` - Builds the application with Qwik.
- π `build.client` - Builds the client with Vite.js.
- π `build.preview` - Builds the project in SSR mode from `src/entry.preview.tsx`.
- π `build.types` - Manages TypeScript type compilation without emitting files.**Testing**
- π `test:unit` - Run unit testing with Bun.js.
- π `test:unit:watch` - Interactive watch mode to automatically re-run unit testing with Bun.js.
- π `test:e2e` - Run end to end (e2e) testing with Playwright.**Linting and Formatting**
- π `biome:start` - Starts the Biome daemon server. You can specify a custom configuration file path using the `--config-path` option.
- π `biome:stop` - Stops the Biome daemon server.
- π `biome:fix` - Runs a source code check and applies automatic fixes (linter & formatter) according to the defined rules.
- π `biome:unsafe` - Works like `biome:fix`, but may apply more invasive or risky changes.
- π `eslint` - Lints the project with ESLint and reports unhandled errors.
- π `prettier` - Formats code according to the `.prettierrc` rules.**Backup and Dependency Management**
- π `backup` - Backup files with Grunt.
- π `pkg-check` - Check useless dependencies with depcheck.
- π `pkg-upgrade` - Upgrade outdated dependencies (interactive mode) with npm-check-updates.**Versioning**
- π `versioning` - Start ungit server.
**NPM commands**
- π `npm-version:major` - Increments the major version number of your project using npm.
- π `npm-version:minor` - Increments the minor version number of your project using npm.
- π `npm-version:patch` - Increments the version patch number of your project using npm.**NVM**
- π `nvm` - Manage multiple node.js versions. Easily switch between node versions per project to ensure compatibility.
**Scripts**
- π `script:sass-charset` - Adds the @charset "UTF-8" declaration at the beginning of all SCSS files in the project.
---
### π Similar
You can also check out my other starter projects:
- π [bun-boilerplate](https://github.com/RajaRakoto/bun-boilerplate)
- π [node-boilerplate](https://github.com/RajaRakoto/node-boilerplate)
- π [react-boilerplate](https://github.com/RajaRakoto/react-boilerplate)
- π [next-boilerplate](https://github.com/RajaRakoto/next-boilerplate)
- π [vscode-boilerplate](https://github.com/RajaRakoto/vscode-boilerplate)
- π [cli-boilerplate](https://github.com/RajaRakoto/cli-boilerplate)