@farm.js/create-app 0.1.0-beta.9 → 0.1.0-beta.91

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 (174) hide show
  1. package/README.md +39 -6
  2. package/bin/create-farm-app.js +8 -3
  3. package/dist/index.js +3291 -27
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +3287 -25
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/utils.js +9 -6
  8. package/dist/utils.js.map +1 -1
  9. package/dist/utils.mjs +9 -6
  10. package/dist/utils.mjs.map +1 -1
  11. package/package.json +5 -2
  12. package/templates/_integrations/better-auth/preact/farm.config.ts +20 -0
  13. package/templates/_integrations/better-auth/preact/src/app/dashboard/page.tsx +73 -0
  14. package/templates/_integrations/better-auth/preact/src/app/layout.tsx +14 -0
  15. package/templates/_integrations/better-auth/preact/src/app/page.tsx +36 -0
  16. package/templates/_integrations/better-auth/preact/src/app/sign-in/page.tsx +10 -0
  17. package/templates/_integrations/better-auth/preact/src/app/sign-up/page.tsx +10 -0
  18. package/templates/_integrations/better-auth/preact/src/components/auth-form.tsx +92 -0
  19. package/templates/_integrations/better-auth/preact/src/components/auth-shell.tsx +16 -0
  20. package/templates/_integrations/better-auth/preact/src/lib/auth-client.ts +5 -0
  21. package/templates/_integrations/better-auth/solid/farm.config.ts +20 -0
  22. package/templates/_integrations/better-auth/solid/src/app/dashboard/page.tsx +67 -0
  23. package/templates/_integrations/better-auth/solid/src/app/layout.tsx +14 -0
  24. package/templates/_integrations/better-auth/solid/src/app/page.tsx +36 -0
  25. package/templates/_integrations/better-auth/solid/src/app/sign-in/page.tsx +10 -0
  26. package/templates/_integrations/better-auth/solid/src/app/sign-up/page.tsx +10 -0
  27. package/templates/_integrations/better-auth/solid/src/components/auth-form.tsx +91 -0
  28. package/templates/_integrations/better-auth/solid/src/components/auth-shell.tsx +16 -0
  29. package/templates/_integrations/better-auth/solid/src/lib/auth-client.ts +5 -0
  30. package/templates/_integrations/better-auth/svelte/farm.config.ts +20 -0
  31. package/templates/_integrations/better-auth/svelte/src/app/dashboard/page.svelte +62 -0
  32. package/templates/_integrations/better-auth/svelte/src/app/layout.svelte +20 -0
  33. package/templates/_integrations/better-auth/svelte/src/app/page.svelte +32 -0
  34. package/templates/_integrations/better-auth/svelte/src/app/sign-in/page.svelte +10 -0
  35. package/templates/_integrations/better-auth/svelte/src/app/sign-up/page.svelte +10 -0
  36. package/templates/_integrations/better-auth/svelte/src/components/auth-form.svelte +83 -0
  37. package/templates/_integrations/better-auth/svelte/src/components/auth-shell.svelte +16 -0
  38. package/templates/_integrations/better-auth/svelte/src/components/resource-links.svelte +47 -0
  39. package/templates/_integrations/better-auth/svelte/src/lib/auth-client.ts +5 -0
  40. package/templates/_integrations/better-auth/vue/farm.config.ts +20 -0
  41. package/templates/_integrations/better-auth/vue/src/app/dashboard/page.vue +62 -0
  42. package/templates/_integrations/better-auth/vue/src/app/layout.vue +20 -0
  43. package/templates/_integrations/better-auth/vue/src/app/page.vue +34 -0
  44. package/templates/_integrations/better-auth/vue/src/app/sign-in/page.vue +12 -0
  45. package/templates/_integrations/better-auth/vue/src/app/sign-up/page.vue +12 -0
  46. package/templates/_integrations/better-auth/vue/src/components/auth-form.vue +86 -0
  47. package/templates/_integrations/better-auth/vue/src/components/auth-shell.vue +15 -0
  48. package/templates/_integrations/better-auth/vue/src/components/resource-links.vue +43 -0
  49. package/templates/_integrations/better-auth/vue/src/lib/auth-client.ts +5 -0
  50. package/templates/_renderers/preact/farm.config.ts +12 -0
  51. package/templates/_renderers/preact/package.json +26 -0
  52. package/templates/_renderers/preact/src/app/api/greeting/route.ts +15 -0
  53. package/templates/_renderers/preact/src/app/layout.tsx +16 -0
  54. package/templates/_renderers/preact/src/app/page.tsx +66 -0
  55. package/templates/_renderers/preact/src/app/preact.css +26 -0
  56. package/templates/_renderers/preact/src/components/resource-links.tsx +71 -0
  57. package/templates/_renderers/preact/src/lib/api-client.ts +4 -0
  58. package/templates/_renderers/preact/src/lib/api.generated.ts +7 -0
  59. package/templates/_renderers/preact/tsconfig.json +25 -0
  60. package/templates/_renderers/solid/farm.config.ts +12 -0
  61. package/templates/_renderers/solid/package.json +25 -0
  62. package/templates/_renderers/solid/src/app/api/greeting/route.ts +15 -0
  63. package/templates/_renderers/solid/src/app/layout.tsx +15 -0
  64. package/templates/_renderers/solid/src/app/page.tsx +56 -0
  65. package/templates/_renderers/solid/src/app/solid.css +22 -0
  66. package/templates/_renderers/solid/src/components/resource-links.tsx +71 -0
  67. package/templates/_renderers/solid/src/lib/api-client.ts +4 -0
  68. package/templates/_renderers/solid/src/lib/api.generated.ts +7 -0
  69. package/templates/_renderers/solid/tsconfig.json +25 -0
  70. package/templates/_renderers/svelte/farm.config.ts +9 -0
  71. package/templates/_renderers/svelte/package.json +28 -0
  72. package/templates/_renderers/svelte/src/app/api/greeting/route.ts +15 -0
  73. package/templates/_renderers/svelte/src/app/layout.svelte +21 -0
  74. package/templates/_renderers/svelte/src/app/page.svelte +64 -0
  75. package/templates/_renderers/svelte/src/app/svelte.css +26 -0
  76. package/templates/_renderers/svelte/src/components/resource-links.svelte +31 -0
  77. package/templates/_renderers/svelte/src/lib/api-client.ts +4 -0
  78. package/templates/_renderers/svelte/src/lib/api.generated.ts +7 -0
  79. package/templates/_renderers/svelte/tsconfig.json +23 -0
  80. package/templates/_renderers/vue/farm.config.ts +12 -0
  81. package/templates/_renderers/vue/package.json +26 -0
  82. package/templates/_renderers/vue/src/app/api/greeting/route.ts +15 -0
  83. package/templates/_renderers/vue/src/app/layout.vue +21 -0
  84. package/templates/_renderers/vue/src/app/page.vue +69 -0
  85. package/templates/_renderers/vue/src/app/vue.css +26 -0
  86. package/templates/_renderers/vue/src/components/resource-links.vue +33 -0
  87. package/templates/_renderers/vue/src/env.d.ts +7 -0
  88. package/templates/_renderers/vue/src/lib/api-client.ts +4 -0
  89. package/templates/_renderers/vue/src/lib/api.generated.ts +7 -0
  90. package/templates/_renderers/vue/tsconfig.json +23 -0
  91. package/templates/auth/.env.example +6 -0
  92. package/templates/auth/README.md +95 -0
  93. package/templates/auth/docs.config.ts +33 -0
  94. package/templates/auth/docs.json +36 -0
  95. package/templates/auth/farm.config.ts +20 -0
  96. package/templates/auth/gitignore +10 -0
  97. package/templates/auth/package.json +37 -0
  98. package/templates/auth/pnpm-workspace.yaml +13 -0
  99. package/templates/auth/src/app/dashboard/middleware.ts +13 -0
  100. package/templates/auth/src/app/dashboard/page.tsx +140 -0
  101. package/templates/auth/src/app/docs/page.md +29 -0
  102. package/templates/auth/src/app/error.tsx +25 -0
  103. package/templates/auth/src/app/globals.css +1064 -0
  104. package/templates/auth/src/app/layout.tsx +11 -0
  105. package/templates/auth/src/app/loading.tsx +15 -0
  106. package/templates/auth/src/app/not-found.tsx +26 -0
  107. package/templates/auth/src/app/page.tsx +46 -0
  108. package/templates/auth/src/app/sign-in/page.tsx +16 -0
  109. package/templates/auth/src/app/sign-up/page.tsx +16 -0
  110. package/templates/auth/src/components/auth-form.tsx +120 -0
  111. package/templates/auth/src/components/auth-shell.tsx +21 -0
  112. package/templates/auth/src/components/resource-links.tsx +78 -0
  113. package/templates/auth/src/components/sign-out-button.tsx +45 -0
  114. package/templates/auth/src/components/site-header.tsx +46 -0
  115. package/templates/auth/tsconfig.json +20 -0
  116. package/templates/basic/docs.config.ts +33 -0
  117. package/templates/basic/docs.json +36 -0
  118. package/templates/basic/farm.config.ts +9 -0
  119. package/templates/basic/package.json +10 -3
  120. package/templates/basic/pnpm-workspace.yaml +8 -0
  121. package/templates/basic/src/app/docs/page.md +29 -0
  122. package/templates/basic/src/app/globals.css +241 -0
  123. package/templates/basic/src/app/layout.tsx +3 -5
  124. package/templates/basic/src/app/page.tsx +20 -61
  125. package/templates/basic/src/components/resource-links.tsx +78 -0
  126. package/templates/basic/tsconfig.json +4 -0
  127. package/templates/better-auth/.env.example +3 -0
  128. package/templates/better-auth/README.md +95 -0
  129. package/templates/better-auth/docs.config.ts +33 -0
  130. package/templates/better-auth/docs.json +36 -0
  131. package/templates/better-auth/farm.config.ts +46 -0
  132. package/templates/better-auth/gitignore +10 -0
  133. package/templates/better-auth/package.json +40 -0
  134. package/templates/better-auth/pnpm-workspace.yaml +13 -0
  135. package/templates/better-auth/src/app/dashboard/middleware.ts +15 -0
  136. package/templates/better-auth/src/app/dashboard/page.tsx +188 -0
  137. package/templates/better-auth/src/app/docs/page.md +29 -0
  138. package/templates/better-auth/src/app/error.tsx +25 -0
  139. package/templates/better-auth/src/app/globals.css +1064 -0
  140. package/templates/better-auth/src/app/layout.tsx +11 -0
  141. package/templates/better-auth/src/app/loading.tsx +15 -0
  142. package/templates/better-auth/src/app/not-found.tsx +26 -0
  143. package/templates/better-auth/src/app/page.tsx +50 -0
  144. package/templates/better-auth/src/app/sign-in/page.tsx +16 -0
  145. package/templates/better-auth/src/app/sign-up/page.tsx +16 -0
  146. package/templates/better-auth/src/components/auth-form.tsx +120 -0
  147. package/templates/better-auth/src/components/auth-shell.tsx +21 -0
  148. package/templates/better-auth/src/components/resource-links.tsx +78 -0
  149. package/templates/better-auth/src/components/sign-out-button.tsx +45 -0
  150. package/templates/better-auth/src/components/site-header.tsx +46 -0
  151. package/templates/better-auth/src/lib/auth-client.ts +5 -0
  152. package/templates/better-auth/src/lib/auth.ts +46 -0
  153. package/templates/better-auth/src/lib/migrate-auth.ts +10 -0
  154. package/templates/better-auth/src/lib/session.ts +8 -0
  155. package/templates/better-auth/tsconfig.json +20 -0
  156. package/templates/react-compiler/README.md +62 -0
  157. package/templates/react-compiler/docs.config.ts +33 -0
  158. package/templates/react-compiler/docs.json +36 -0
  159. package/templates/react-compiler/farm.config.ts +29 -0
  160. package/templates/react-compiler/gitignore +23 -0
  161. package/templates/react-compiler/package.json +37 -0
  162. package/templates/react-compiler/pnpm-workspace.yaml +8 -0
  163. package/templates/react-compiler/public/favicon.svg +5 -0
  164. package/templates/react-compiler/scripts/verify-experiment.mjs +113 -0
  165. package/templates/react-compiler/src/app/docs/page.md +29 -0
  166. package/templates/react-compiler/src/app/globals.css +470 -0
  167. package/templates/react-compiler/src/app/layout.tsx +22 -0
  168. package/templates/react-compiler/src/app/page.tsx +47 -0
  169. package/templates/react-compiler/src/components/compiler-comparison.tsx +93 -0
  170. package/templates/react-compiler/src/components/resource-links.tsx +78 -0
  171. package/templates/react-compiler/src/farm.d.ts +74 -0
  172. package/templates/react-compiler/src/lib/api.generated.ts +10 -0
  173. package/templates/react-compiler/tsconfig.json +24 -0
  174. package/templates/basic/src/app/about/page.tsx +0 -32
