create-cloudflare 0.0.0-ea3e16a89 → 0.0.0-ea71df3d4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/cli.js +39139 -37391
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/package.json +13 -10
  4. package/templates/analog/c3.ts +0 -24
  5. package/templates/analog/templates/env.d.ts +1 -1
  6. package/templates/angular/c3.ts +5 -110
  7. package/templates/angular/pages/c3.ts +135 -0
  8. package/templates/angular/pages/templates/wrangler.jsonc +5 -0
  9. package/{templates-experimental/angular → templates/angular/workers}/c3.ts +26 -7
  10. package/templates/astro/c3.ts +5 -93
  11. package/templates/astro/pages/c3.ts +99 -0
  12. package/templates/astro/pages/templates/ts/worker-configuration.d.ts +4 -0
  13. package/{templates-experimental/astro → templates/astro/workers}/c3.ts +2 -2
  14. package/templates/astro/workers/templates/js/public/.assetsignore +2 -0
  15. package/{templates-experimental/astro/templates/js/wrangler.json → templates/astro/workers/templates/js/wrangler.jsonc} +2 -1
  16. package/templates/astro/workers/templates/ts/public/.assetsignore +2 -0
  17. package/{templates-experimental/astro/templates/ts/wrangler.json → templates/astro/workers/templates/ts/wrangler.jsonc} +3 -2
  18. package/templates/common/c3.ts +5 -1
  19. package/templates/common/ts/src/index.ts +1 -1
  20. package/templates/common/ts/tsconfig.json +0 -3
  21. package/templates/docusaurus/c3.ts +5 -24
  22. package/templates/docusaurus/pages/c3.ts +32 -0
  23. package/{templates-experimental/docusaurus → templates/docusaurus/workers}/c3.ts +4 -2
  24. package/templates/gatsby/c3.ts +5 -45
  25. package/templates/gatsby/pages/c3.ts +52 -0
  26. package/{templates-experimental/gatsby → templates/gatsby/workers}/c3.ts +3 -2
  27. package/templates/hello-world/c3.ts +20 -3
  28. package/templates/hello-world/js/package.json +2 -2
  29. package/templates/hello-world/js/vitest.config.js +1 -1
  30. package/templates/hello-world/js/{wrangler.json → wrangler.jsonc} +2 -2
  31. package/templates/hello-world/py/.python-version +1 -0
  32. package/templates/hello-world/py/README.md +23 -0
  33. package/templates/hello-world/py/pyproject.toml +9 -0
  34. package/templates/hello-world/py/src/entry.py +3 -2
  35. package/templates/hello-world/py/uv.lock +22 -0
  36. package/templates/hello-world/py/{wrangler.json → wrangler.jsonc} +2 -2
  37. package/templates/hello-world/ts/package.json +2 -2
  38. package/templates/hello-world/ts/src/index.ts +1 -1
  39. package/templates/hello-world/ts/test/env.d.ts +3 -0
  40. package/templates/hello-world/ts/test/index.spec.ts +0 -1
  41. package/templates/hello-world/ts/test/tsconfig.json +1 -1
  42. package/templates/hello-world/ts/tsconfig.json +0 -2
  43. package/templates/hello-world/ts/vitest.config.mts +1 -1
  44. package/templates/hello-world/ts/{wrangler.json → wrangler.jsonc} +2 -2
  45. package/{templates-experimental → templates}/hello-world-assets-only/c3.ts +4 -3
  46. package/templates/hello-world-durable-object/c3.ts +9 -3
  47. package/templates/hello-world-durable-object/js/src/index.js +13 -12
  48. package/templates/hello-world-durable-object/js/{wrangler.json → wrangler.jsonc} +1 -1
  49. package/templates/hello-world-durable-object/py/.python-version +1 -0
  50. package/templates/hello-world-durable-object/py/README.md +23 -0
  51. package/templates/hello-world-durable-object/py/__dot__gitignore +68 -0
  52. package/templates/hello-world-durable-object/py/package.json +13 -0
  53. package/templates/hello-world-durable-object/py/pyproject.toml +9 -0
  54. package/templates/hello-world-durable-object/py/src/entry.py +66 -0
  55. package/templates/hello-world-durable-object/py/uv.lock +22 -0
  56. package/templates/hello-world-durable-object/py/wrangler.jsonc +27 -0
  57. package/templates/hello-world-durable-object/ts/src/index.ts +13 -12
  58. package/templates/hello-world-durable-object/ts/tsconfig.json +0 -2
  59. package/templates/hello-world-durable-object/ts/{wrangler.json → wrangler.jsonc} +1 -1
  60. package/{templates-experimental → templates}/hello-world-durable-object-with-assets/c3.ts +6 -3
  61. package/{templates-experimental → templates}/hello-world-durable-object-with-assets/js/src/index.js +14 -13
  62. package/{templates-experimental/hello-world-durable-object-with-assets/js/wrangler.json → templates/hello-world-durable-object-with-assets/js/wrangler.jsonc} +2 -2
  63. package/templates/hello-world-durable-object-with-assets/py/.python-version +1 -0
  64. package/templates/hello-world-durable-object-with-assets/py/README.md +23 -0
  65. package/templates/hello-world-durable-object-with-assets/py/pyproject.toml +9 -0
  66. package/templates/hello-world-durable-object-with-assets/py/src/entry.py +66 -0
  67. package/templates/hello-world-durable-object-with-assets/py/uv.lock +22 -0
  68. package/templates/hello-world-durable-object-with-assets/py/wrangler.jsonc +31 -0
  69. package/templates/hello-world-durable-object-with-assets/ts/public/index.html +19 -0
  70. package/{templates-experimental → templates}/hello-world-durable-object-with-assets/ts/src/index.ts +13 -12
  71. package/{templates-experimental → templates}/hello-world-durable-object-with-assets/ts/tsconfig.json +0 -2
  72. package/{templates-experimental/hello-world-durable-object-with-assets/ts/wrangler.json → templates/hello-world-durable-object-with-assets/ts/wrangler.jsonc} +1 -1
  73. package/templates/hello-world-with-assets/c3.ts +25 -0
  74. package/{templates-experimental → templates}/hello-world-with-assets/js/package.json +2 -2
  75. package/{templates-experimental/hello-world-with-assets/ts → templates/hello-world-with-assets/js}/public/index.html +2 -2
  76. package/{templates-experimental → templates}/hello-world-with-assets/js/vitest.config.js +1 -1
  77. package/{templates-experimental/hello-world-with-assets/js/wrangler.json → templates/hello-world-with-assets/js/wrangler.jsonc} +2 -1
  78. package/templates/hello-world-with-assets/py/.python-version +1 -0
  79. package/templates/hello-world-with-assets/py/README.md +23 -0
  80. package/templates/hello-world-with-assets/py/__dot__gitignore +68 -0
  81. package/templates/hello-world-with-assets/py/package.json +13 -0
  82. package/{templates-experimental/hello-world-with-assets/js → templates/hello-world-with-assets/py}/public/index.html +2 -2
  83. package/templates/hello-world-with-assets/py/pyproject.toml +9 -0
  84. package/templates/hello-world-with-assets/py/src/entry.py +11 -0
  85. package/templates/hello-world-with-assets/py/uv.lock +22 -0
  86. package/{templates-experimental → templates}/hello-world-with-assets/ts/package.json +2 -2
  87. package/{templates-experimental/hello-world-with-assets/py → templates/hello-world-with-assets/ts}/public/index.html +2 -2
  88. package/{templates-experimental → templates}/hello-world-with-assets/ts/src/index.ts +1 -1
  89. package/templates/hello-world-with-assets/ts/test/env.d.ts +3 -0
  90. package/templates/hello-world-with-assets/ts/test/tsconfig.json +8 -0
  91. package/{templates-experimental → templates}/hello-world-with-assets/ts/tsconfig.json +0 -2
  92. package/{templates-experimental → templates}/hello-world-with-assets/ts/vitest.config.mts +1 -1
  93. package/{templates-experimental/hello-world-with-assets/ts/wrangler.json → templates/hello-world-with-assets/ts/wrangler.jsonc} +2 -1
  94. package/templates/hono/c3.ts +5 -65
  95. package/templates/hono/pages/c3.ts +47 -0
  96. package/templates/hono/pages/templates/src/index.tsx +12 -0
  97. package/templates/{openapi/ts/wrangler.json → hono/pages/templates/wrangler.jsonc} +1 -1
  98. package/{templates-experimental/hono → templates/hono/workers}/c3.ts +6 -5
  99. package/templates/next/c3.ts +7 -218
  100. package/templates/next/{README.md → pages/README.md} +1 -1
  101. package/templates/next/pages/c3.ts +221 -0
  102. package/templates/next/workers/c3.ts +71 -0
  103. package/templates/next/workers/templates/open-next.config.ts +9 -0
  104. package/{templates-experimental/next/templates/wrangler.json → templates/next/workers/templates/wrangler.jsonc} +3 -3
  105. package/templates/nuxt/c3.ts +5 -130
  106. package/templates/nuxt/pages/c3.ts +123 -0
  107. package/{templates-experimental/nuxt → templates/nuxt/pages}/templates/env.d.ts +1 -1
  108. package/templates/nuxt/pages/templates/wrangler.jsonc +5 -0
  109. package/{templates-experimental/nuxt → templates/nuxt/workers}/c3.ts +15 -28
  110. package/templates/nuxt/{templates → workers/templates}/env.d.ts +1 -1
  111. package/templates/openapi/c3.ts +5 -1
  112. package/templates/openapi/ts/__dot__gitignore +1 -0
  113. package/templates/openapi/ts/package.json +7 -6
  114. package/templates/openapi/ts/src/endpoints/taskCreate.ts +2 -2
  115. package/templates/openapi/ts/src/endpoints/taskDelete.ts +2 -2
  116. package/templates/openapi/ts/src/endpoints/taskFetch.ts +2 -2
  117. package/templates/openapi/ts/src/endpoints/taskList.ts +2 -2
  118. package/templates/openapi/ts/src/index.ts +4 -1
  119. package/templates/openapi/ts/src/types.ts +3 -0
  120. package/templates/openapi/ts/tsconfig.json +18 -21
  121. package/templates/pre-existing/c3.ts +7 -3
  122. package/templates/queues/c3.ts +5 -1
  123. package/templates/queues/ts/src/index.ts +1 -1
  124. package/templates/queues/ts/tsconfig.json +0 -2
  125. package/templates/qwik/c3.ts +5 -143
  126. package/templates/qwik/pages/c3.ts +151 -0
  127. package/templates/qwik/pages/templates/worker-configuration.d.ts +4 -0
  128. package/{templates-experimental/qwik → templates/qwik/workers}/c3.ts +8 -8
  129. package/templates/qwik/workers/templates/worker-configuration.d.ts +4 -0
  130. package/{templates-experimental/qwik/templates/wrangler.json → templates/qwik/workers/templates/wrangler.jsonc} +2 -1
  131. package/templates/react/c3.ts +5 -57
  132. package/templates/react/pages/c3.ts +65 -0
  133. package/templates/react/pages/templates/wrangler.jsonc +5 -0
  134. package/templates/react/workers/c3.ts +183 -0
  135. package/templates/react/workers/js/src/App.css +45 -0
  136. package/templates/react/workers/js/src/App.jsx +58 -0
  137. package/templates/react/workers/js/src/assets/Cloudflare_Logo.svg +53 -0
  138. package/templates/react/workers/js/worker/index.js +13 -0
  139. package/templates/react/workers/js/wrangler.jsonc +9 -0
  140. package/templates/react/workers/ts/src/App.css +45 -0
  141. package/templates/react/workers/ts/src/App.tsx +58 -0
  142. package/templates/react/workers/ts/src/assets/Cloudflare_Logo.svg +51 -0
  143. package/templates/react/workers/ts/tsconfig.worker.json +8 -0
  144. package/templates/react/workers/ts/worker/index.ts +12 -0
  145. package/templates/react/workers/ts/wrangler.jsonc +9 -0
  146. package/templates/react-router/c3.ts +41 -0
  147. package/templates/remix/c3.ts +6 -63
  148. package/templates/remix/pages/c3.ts +70 -0
  149. package/{templates-experimental/remix → templates/remix/workers}/c3.ts +3 -2
  150. package/{templates-experimental/hello-world-with-assets/ts → templates/remix/workers/templates}/worker-configuration.d.ts +1 -1
  151. package/{templates-experimental/remix → templates/remix/workers}/templates/wrangler.toml +1 -1
  152. package/templates/scheduled/c3.ts +5 -1
  153. package/templates/scheduled/js/src/index.js +1 -1
  154. package/templates/scheduled/ts/src/index.ts +9 -2
  155. package/templates/scheduled/ts/tsconfig.json +0 -2
  156. package/templates/solid/c3.ts +1 -0
  157. package/templates/svelte/c3.ts +5 -154
  158. package/templates/svelte/pages/c3.ts +160 -0
  159. package/{templates-experimental/svelte → templates/svelte/workers}/c3.ts +6 -6
  160. package/templates/svelte/workers/templates/static/.assetsignore +2 -0
  161. package/templates/vue/c3.ts +5 -25
  162. package/{templates-experimental/vue → templates/vue/pages}/c3.ts +8 -8
  163. package/templates/vue/pages/templates/wrangler.jsonc +5 -0
  164. package/templates/vue/workers/c3.ts +98 -0
  165. package/templates/vue/workers/js/server/index.js +13 -0
  166. package/templates/vue/workers/js/src/App.vue +107 -0
  167. package/templates/vue/workers/js/src/components/HelloWorld.vue +47 -0
  168. package/templates/vue/workers/js/vite.config.js +21 -0
  169. package/templates/vue/workers/js/wrangler.jsonc +11 -0
  170. package/templates/vue/workers/ts/server/index.ts +12 -0
  171. package/templates/vue/workers/ts/src/App.vue +107 -0
  172. package/templates/vue/workers/ts/src/components/HelloWorld.vue +44 -0
  173. package/templates/vue/workers/ts/tsconfig.worker.json +8 -0
  174. package/templates/vue/workers/ts/vite.config.ts +21 -0
  175. package/templates/vue/workers/ts/wrangler.jsonc +11 -0
  176. package/templates-experimental/solid/c3.ts +1 -1
  177. package/templates/analog/templates/worker-configuration.d.ts +0 -4
  178. package/templates/astro/templates/ts/worker-configuration.d.ts +0 -4
  179. package/templates/common/ts/worker-configuration.d.ts +0 -4
  180. package/templates/hello-world/ts/worker-configuration.d.ts +0 -4
  181. package/templates/hello-world-durable-object/ts/worker-configuration.d.ts +0 -5
  182. package/templates/hono/snippets/appDeclaration.ts +0 -1
  183. package/templates/hono/templates/worker-configuration.d.ts +0 -4
  184. package/templates/next/env.d.ts +0 -5
  185. package/templates/nuxt/templates/worker-configuration.d.ts +0 -4
  186. package/templates/openapi/ts/worker-configuration.d.ts +0 -4
  187. package/templates/pre-existing/js/wrangler.json +0 -5
  188. package/templates/queues/ts/worker-configuration.d.ts +0 -5
  189. package/templates/qwik/templates/worker-configuration.d.ts +0 -4
  190. package/templates/remix/templates/worker-configuration.d.ts +0 -4
  191. package/templates/scheduled/ts/worker-configuration.d.ts +0 -4
  192. package/templates/solid/templates/wrangler.json +0 -8
  193. package/templates-experimental/astro/templates/ts/public/.assetsignore +0 -4
  194. package/templates-experimental/astro/templates/ts/worker-configuration.d.ts +0 -4
  195. package/templates-experimental/hello-world-durable-object-with-assets/ts/worker-configuration.d.ts +0 -5
  196. package/templates-experimental/hello-world-with-assets/c3.ts +0 -22
  197. package/templates-experimental/hello-world-with-assets/py/src/entry.py +0 -9
  198. package/templates-experimental/hello-world-with-assets/ts/test/tsconfig.json +0 -8
  199. package/templates-experimental/hono/templates/worker-configuration.d.ts +0 -4
  200. package/templates-experimental/next/c3.ts +0 -84
  201. package/templates-experimental/next/templates/cloudflare-env.d.ts +0 -5
  202. package/templates-experimental/next/templates/open-next.config.ts +0 -28
  203. package/templates-experimental/nuxt/templates/worker-configuration.d.ts +0 -4
  204. package/templates-experimental/qwik/templates/public/.assetsignore +0 -4
  205. package/templates-experimental/qwik/templates/worker-configuration.d.ts +0 -4
  206. package/templates-experimental/svelte/templates/static/.assetsignore +0 -4
  207. package/templates-experimental/vue/templates/wrangler.json +0 -10
  208. /package/templates/analog/templates/{wrangler.json → wrangler.jsonc} +0 -0
  209. /package/templates/angular/{templates → pages/templates}/src/_routes.json +0 -0
  210. /package/{templates-experimental/angular → templates/angular/pages}/templates/src/server.ts +0 -0
  211. /package/templates/angular/{templates → pages/templates}/tools/copy-files.mjs +0 -0
  212. /package/templates/angular/{templates → workers/templates}/src/server.ts +0 -0
  213. /package/{templates-experimental/angular/templates/wrangler.json → templates/angular/workers/templates/wrangler.jsonc} +0 -0
  214. /package/templates/astro/{templates/js/wrangler.json → pages/templates/js/wrangler.jsonc} +0 -0
  215. /package/{templates-experimental/astro → templates/astro/pages}/templates/ts/src/env.d.ts +0 -0
  216. /package/templates/astro/{templates/ts/wrangler.json → pages/templates/ts/wrangler.jsonc} +0 -0
  217. /package/templates/astro/{templates → workers/templates}/ts/src/env.d.ts +0 -0
  218. /package/templates/common/js/{wrangler.json → wrangler.jsonc} +0 -0
  219. /package/templates/common/ts/{wrangler.json → wrangler.jsonc} +0 -0
  220. /package/{templates-experimental/docusaurus/templates/wrangler.json → templates/docusaurus/workers/templates/wrangler.jsonc} +0 -0
  221. /package/{templates-experimental/gatsby/templates/wrangler.json → templates/gatsby/workers/templates/wrangler.jsonc} +0 -0
  222. /package/{templates-experimental → templates}/hello-world-assets-only/templates/package.json +0 -0
  223. /package/{templates-experimental → templates}/hello-world-assets-only/templates/public/index.html +0 -0
  224. /package/{templates-experimental/hello-world-assets-only/templates/wrangler.json → templates/hello-world-assets-only/templates/wrangler.jsonc} +0 -0
  225. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/js/.editorconfig +0 -0
  226. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/js/.prettierrc +0 -0
  227. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/js/__dot__gitignore +0 -0
  228. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/js/package.json +0 -0
  229. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/js/public/index.html +0 -0
  230. /package/{templates-experimental/hello-world-with-assets → templates/hello-world-durable-object-with-assets}/py/__dot__gitignore +0 -0
  231. /package/{templates-experimental/hello-world-with-assets → templates/hello-world-durable-object-with-assets}/py/package.json +0 -0
  232. /package/{templates-experimental/hello-world-durable-object-with-assets/ts → templates/hello-world-durable-object-with-assets/py}/public/index.html +0 -0
  233. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/ts/.editorconfig +0 -0
  234. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/ts/.prettierrc +0 -0
  235. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/ts/__dot__gitignore +0 -0
  236. /package/{templates-experimental → templates}/hello-world-durable-object-with-assets/ts/package.json +0 -0
  237. /package/{templates-experimental → templates}/hello-world-with-assets/js/.editorconfig +0 -0
  238. /package/{templates-experimental → templates}/hello-world-with-assets/js/.prettierrc +0 -0
  239. /package/{templates-experimental → templates}/hello-world-with-assets/js/__dot__gitignore +0 -0
  240. /package/{templates-experimental → templates}/hello-world-with-assets/js/src/index.js +0 -0
  241. /package/{templates-experimental → templates}/hello-world-with-assets/js/test/index.spec.js +0 -0
  242. /package/{templates-experimental/hello-world-with-assets/py/wrangler.json → templates/hello-world-with-assets/py/wrangler.jsonc} +0 -0
  243. /package/{templates-experimental → templates}/hello-world-with-assets/ts/.editorconfig +0 -0
  244. /package/{templates-experimental → templates}/hello-world-with-assets/ts/.prettierrc +0 -0
  245. /package/{templates-experimental → templates}/hello-world-with-assets/ts/__dot__gitignore +0 -0
  246. /package/{templates-experimental → templates}/hello-world-with-assets/ts/test/index.spec.ts +0 -0
  247. /package/{templates-experimental/hono → templates/hono/workers}/templates/public/index.html +0 -0
  248. /package/{templates-experimental/hono → templates/hono/workers}/templates/src/index.ts +0 -0
  249. /package/{templates-experimental/hono/templates/wrangler.json → templates/hono/workers/templates/wrangler.jsonc} +0 -0
  250. /package/templates/next/{app → pages/app}/js/app/api/hello/route.js +0 -0
  251. /package/templates/next/{app → pages/app}/js/app/not-found.js +0 -0
  252. /package/templates/next/{app → pages/app}/ts/app/api/hello/route.ts +0 -0
  253. /package/templates/next/{app → pages/app}/ts/app/not-found.tsx +0 -0
  254. /package/templates/next/pages/{js → pages/js}/pages/api/hello.js +0 -0
  255. /package/templates/next/pages/{ts → pages/ts}/pages/api/hello.ts +0 -0
  256. /package/templates/next/{wrangler.json → pages/wrangler.jsonc} +0 -0
  257. /package/{templates-experimental/next → templates/next/workers}/templates/.dev.vars +0 -0
  258. /package/{templates-experimental/next → templates/next/workers}/templates/__dot__gitignore +0 -0
  259. /package/{templates-experimental/nuxt/templates/wrangler.json → templates/nuxt/workers/templates/wrangler.jsonc} +0 -0
  260. /package/templates/{hono/templates/wrangler.json → openapi/ts/wrangler.jsonc} +0 -0
  261. /package/templates/queues/js/{wrangler.json → wrangler.jsonc} +0 -0
  262. /package/templates/queues/ts/{wrangler.json → wrangler.jsonc} +0 -0
  263. /package/{templates-experimental/qwik → templates/qwik/pages}/snippets/getPlatformProxy.ts +0 -0
  264. /package/templates/{nuxt/templates/wrangler.json → qwik/pages/templates/wrangler.jsonc} +0 -0
  265. /package/templates/qwik/{snippets → workers/snippets}/getPlatformProxy.ts +0 -0
  266. /package/{templates-experimental/astro/templates/js → templates/qwik/workers/templates}/public/.assetsignore +0 -0
  267. /package/{templates-experimental/remix → templates/remix/pages}/templates/worker-configuration.d.ts +0 -0
  268. /package/templates/remix/{templates/wrangler.json → pages/templates/wrangler.jsonc} +0 -0
  269. /package/{templates-experimental/remix → templates/remix/workers}/templates/public/.assetsignore +0 -0
  270. /package/templates/scheduled/js/{wrangler.json → wrangler.jsonc} +0 -0
  271. /package/templates/scheduled/ts/{wrangler.json → wrangler.jsonc} +0 -0
  272. /package/templates/{qwik/templates/wrangler.json → solid/templates/wrangler.jsonc} +0 -0
  273. /package/templates/svelte/{templates/wrangler.json → pages/templates/wrangler.jsonc} +0 -0
  274. /package/{templates-experimental/svelte/templates/wrangler.json → templates/svelte/workers/templates/wrangler.jsonc} +0 -0
  275. /package/templates-experimental/solid/templates/{wrangler.json → wrangler.jsonc} +0 -0
