From fd16947e143aee1f100489319e2e79ec5d51520c Mon Sep 17 00:00:00 2001
From: Wanjohi <71614375+wanjohiryan@users.noreply.github.com>
Date: Fri, 30 Aug 2024 10:22:10 +0300
Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Add=20tailwind=20and=20clou?=
=?UTF-8?q?dflare=20support?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/www/.gitignore | 3 +
apps/www/README.md | 47 ++++
.../adapters/cloudflare-pages/vite.config.ts | 15 ++
apps/www/package.json | 10 +-
apps/www/postcss.config.cjs | 1 +
apps/www/public/_headers | 9 +
apps/www/public/_redirects | 1 +
apps/www/src/entry.cloudflare-pages.tsx | 24 ++
apps/www/src/global.css | 0
apps/www/src/root.tsx | 2 +-
apps/www/src/routes/index.tsx | 11 +-
apps/www/tailwind.config.js | 11 +
apps/www/tsconfig.json | 2 +-
bun.lockb | Bin 339948 -> 384444 bytes
packages/eslint-config/package.json | 14 +-
packages/eslint-config/qwik.js | 42 ++++
packages/ui/globals.css | 223 ++++++++++++++++++
packages/ui/package.json | 25 +-
packages/ui/post.config.js | 6 +
packages/ui/tailwind.config.js | 134 +++++++++++
packages/ui/tsconfig.lint.json | 2 +-
21 files changed, 558 insertions(+), 24 deletions(-)
create mode 100644 apps/www/adapters/cloudflare-pages/vite.config.ts
create mode 100644 apps/www/postcss.config.cjs
create mode 100644 apps/www/public/_headers
create mode 100644 apps/www/public/_redirects
create mode 100644 apps/www/src/entry.cloudflare-pages.tsx
delete mode 100644 apps/www/src/global.css
create mode 100644 apps/www/tailwind.config.js
create mode 100644 packages/eslint-config/qwik.js
create mode 100644 packages/ui/globals.css
create mode 100644 packages/ui/post.config.js
create mode 100644 packages/ui/tailwind.config.js
diff --git a/apps/www/.gitignore b/apps/www/.gitignore
index 48dce735..c0eb215e 100644
--- a/apps/www/.gitignore
+++ b/apps/www/.gitignore
@@ -39,3 +39,6 @@ lerna-debug.log*
# Yarn
.yarn/*
!.yarn/releases
+
+# Cloudflare
+functions/**/*.js
diff --git a/apps/www/README.md b/apps/www/README.md
index 482a769f..385e914d 100644
--- a/apps/www/README.md
+++ b/apps/www/README.md
@@ -63,3 +63,50 @@ The production build will generate client and server modules by running both cli
```shell
bun build # or `bun build`
```
+
+## Cloudflare Pages
+
+Cloudflare's [wrangler](https://github.com/cloudflare/wrangler) CLI can be used to preview a production build locally. To start a local server, run:
+
+```
+bun serve
+```
+
+Then visit [http://localhost:8787/](http://localhost:8787/)
+
+### Deployments
+
+[Cloudflare Pages](https://pages.cloudflare.com/) are deployable through their [Git provider integrations](https://developers.cloudflare.com/pages/platform/git-integration/).
+
+If 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/).
+
+Within the projects "Settings" for "Build and deployments", the "Build command" should be `bun build`, and the "Build output directory" should be set to `dist`.
+
+### Function Invocation Routes
+
+Cloudflare 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.
+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.
+
+By 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:
+
+```
+{
+ "include": [
+ "/*"
+ ],
+ "exclude": [
+ "/_headers",
+ "/_redirects",
+ "/build/*",
+ "/favicon.ico",
+ "/manifest.json",
+ "/service-worker.js",
+ "/about"
+ ],
+ "version": 1
+}
+```
+
+In 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.
+
+In 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.
diff --git a/apps/www/adapters/cloudflare-pages/vite.config.ts b/apps/www/adapters/cloudflare-pages/vite.config.ts
new file mode 100644
index 00000000..56cd3d92
--- /dev/null
+++ b/apps/www/adapters/cloudflare-pages/vite.config.ts
@@ -0,0 +1,15 @@
+import { cloudflarePagesAdapter } from "@builder.io/qwik-city/adapters/cloudflare-pages/vite";
+import { extendConfig } from "@builder.io/qwik-city/vite";
+import baseConfig from "../../vite.config";
+
+export default extendConfig(baseConfig, () => {
+ return {
+ build: {
+ ssr: true,
+ rollupOptions: {
+ input: ["src/entry.cloudflare-pages.tsx", "@qwik-city-plan"],
+ },
+ },
+ plugins: [cloudflarePagesAdapter()],
+ };
+});
diff --git a/apps/www/package.json b/apps/www/package.json
index fc838185..b3c3ac68 100644
--- a/apps/www/package.json
+++ b/apps/www/package.json
@@ -15,20 +15,25 @@
"build": "qwik build",
"build.client": "vite build",
"build.preview": "vite build --ssr src/entry.preview.tsx",
+ "build.server": "vite build -c adapters/cloudflare-pages/vite.config.ts",
"build.types": "tsc --incremental --noEmit",
- "deploy": "echo 'Run \"npm run qwik add\" to install a server adapter'",
+ "deploy": "wrangler pages deploy ./dist",
"dev": "vite --mode ssr",
"dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force",
"fmt": "prettier --write .",
"fmt.check": "prettier --check .",
"lint": "eslint \"src/**/*.ts*\"",
"preview": "qwik build preview && vite preview --open",
+ "serve": "wrangler pages dev ./dist --compatibility-flags=nodejs_als",
"start": "vite --open --mode ssr",
"qwik": "qwik"
},
"devDependencies": {
"@builder.io/qwik": "^1.8.0",
"@builder.io/qwik-city": "^1.8.0",
+ "@nestri/eslint-config": "workspace:*",
+ "@nestri/typescript-config": "workspace:*",
+ "@nestri/ui": "workspace:*",
"@types/eslint": "8.56.10",
"@types/node": "20.14.11",
"@typescript-eslint/eslint-plugin": "7.16.1",
@@ -39,6 +44,7 @@
"typescript": "5.4.5",
"undici": "*",
"vite": "5.3.5",
- "vite-tsconfig-paths": "^4.2.1"
+ "vite-tsconfig-paths": "^4.2.1",
+ "wrangler": "^3.0.0"
}
}
diff --git a/apps/www/postcss.config.cjs b/apps/www/postcss.config.cjs
new file mode 100644
index 00000000..e4cb5c3d
--- /dev/null
+++ b/apps/www/postcss.config.cjs
@@ -0,0 +1 @@
+module.exports = require("@nestri/ui/postcss");
\ No newline at end of file
diff --git a/apps/www/public/_headers b/apps/www/public/_headers
new file mode 100644
index 00000000..76367924
--- /dev/null
+++ b/apps/www/public/_headers
@@ -0,0 +1,9 @@
+# https://developers.cloudflare.com/pages/platform/headers/
+
+/*service-worker.js
+ Cache-Control: no-store
+ Content-Type: application/javascript
+ X-Content-Type-Options: nosniff
+
+/build/*
+ Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
diff --git a/apps/www/public/_redirects b/apps/www/public/_redirects
new file mode 100644
index 00000000..e2746108
--- /dev/null
+++ b/apps/www/public/_redirects
@@ -0,0 +1 @@
+# https://developers.cloudflare.com/pages/platform/redirects/
diff --git a/apps/www/src/entry.cloudflare-pages.tsx b/apps/www/src/entry.cloudflare-pages.tsx
new file mode 100644
index 00000000..510a6309
--- /dev/null
+++ b/apps/www/src/entry.cloudflare-pages.tsx
@@ -0,0 +1,24 @@
+/*
+ * WHAT IS THIS FILE?
+ *
+ * It's the entry point for Cloudflare Pages when building for production.
+ *
+ * Learn more about the Cloudflare Pages integration here:
+ * - https://qwik.dev/docs/deployments/cloudflare-pages/
+ *
+ */
+import {
+ createQwikCity,
+ type PlatformCloudflarePages,
+} from "@builder.io/qwik-city/middleware/cloudflare-pages";
+import qwikCityPlan from "@qwik-city-plan";
+import { manifest } from "@qwik-client-manifest";
+import render from "./entry.ssr";
+
+declare global {
+ interface QwikCityPlatform extends PlatformCloudflarePages {}
+}
+
+const fetch = createQwikCity({ render, qwikCityPlan, manifest });
+
+export { fetch };
diff --git a/apps/www/src/global.css b/apps/www/src/global.css
deleted file mode 100644
index e69de29b..00000000
diff --git a/apps/www/src/root.tsx b/apps/www/src/root.tsx
index 3e42ec38..93409a78 100644
--- a/apps/www/src/root.tsx
+++ b/apps/www/src/root.tsx
@@ -7,7 +7,7 @@ import {
import { RouterHead } from "./components/router-head/router-head";
import { isDev } from "@builder.io/qwik/build";
-import "./global.css";
+import "@nestri/ui/globals.css";
export default component$(() => {
/**
diff --git a/apps/www/src/routes/index.tsx b/apps/www/src/routes/index.tsx
index 4fb7a52a..0df099fe 100644
--- a/apps/www/src/routes/index.tsx
+++ b/apps/www/src/routes/index.tsx
@@ -3,14 +3,9 @@ import type { DocumentHead } from "@builder.io/qwik-city";
export default component$(() => {
return (
- <>
-
Hi 👋
-
- Can't wait to see what you build with qwik!
-
- Happy coding.
-
- >
+
+
+
);
});
diff --git a/apps/www/tailwind.config.js b/apps/www/tailwind.config.js
new file mode 100644
index 00000000..22d269ed
--- /dev/null
+++ b/apps/www/tailwind.config.js
@@ -0,0 +1,11 @@
+// import colors from "tailwindcss/colors";
+import baseConfig from "@nestri/ui/tailwind.config";
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: [
+ "./{src,components,app}/**/*.{ts,tsx,html}",
+ "../../packages/ui/src/**/*.{ts,tsx}",
+ ],
+ presets: [baseConfig],
+ plugins: [],
+};
\ No newline at end of file
diff --git a/apps/www/tsconfig.json b/apps/www/tsconfig.json
index 639f88e8..8ee25804 100644
--- a/apps/www/tsconfig.json
+++ b/apps/www/tsconfig.json
@@ -21,5 +21,5 @@
}
},
"files": ["./.eslintrc.cjs"],
- "include": ["src", "./*.d.ts", "./*.config.ts"]
+ "include": ["src", "./*.d.ts", "./*.config.ts", "./*.config.js", "postcss.config.cjs"]
}
diff --git a/bun.lockb b/bun.lockb
index e11c8ca183ebb4c26e55e7c546ccdc935bf70019..bffc2693e0522c81f124ba324c9eb4e362950764 100755
GIT binary patch
delta 98533
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