Files
twenty/packages/twenty-website-redone/wrangler.jsonc
T
Abdullah. 0f4cb2c2c2 [Website] Full-bleed hero/testimonials, nav restructure, OpenNext deploy config (#21794)
### Full-bleed backgrounds on wide screens

Decorative section backgrounds were capped at the 1512px content width,
leaving large empty gutters on ultra-wide viewports.
- Added an opt-in `fullBleedBackground` prop to `SectionShell` that
lifts the background layer off the content-width cap (default unchanged,
so every other section is untouched).
- Applied it to `HomeHero` (bridge halftone field) and both testimonials
sections.
- Capped the `NotchedCardShape` notch at its width at the content cap,
so the white/dark card can span the full viewport while the notch stays
fixed and centered. The footer and any other capped card are unaffected.

<img width="3024" height="1718" alt="image"
src="https://github.com/user-attachments/assets/a2200677-58af-4740-9257-77f6385ade28"
/>

<img width="3024" height="1224" alt="image"
src="https://github.com/user-attachments/assets/73aa6745-b766-405e-b736-8c0c7591232e"
/>

### Navigation restructure
- Removed **Product** from the menu and footer nav, and promoted **Why**
out of the Resources dropdown to a top-level item in Product's place.
(The Product page itself is unchanged).
- Resources dropdown polish: tightened the preview frame height now that
the list is shorter; restored the cleaner/brighter User Guide and
Developers preview assets from `twenty-website`; gave User Guide a
center + 2× image scale so its halftone fills the frame like Developers,
and raised `NextImage` `sizes` to keep the fine halftone crisp through
that magnification.
- Restored the **current-page highlight** in the Resources dropdown
(active icon/label in highlight blue + marker bar), matching the old
`NavDropdown`.

<p>
<img width="1509" height="323" alt="image"
src="https://github.com/user-attachments/assets/d5702761-31f5-4b4d-9fcc-c33d5c7ae6ab"
/>
</p>

### OpenNext / Cloudflare deployment config
Ported the Cloudflare Workers deployment setup from `twenty-website` so
the same CI/deploy pipeline works against the redone package:
- `open-next.config.ts` (R2 incremental cache + regional cache + skew
protection), `wrangler.jsonc` (dev/prod envs — **worker names, routes,
R2 buckets kept identical** for a seamless cutover),
`initOpenNextCloudflareForDev()` in `next.config.ts`, the
`preview`/`deploy:*`/`cf-typegen` scripts, the `@opennextjs/cloudflare`
+ `wrangler` devDependencies, a `.dev.vars.example` template, and the
relevant `.gitignore` entries.
2026-06-18 19:29:21 +05:00

101 lines
3.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "twenty-website",
"main": ".open-next/worker.js",
"compatibility_date": "2026-04-15",
// `global_fetch_strictly_public` forces the skew handler's cross-version
// fetch to `<version>-<worker>.<account>.workers.dev` to take the public
// Internet path. Without it, Cloudflare's optimized intra-account routing
// self-loops back to the current worker (timeouts → 522).
"compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"],
"assets": {
"directory": ".open-next/assets",
"binding": "ASSETS",
// Worker must intercept asset requests so it can route /_next/static/*
// and /_next/data/* from a stale client to the matching old Worker
// version (skew protection). Cloudflare's edge cache still absorbs hot
// paths, so this isn't a 5× Worker invocation tax in practice.
"run_worker_first": true,
},
// Per-version preview URLs are how skew protection routes a stale request
// to the old deployment: `<version>-<worker>.<account>.workers.dev`.
"preview_urls": true,
"observability": {
"enabled": true,
},
"env": {
"dev": {
"name": "twenty-website-dev",
"routes": [
{
"pattern": "twenty-main.com",
"custom_domain": true,
},
{
"pattern": "www.twenty-main.com",
"custom_domain": true,
},
],
"r2_buckets": [
{
"binding": "NEXT_INC_CACHE_R2_BUCKET",
"bucket_name": "twenty-website-cache-dev",
},
],
// Self-reference so OpenNext can fire-and-forget background ISR
// revalidations instead of blocking the request. Per-env because the
// service name must match the deployed worker name.
"services": [
{
"binding": "WORKER_SELF_REFERENCE",
"service": "twenty-website-dev",
},
],
// Skew-protection runtime inputs. The handler reads these to construct
// `<old-version-id>-<CF_WORKER_NAME>.<CF_PREVIEW_DOMAIN>.workers.dev`
// when routing a stale request to an older Worker version.
"vars": {
"CF_WORKER_NAME": "twenty-website-dev",
// OpenNext appends `.workers.dev` itself when constructing the
// per-version preview URL — passing the full `twentyhq.workers.dev`
// here would yield `…twentyhq.workers.dev.workers.dev` and 404.
// See https://github.com/opennextjs/opennextjs-cloudflare/issues/811
"CF_PREVIEW_DOMAIN": "twentyhq",
},
},
"prod": {
"name": "twenty-website-prod",
"routes": [
{
"pattern": "twenty.com",
"custom_domain": true,
},
{
"pattern": "www.twenty.com",
"custom_domain": true,
},
],
"r2_buckets": [
{
"binding": "NEXT_INC_CACHE_R2_BUCKET",
"bucket_name": "twenty-website-cache-prod",
},
],
"services": [
{
"binding": "WORKER_SELF_REFERENCE",
"service": "twenty-website-prod",
},
],
"vars": {
"CF_WORKER_NAME": "twenty-website-prod",
// OpenNext appends `.workers.dev` itself when constructing the
// per-version preview URL — passing the full `twentyhq.workers.dev`
// here would yield `…twentyhq.workers.dev.workers.dev` and 404.
// See https://github.com/opennextjs/opennextjs-cloudflare/issues/811
"CF_PREVIEW_DOMAIN": "twentyhq",
},
},
},
}