{"id":15311784,"url":"https://github.com/aslemammad/qwik-pwa-example","last_synced_at":"2025-10-08T21:30:42.743Z","repository":{"id":206910917,"uuid":"717859306","full_name":"Aslemammad/qwik-pwa-example","owner":"Aslemammad","description":"Please head over to https://github.com/qwikdev/pwa","archived":true,"fork":false,"pushed_at":"2024-01-14T16:35:30.000Z","size":1864,"stargazers_count":17,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-23T03:23:41.889Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://qwik-pwa-example.pages.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aslemammad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-12T20:19:40.000Z","updated_at":"2024-03-26T08:50:58.000Z","dependencies_parsed_at":"2024-03-16T12:10:33.608Z","dependency_job_id":null,"html_url":"https://github.com/Aslemammad/qwik-pwa-example","commit_stats":null,"previous_names":["aslemammad/qwik-pwa-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aslemammad%2Fqwik-pwa-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aslemammad%2Fqwik-pwa-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aslemammad%2Fqwik-pwa-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aslemammad%2Fqwik-pwa-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aslemammad","download_url":"https://codeload.github.com/Aslemammad/qwik-pwa-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235761864,"owners_count":19041418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T08:34:32.029Z","updated_at":"2025-10-08T21:30:37.363Z","avatar_url":"https://github.com/Aslemammad.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qwik City App ⚡️\n\n- [Qwik Docs](https://qwik.builder.io/)\n- [Discord](https://qwik.builder.io/chat)\n- [Qwik GitHub](https://github.com/BuilderIO/qwik)\n- [@QwikDev](https://twitter.com/QwikDev)\n- [Vite](https://vitejs.dev/)\n\n---\n\n## Project Structure\n\nThis project is using Qwik with [QwikCity](https://qwik.builder.io/qwikcity/overview/). QwikCity is just an extra set of tools on top of Qwik to make it easier to build a full site, including directory-based routing, layouts, and more.\n\nInside your project, you'll see the following directory structure:\n\n```\n├── public/\n│   └── ...\n└── src/\n    ├── components/\n    │   └── ...\n    └── routes/\n        └── ...\n```\n\n- `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](https://qwik.builder.io/qwikcity/routing/overview/) for more info.\n\n- `src/components`: Recommended directory for components.\n\n- `public`: Any static assets, like images, can be placed in the public directory. Please see the [Vite public directory](https://vitejs.dev/guide/assets.html#the-public-directory) for more info.\n\n## Add Integrations and deployment\n\nUse the `pnpm 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.builder.io/qwikcity/guides/static-site-generation/).\n\n```shell\npnpm qwik add # or `pnpm qwik add`\n```\n\n## Development\n\nDevelopment mode uses [Vite's development server](https://vitejs.dev/). The `dev` command will server-side render (SSR) the output during development.\n\n```shell\nnpm start # or `pnpm start`\n```\n\n\u003e Note: during dev mode, Vite may request a significant number of `.js` files. This does not represent a Qwik production build.\n\n## Preview\n\nThe preview command will create a production build of the client modules, a production build of `src/entry.preview.tsx`, and run a local server. The preview server is only for convenience to preview a production build locally and should not be used as a production server.\n\n```shell\npnpm preview # or `pnpm preview`\n```\n\n## Production\n\nThe production build will generate client and server modules by running both client and server build commands. The build command will use Typescript to run a type check on the source code.\n\n```shell\npnpm build # or `pnpm build`\n```\n\n## Static Site Generator (Node.js)\n\n```shell\npnpm build.server\n```\n\n## Static Site Generator (Node.js)\n\n```shell\nnpm run build.server\n```\n\n## Cloudflare Pages\n\nCloudflare's [wrangler](https://github.com/cloudflare/wrangler) CLI can be used to preview a production build locally. To start a local server, run:\n\n```\nnpm run serve\n```\n\nThen visit [http://localhost:8787/](http://localhost:8787/)\n\n### Deployments\n\n[Cloudflare Pages](https://pages.cloudflare.com/) are deployable through their [Git provider integrations](https://developers.cloudflare.com/pages/platform/git-integration/).\n\nIf you don't already have an account, then [create a Cloudflare account here](https://dash.cloudflare.com/sign-up/pages). Next go to your dashboard and follow the [Cloudflare Pages deployment guide](https://developers.cloudflare.com/pages/framework-guides/deploy-anything/).\n\nWithin the projects \"Settings\" for \"Build and deployments\", the \"Build command\" should be `npm run build`, and the \"Build output directory\" should be set to `dist`.\n\n### Function Invocation Routes\n\nCloudflare Page's [function-invocation-routes config](https://developers.cloudflare.com/pages/platform/functions/routing/#functions-invocation-routes) can be used to include, or exclude, certain paths to be used by the worker functions. Having a `_routes.json` file gives developers more granular control over when your Function is invoked.\nThis 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.\n\nBy default, the Cloudflare pages adaptor _does not_ include a `public/_routes.json` config, but rather it is auto-generated from the build by the Cloudflare adaptor. An example of an auto-generate `dist/_routes.json` would be:\n\n```\n{\n  \"include\": [\n    \"/*\"\n  ],\n  \"exclude\": [\n    \"/_headers\",\n    \"/_redirects\",\n    \"/build/*\",\n    \"/favicon.ico\",\n    \"/manifest.json\",\n    \"/service-worker.js\",\n    \"/about\"\n  ],\n  \"version\": 1\n}\n```\n\nIn the above example, it's saying _all_ pages should be SSR'd. However, the root static files such as `/favicon.ico` and any static assets in `/build/*` should be excluded from the Functions, and instead treated as a static file.\n\nIn most cases the generated `dist/_routes.json` file is ideal. However, if you need more granular control over each path, you can instead provide you're own `public/_routes.json` file. When the project provides its own `public/_routes.json` file, then the Cloudflare adaptor will not auto-generate the routes config and instead use the committed one within the `public` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faslemammad%2Fqwik-pwa-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faslemammad%2Fqwik-pwa-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faslemammad%2Fqwik-pwa-example/lists"}