package/README.md CHANGED
@@ -1,16 +1,49 @@
1
1
  # @farm.js/create-app
2
2
 
3
- Create a new Farm.js application
3
+ Create a new FARMJS application
4
4
 
5
- Farm.js is currently in beta.
5
+ FARMJS is currently in beta.
6
6
 
7
7
  ```bash
8
- pnpm create @farm.js/app my-app
8
+ pnpm --config.minimumReleaseAge=0 create @farm.js/app@beta my-app --template basic
9
9
  cd my-app
10
10
  pnpm dev
11
11
  ```
12
12
 
13
- The scaffolder installs React, React DOM, Farm.js, TypeScript, and the other starter dependencies
14
- automatically. Pass `--skip-install` when you only want to generate the project files.
13
+ The scaffolder installs FARMJS, React by default, TypeScript, and the other starter dependencies
14
+ automatically. The command explicitly selects the minimal Basic starter. Use `pnpm create`, not
15
+ `pnpm add`; pnpm resolves this initializer command to the published `@farm.js/create-app` package.
16
+ The command scopes `minimumReleaseAge=0` to the initializer so pnpm 11 can resolve a beta published
17
+ within the last 24 hours. Pass `--skip-install` when you only want to generate the project files.
15
18
 
16
- See the [Farm.js repository](https://github.com/farming-labs/farm.js) for documentation, examples, and support.
19
+ Choose React, Preact, Solid, Vue, or Svelte for the Basic and Better Auth starters:
20
+
21
+ ```bash
22
+ pnpm --config.minimumReleaseAge=0 create @farm.js/app@beta my-app --template better-auth --renderer solid
23
+ ```
24
+
25
+ React remains the default when `--renderer` is omitted. The interactive Basic and Better Auth
26
+ flows also offer a renderer chooser.
27
+
28
+ List every starter:
29
+
30
+ ```bash
31
+ pnpm --config.minimumReleaseAge=0 create @farm.js/app@beta --list-templates
32
+ ```
33
+
34
+ Available templates:
35
+
36
+ - Core: `basic`, `auth`, `better-auth`
37
+ - Auth: `auth0`, `authjs`, `clerk`, `supabase`, `workos`
38
+ - Billing: `autumn`, `polar`, `stripe`
39
+ - Product integrations: `ai`, `jobs-inngest`, `jobs-trigger`, `resend`, `unkey`
40
+
41
+ Integration templates include provider wiring, a local UI feature, `.env.example`, a minimal dark
42
+ home page, and setup documentation. Better Auth has renderer-native UI for all five renderers;
43
+ other integration templates currently use React. For example:
44
+
45
+ ```bash
46
+ pnpm --config.minimumReleaseAge=0 create @farm.js/app@beta stripe-app --template stripe
47
+ ```
48
+
49
+ See the [FARMJS repository](https://github.com/farming-labs/farm.js) for documentation, examples, and support.
@@ -6,15 +6,20 @@ const { version } = require("../package.json");
6
6
 
7
7
  program
8
8
  .name("create-farm-app")
9
- .description("Create a new Farm.js application")
9
+ .description("Create a new FARMJS application")
10
10
  .version(version)
11
11
  .argument("[project-name]", "Name of the project")
12
12
  .option("-t, --template <template>", "Template to use")
13
- .option("--typescript", "Use TypeScript template")
13
+ .option(
14
+ "-r, --renderer <renderer>",
15
+ "Rendering library to use (react, preact, solid, vue, or svelte)",
16
+ )
17
+ .option("--list-templates", "List all available starter templates")
18
+ .option("--typescript", "TypeScript is included by default (deprecated)")
14
19
  .option("--skip-install", "Skip installing dependencies")
15
20
  .action(async (projectName, options) => {
16
21
  try {
17
- await createApp(projectName, options);
22
+ await createApp(projectName, { ...options, telemetryPackageVersion: version });
18
23
  } catch (error) {
19
24
  console.error("Failed to create app:", error);
20
25
  process.exit(1);