@@ -0,0 +1,47 @@
1
+ <script setup>
2
+ defineProps({
3
+ msg: {
4
+ type: String,
5
+ required: true,
6
+ },
7
+ })
8
+ </script>
9
+
10
+ <template>
11
+ <div class="greetings">
12
+ <h1 class="green">{{ msg }}</h1>
13
+ <h3>
14
+ You’ve successfully created a project with
15
+ <a href="https://vite.dev/" target="_blank" rel="noopener">Vite</a> +
16
+ <a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a> +
17
+ <a href="https://developers.cloudflare.com/workers/" target="_blank" rel="noopener"
18
+ >Cloudflare Workers</a
19
+ >. What's next?
20
+ </h3>
21
+ </div>
22
+ </template>
23
+
24
+ <style scoped>
25
+ h1 {
26
+ font-weight: 500;
27
+ font-size: 2.6rem;
28
+ position: relative;
29
+ top: -10px;
30
+ }
31
+
32
+ h3 {
33
+ font-size: 1.2rem;
34
+ }
35
+
36
+ .greetings h1,
37
+ .greetings h3 {
38
+ text-align: center;
39
+ }
40
+
41
+ @media (min-width: 1024px) {
42
+ .greetings h1,
43
+ .greetings h3 {
44
+ text-align: left;
45
+ }
46
+ }
47
+ </style>
@@ -0,0 +1,21 @@
1
+ import { fileURLToPath, URL } from 'node:url'
2
+
3
+ import { defineConfig } from 'vite'
4
+ import vue from '@vitejs/plugin-vue'
5
+ import vueDevTools from 'vite-plugin-vue-devtools'
6
+
7
+ import { cloudflare } from "@cloudflare/vite-plugin"
8
+
9
+ // https://vite.dev/config/
10
+ export default defineConfig({
11
+ plugins: [
12
+ vue(),
13
+ vueDevTools(),
14
+ cloudflare()
15
+ ],
16
+ resolve: {
17
+ alias: {
18
+ '@': fileURLToPath(new URL('./src', import.meta.url))
19
+ },
20
+ },
21
+ })
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "<TBD>",
3
+ "compatibility_date": "<TBD>",
4
+ "main": "server/index.ts",
5
+ "assets": {
6
+ "not_found_handling": "single-page-application",
7
+ },
8
+ "observability": {
9
+ "enabled": true
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ export default {
2
+ fetch(request) {
3
+ const url = new URL(request.url);
4
+
5
+ if (url.pathname.startsWith("/api/")) {
6
+ return Response.json({
7
+ name: "Cloudflare",
8
+ });
9
+ }
10
+ return new Response(null, { status: 404 });
11
+ },
12
+ } satisfies ExportedHandler<Env>;
@@ -0,0 +1,107 @@
1
+ <script setup lang="ts">
2
+ import { RouterLink, RouterView } from 'vue-router'
3
+ import HelloWorld from './components/HelloWorld.vue'
4
+ import { ref } from 'vue'
5
+
6
+ const name = ref('Unknown')
7
+
8
+ const getName = async () => {
9
+ const res = await fetch('/api/')
10
+ const data = await res.json()
11
+ name.value = data.name
12
+ }
13
+ </script>
14
+
15
+ <template>
16
+ <header>
17
+ <img alt="Vue logo" class="logo" src="@/assets/logo.svg" width="125" height="125" />
18
+
19
+ <div class="wrapper">
20
+ <HelloWorld msg="You did it!" />
21
+ <button class="green" @click="getName" aria-label="get name">
22
+ Name from API is: {{ name }}
23
+ </button>
24
+ <p>Edit <code>server/index.ts</code> to change what the API gets</p>
25
+ <nav>
26
+ <RouterLink to="/">Home</RouterLink>
27
+ <RouterLink to="/about">About</RouterLink>
28
+ </nav>
29
+ </div>
30
+ </header>
31
+
32
+ <RouterView />
33
+ </template>
34
+
35
+ <style scoped>
36
+ header {
37
+ line-height: 1.5;
38
+ max-height: 100vh;
39
+ }
40
+
41
+ .logo {
42
+ display: block;
43
+ margin: 0 auto 2rem;
44
+ }
45
+
46
+ nav {
47
+ width: 100%;
48
+ font-size: 12px;
49
+ text-align: center;
50
+ margin-top: 2rem;
51
+ }
52
+
53
+ nav a.router-link-exact-active {
54
+ color: var(--color-text);
55
+ }
56
+
57
+ nav a.router-link-exact-active:hover {
58
+ background-color: transparent;
59
+ }
60
+
61
+ nav a {
62
+ display: inline-block;
63
+ padding: 0 1rem;
64
+ border-left: 1px solid var(--color-border);
65
+ }
66
+
67
+ nav a:first-of-type {
68
+ border: 0;
69
+ }
70
+
71
+ button {
72
+ background-color: hsla(160, 100%, 37%, 1);
73
+ color: var(--color-background);
74
+ border: 0;
75
+ padding: 0.5rem 1rem;
76
+ border-radius: 0.25rem;
77
+ cursor: pointer;
78
+ margin: 1rem 0 0.5rem 0;
79
+ }
80
+
81
+ @media (min-width: 1024px) {
82
+ header {
83
+ display: flex;
84
+ place-items: center;
85
+ padding-right: calc(var(--section-gap) / 2);
86
+ }
87
+
88
+ .logo {
89
+ margin: 0 2rem 0 0;
90
+ }
91
+
92
+ header .wrapper {
93
+ display: flex;
94
+ place-items: flex-start;
95
+ flex-wrap: wrap;
96
+ }
97
+
98
+ nav {
99
+ text-align: left;
100
+ margin-left: -1rem;
101
+ font-size: 1rem;
102
+
103
+ padding: 1rem 0;
104
+ margin-top: 1rem;
105
+ }
106
+ }
107
+ </style>
@@ -0,0 +1,44 @@
1
+ <script setup lang="ts">
2
+ defineProps<{
3
+ msg: string
4
+ }>()
5
+ </script>
6
+
7
+ <template>
8
+ <div class="greetings">
9
+ <h1 class="green">{{ msg }}</h1>
10
+ <h3>
11
+ You’ve successfully created a project with
12
+ <a href="https://vite.dev/" target="_blank" rel="noopener">Vite</a> +
13
+ <a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a> +
14
+ <a href="https://developers.cloudflare.com/workers/" target="_blank" rel="noopener"
15
+ >Cloudflare Workers</a
16
+ >. What's next?
17
+ </h3>
18
+ </div>
19
+ </template>
20
+
21
+ <style scoped>
22
+ h1 {
23
+ font-weight: 500;
24
+ font-size: 2.6rem;
25
+ position: relative;
26
+ top: -10px;
27
+ }
28
+
29
+ h3 {
30
+ font-size: 1.2rem;
31
+ }
32
+
33
+ .greetings h1,
34
+ .greetings h3 {
35
+ text-align: center;
36
+ }
37
+
38
+ @media (min-width: 1024px) {
39
+ .greetings h1,
40
+ .greetings h3 {
41
+ text-align: left;
42
+ }
43
+ }
44
+ </style>
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig.node.json",
3
+ "compilerOptions": {
4
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.worker.tsbuildinfo",
5
+ "types": [ "./worker-configuration.d.ts","vite/client"],
6
+ },
7
+ "include": ["server"],
8
+ }
@@ -0,0 +1,21 @@
1
+ import { fileURLToPath, URL } from 'node:url'
2
+
3
+ import { defineConfig } from 'vite'
4
+ import vue from '@vitejs/plugin-vue'
5
+ import vueDevTools from 'vite-plugin-vue-devtools'
6
+
7
+ import { cloudflare } from "@cloudflare/vite-plugin"
8
+
9
+ // https://vite.dev/config/
10
+ export default defineConfig({
11
+ plugins: [
12
+ vue(),
13
+ vueDevTools(),
14
+ cloudflare()
15
+ ],
16
+ resolve: {
17
+ alias: {
18
+ '@': fileURLToPath(new URL('./src', import.meta.url))
19
+ },
20
+ },
21
+ })
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "<TBD>",
3
+ "compatibility_date": "<TBD>",
4
+ "main": "server/index.ts",
5
+ "assets": {
6
+ "not_found_handling": "single-page-application",
7
+ },
8
+ "observability": {
9
+ "enabled": true
10
+ }
11
+ }
@@ -84,9 +84,9 @@ const config: TemplateConfig = {
84
84
  scripts: {
85
85
  preview: `${npm} run build && npx wrangler dev`,
86
86
  deploy: `${npm} run build && wrangler deploy`,
87
+ "cf-typegen": `wrangler types`,
87
88
  },
88
89
  }),
