Skip to content
/ qwik-boilerplate Public template

Minimalistic fullstack boilerplate for developing Qwik + QwikCity applications in TypeScript, optimized for blazing-fast performance using Bun & Vite πŸš€

License

Notifications You must be signed in to change notification settings

RajaRakoto/qwik-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

qwik-boilerplate πŸš€

forthebadge forthebadge forthebadge forthebadge forthebadge

Git Gitub

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, an additional toolkit that enhances Qwik by simplifying the creation of full websites with features like directory-based routing, layouts, and more.

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, 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:

bun create github.com/RajaRakoto/qwik-boilerplate <project-name>
cd <project-name>
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).


πŸ“Œ 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:

About

Minimalistic fullstack boilerplate for developing Qwik + QwikCity applications in TypeScript, optimized for blazing-fast performance using Bun & Vite πŸš€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published