Initialize web application via create-cloudflare CLI

Details:
  C3 = create-cloudflare@2.58.0
  project name = sanctum-app
  framework = next
  framework cli = create-next-app@15.5.6
  package manager = pnpm@10.18.3
  wrangler = wrangler@4.53.0
  git = 2.51.1
This commit is contained in:
Nicholai 2025-12-08 19:00:14 -07:00
parent 7a0e4a123b
commit 2297bbefcc
8 changed files with 18013 additions and 8014 deletions

15
.gitignore vendored
View File

@ -3,12 +3,8 @@
# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions
.pnp.js
.yarn/install-state.gz
# testing
/coverage
@ -28,11 +24,9 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
# env files (can opt-in for committing if needed)
.env*
!.env.example
# local env files
.env*.local
# vercel
.vercel
@ -48,3 +42,4 @@ next-env.d.ts
.wrangler
.dev.vars*
!.dev.vars.example
!.env.example

17590
cloudflare-env.d.ts vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
import { defineCloudflareConfig } from "@opennextjs/cloudflare";
export default defineCloudflareConfig({
// Uncomment to enable R2 cache,
// It should be imported as:
// `import r2IncrementalCache from "@opennextjs/cloudflare/overrides/incremental-cache/r2-incremental-cache";`
// See https://opennext.js.org/cloudflare/caching for more details
// incrementalCache: r2IncrementalCache,
// Uncomment to enable R2 cache,
// It should be imported as:
// `import r2IncrementalCache from "@opennextjs/cloudflare/overrides/incremental-cache/r2-incremental-cache";`
// See https://opennext.js.org/cloudflare/caching for more details
// incrementalCache: r2IncrementalCache,
});

View File

@ -28,6 +28,6 @@
"eslint-config-next": "15.4.6",
"tailwindcss": "^4",
"typescript": "^5",
"wrangler": "^4.45.4"
"wrangler": "^4.53.0"
}
}
}

8354
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,3 @@
# https://developers.cloudflare.com/workers/static-assets/headers
# https://opennext.js.org/cloudflare/caching#static-assets-caching
/_next/static/*
Cache-Control: public,max-age=31536000,immutable

View File

@ -21,7 +21,12 @@
"paths": {
"@/*": ["./src/*"]
},
"types": ["./cloudflare-env.d.ts", "node"]
"types": [
"./cloudflare-env.d.ts",
"./cloudflare-env.d.ts",
"node",
"node"
]
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]

View File

@ -4,20 +4,48 @@
*/
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "next",
"name": "sanctum-app",
"main": ".open-next/worker.js",
"compatibility_date": "2025-11-06",
"compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"],
"compatibility_date": "2025-03-01",
"compatibility_flags": [
"nodejs_compat",
"global_fetch_strictly_public"
],
"assets": {
"binding": "ASSETS",
"directory": ".open-next/assets"
},
"observability": {
"enabled": true
},
"images": {
// Enable image optimization
// see https://opennext.js.org/cloudflare/howtos/image
"binding": "IMAGES"
}
}
/**
* Smart Placement
* Docs: https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement
*/
// "placement": { "mode": "smart" }
/**
* Bindings
* Bindings allow your Worker to interact with resources on the Cloudflare Developer Platform, including
* databases, object storage, AI inference, real-time communication and more.
* https://developers.cloudflare.com/workers/runtime-apis/bindings/
*/
/**
* Environment Variables
* https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables
*/
// "vars": { "MY_VARIABLE": "production_value" }
/**
* Note: Use secrets to store sensitive data.
* https://developers.cloudflare.com/workers/configuration/secrets/
*/
/**
* Static Assets
* https://developers.cloudflare.com/workers/static-assets/binding/
*/
// "assets": { "directory": "./public/", "binding": "ASSETS" }
/**
* Service Bindings (communicate between multiple Workers)
* https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings
*/
// "services": [{ "binding": "MY_SERVICE", "service": "my-service" }]
}