89
- compatibilityFlags: ["nodejs_compat"],
90
90
  devScript: "dev",
91
91
  deployScript: "deploy",
92
92
  previewScript: "preview",
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,5 +0,0 @@
1
- // Generated by Wrangler by running `wrangler types`
2
-
3
- interface Env {
4
- MY_DURABLE_OBJECT: DurableObjectNamespace<import("./src/index").MyDurableObject>;
5
- }
@@ -1 +0,0 @@
1
- new Hono<{ Bindings: CloudflareBindings }>()
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface CloudflareBindings {
4
- }
@@ -1,5 +0,0 @@
1
- // Generated by Wrangler
2
- // by running `wrangler types --env-interface CloudflareEnv env.d.ts`
3
-
4
- interface CloudflareEnv {
5
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,5 +0,0 @@
1
- {
2
- "name": "<TBD>",
3
- "main": "src/index.js",
4
- "compatibility_date": "<TBD>"
5
- }
@@ -1,5 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- MY_QUEUE: Queue;
5
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,8 +0,0 @@
1
- {
2
- "name": "<TBD>",
3
- "compatibility_date": "<TBD>",
4
- "compatibility_flags": [
5
- "nodejs_compat"
6
- ],
7
- "pages_build_output_dir": "./dist"
8
- }
@@ -1,4 +0,0 @@
1
- _worker.js
2
- _routes.json
3
- _headers
4
- _redirects
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,5 +0,0 @@
1
- // Generated by Wrangler by running `wrangler types`
2
-
3
- interface Env {
4
- MY_DURABLE_OBJECT: DurableObjectNamespace<import("./src/index").MyDurableObject>;
5
- }
@@ -1,22 +0,0 @@
1
- export default {
2
- configVersion: 1,
3
- id: "hello-world-with-assets",
4
- path: "templates-experimental/hello-world-with-assets",
5
- displayName: "Hello World - Worker with Assets",
6
- description:
7
- "Get started with a basic Worker that also serves static assets, in the language of your choice",
8
- platform: "workers",
9
- copyFiles: {
10
- variants: {
11
- js: {
12
- path: "./js",
13
- },
14
- ts: {
15
- path: "./ts",
16
- },
17
- python: {
18
- path: "./py",
19
- },
20
- },
21
- },
22
- };
@@ -1,9 +0,0 @@
1
- from js import Response, URL, crypto
2
-
3
- async def on_fetch(request, env):
4
- url = URL.new(request.url)
5
- if url.pathname == '/message':
6
- return Response.new('Hello, World!')
7
- if url.pathname == '/random':
8
- return Response.new(crypto.randomUUID())
9
- return Response.new('Not Found', {'status': 404})
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "../tsconfig.json",
3
- "compilerOptions": {
4
- "types": ["@cloudflare/workers-types/experimental", "@cloudflare/vitest-pool-workers"]
5
- },
6
- "include": ["./**/*.ts", "../src/env.d.ts"],
7
- "exclude": []
8
- }
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface CloudflareBindings {
4
- }
@@ -1,84 +0,0 @@
1
- import { brandColor, dim } from "@cloudflare/cli/colors";
2
- import { spinner } from "@cloudflare/cli/interactive";
3
- import { runFrameworkGenerator } from "frameworks/index";
4
- import { readFile, writeFile } from "helpers/files";
5
- import { installPackages } from "helpers/packages";
6
- import type { TemplateConfig } from "../../src/templates";
7
- import type { C3Context } from "types";
8
-
9
- const generate = async (ctx: C3Context) => {
10
- await runFrameworkGenerator(ctx, [
11
- ctx.project.name,
12
- "--ts",
13
- "--tailwind",
14
- "--eslint",
15
- "--app",
16
- "--import-alias",
17
- "@/*",
18
- "--src-dir",
19
- ]);
20
- };
21
-
22
- const configure = async () => {
23
- const packages = [
24
- "@opennextjs/cloudflare@0.4.x",
25
- "@cloudflare/workers-types",
26
- ];
27
- await installPackages(packages, {
28
- dev: true,
29
- startText: "Adding the Cloudflare adapter",
30
- doneText: `${brandColor(`installed`)} ${dim(packages.join(", "))}`,
31
- });
32
-
33
- updateNextConfig();
34
- };
35
-
36
- const updateNextConfig = () => {
37
- const s = spinner();
38
-
39
- const configFile = "next.config.mjs";
40
- s.start(`Updating \`${configFile}\``);
41
-
42
- const configContent = readFile(configFile);
43
-
44
- const updatedConfigFile =
45
- configContent +
46
- `
47
- // added by create cloudflare to enable calling \`getCloudflareContext()\` in \`next dev\`
48
- import { initOpenNextCloudflareForDev } from '@opennextjs/cloudflare';
49
- initOpenNextCloudflareForDev();
50
- `.replace(/\n\t*/g, "\n");
51
-
52
- writeFile(configFile, updatedConfigFile);
53
-
54
- s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
55
- };
56
-
57
- export default {
58
- configVersion: 1,
59
- id: "next",
60
- frameworkCli: "create-next-app",
61
- // TODO: here we need to specify a version of create-next-app which is different from the
62
- // standard one used in the stable Next.js template, that's because our open-next adapter
63
- // is not yet fully ready for Next.js 15, once it is we should remove the following
64
- frameworkCliPinnedVersion: "^14.2.23",
65
- platform: "workers",
66
- displayName: "Next.js (using Node.js compat + Workers Assets)",
67
- path: "templates-experimental/next",
68
- copyFiles: {
69
- path: "./templates",
70
- },
71
- generate,
72
- configure,
73
- transformPackageJson: async () => ({
74
- scripts: {
75
- deploy: `opennextjs-cloudflare && wrangler deploy`,
76
- preview: `opennextjs-cloudflare && wrangler dev`,
77
- "cf-typegen": `wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts`,
78
- },
79
- }),
80
- devScript: "dev",
81
- previewScript: "preview",
82
- deployScript: "deploy",
83
- compatibilityFlags: ["nodejs_compat"],
84
- } as TemplateConfig;
@@ -1,5 +0,0 @@
1
- // Generated by Wrangler
2
- // by running `wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts`
3
-
4
- interface CloudflareEnv {
5
- }
@@ -1,28 +0,0 @@
1
- import cache from "@opennextjs/cloudflare/kvCache";
2
-
3
- const config = {
4
- default: {
5
- override: {
6
- wrapper: "cloudflare-node",
7
- converter: "edge",
8
- incrementalCache: async () => cache,
9
- tagCache: "dummy",
10
- queue: "dummy",
11
- },
12
- },
13
-
14
- middleware: {
15
- external: true,
16
- override: {
17
- wrapper: "cloudflare-edge",
18
- converter: "edge",
19
- proxyExternalRequest: "fetch",
20
- },
21
- },
22
-
23
- dangerous: {
24
- enableCacheInterception: false,
25
- },
26
- };
27
-
28
- export default config;
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- _worker.js
2
- _routes.json
3
- _headers
4
- _redirects
@@ -1,4 +0,0 @@
1
- // Generated by Wrangler
2
- // After adding bindings to `wrangler.json`, regenerate this interface via `npm run cf-typegen`
3
- interface Env {
4
- }
@@ -1,4 +0,0 @@
1
- _worker.js
2
- _routes.json
3
- _headers
4
- _redirects
@@ -1,10 +0,0 @@
1
- {
2
- "name": "<TBD>",
3
- "compatibility_date": "<TBD>",
4
- "assets": {
5
- "directory": "./dist"
6
- },
7
- "observability": {
8
- "enabled": true
9
- }
10
- }