Skip to content

Latest commit

 

History

History

qwik-graphql-tailwind

qwik-graphql-tailwind kit

This starter kit features Qwik, GraphQL and Tailwind CSS.

Table of Contents

Overview

Tech Stack

Included Tooling

Example Components

In this starters/qwik-graphql-tailwind/src/routes directory you will find the home, counter and data-fetching directories.

  • src/routes: Provides the directory based routing, which can include a hierarchy of layout.tsx layout files, and an index.tsx file as the page. Additionally, index.ts files are endpoints. Please see the routing docs for more info.

  • src/components: Recommended directory for components.

  • public: Any static assets, like images, can be placed in the public directory. Please see the Vite public directory for more info.

Installation

CLI (Recommended)

npm create @this-dot/starter --kit qwik-graphql-tailwind

or

yarn create @this-dot/starter --kit qwik-graphql-tailwind
  • Follow the prompts to select the qwik-graphql-tailwind starter kit and name your new project.
  • cd into your project directory and run yarn.
  • Run yarn start to start the development server.
  • Open your browser to http://localhost:5173 to see the included example code running.

Manual

git clone https://github.com/thisdot/starter.dev.git
  • Copy and rename the starters/qwik-graphql-tailwind directory to the name of your new project.
  • cd into your project directory and run yarn.
  • Run yarn start to start the development server.
  • Open your browser to http://localhost:5173 to see the included example code running.

Commands

  • yarn start - Starts the development server.
  • yarn build - Builds a compiled version of your app.
  • yarn test - Runs the unit tests.
  • yarn storybook - Starts the Storybook UI.
  • yarn lint - Runs ESLint on the project.
  • yarn prettier - Formats code for the entire project

Demo Implementation

To Be completed

Disclaimer ⚠️

For the Live Demo on Netlify we were unable to get the Netlify adapter to work with Qwik at this time due to a bug in the adapter (limitation on the Qwik side). We are in correspondence with the Qwik core team and will update the build and the demo once this bug has been fixed. We are temporarily using the Static adaptor instead for this Netlify demo so it is possible that you may notice some issues. However, the demo is working fine locally, so we highly recommend you clone the repo and run it locally to see the full potential of the starter kit!

Static Site Generator (Node.js)

npm run build.server

Netlify

This starter site is configured to deploy to Netlify Edge Functions, which means it will be rendered at an edge location near to your users.

Local development

The Netlify CLI can be used to preview a production build locally. To do so: First build your site, then to start a local server, run:

  1. Install Netlify CLI globally npm i -g netlify-cli.
  2. Build your site with both ssr and static npm run build.
  3. Start a local server with npm run serve. In this project, npm run serve uses the netlify dev command to spin up a server that can handle Netlify's Edge Functions locally.
  4. Visit http://localhost:8888/ to check out your site.

Edge Functions Declarations

Netlify Edge Functions declarations can be configured to run on specific URL patterns. Each edge function declaration associates one site path pattern with one function to execute on requests that match the path. A single request can execute a chain of edge functions from a series of declarations. A single edge function can be associated with multiple paths across various declarations.

This is useful to determine if a page response should be Server-Side Rendered (SSR) or if the response should use a static-site generated (SSG) index.html file instead.

By default, the Netlify Edge adaptor will generate a .netlify/edge-middleware/manifest.json file, which is used by the Netlify deployment to determine which paths should, and should not, use edge functions.

To override the generated manifest, you can add a declaration to the netlify.toml using the [[edge_functions]] config. For example:

[[edge_functions]]
  path = "/admin"
  function = "auth"

Deployments

You can deploy your site to Netlify either via a Git provider integration or through the Netlify CLI. This starter site includes a netlify.toml file to configure your build for deployment.

Deploying via Git

Once your site has been pushed to your Git provider, you can either link it in the Netlify UI or use the CLI. To link your site to a Git provider from the Netlify CLI, run the command:

netlify link

This sets up continuous deployment for your site's repo. Whenever you push new commits to your repo, Netlify starts the build process..

Deploying manually via the CLI

If you wish to deploy from the CLI rather than using Git, you can use the command:

netlify deploy --build

You must use the --build flag whenever you deploy. This ensures that the Edge Functions that this starter site relies on are generated and available when you deploy your site.

Add --prod flag to deploy to production.

Static Site Generator (Node.js)

npm run build.server

Live Demo

This demo app gets deployed to Netlify on changes to the main branch.

https://qwik-graphql-tailwind.starter.dev