@farm.js/create-app 0.1.0-beta.29 → 0.1.0-beta.31

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 (31) hide show
  1. package/bin/create-farm-app.js +4 -1
  2. package/dist/index.js +22 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +22 -2
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +1 -1
  7. package/templates/_renderers/preact/farm.config.ts +12 -0
  8. package/templates/_renderers/preact/package.json +27 -0
  9. package/templates/_renderers/preact/src/app/api/greeting/route.ts +15 -0
  10. package/templates/_renderers/preact/src/app/layout.tsx +16 -0
  11. package/templates/_renderers/preact/src/app/page.tsx +66 -0
  12. package/templates/_renderers/preact/src/app/preact.css +26 -0
  13. package/templates/_renderers/preact/src/components/resource-links.tsx +71 -0
  14. package/templates/_renderers/preact/src/lib/api-client.ts +4 -0
  15. package/templates/_renderers/preact/src/lib/api.generated.ts +7 -0
  16. package/templates/_renderers/preact/tsconfig.json +25 -0
  17. package/templates/_renderers/solid/package.json +2 -2
  18. package/templates/_renderers/svelte/farm.config.ts +9 -0
  19. package/templates/_renderers/svelte/package.json +28 -0
  20. package/templates/_renderers/svelte/src/app/api/greeting/route.ts +15 -0
  21. package/templates/_renderers/svelte/src/app/layout.svelte +21 -0
  22. package/templates/_renderers/svelte/src/app/page.svelte +64 -0
  23. package/templates/_renderers/svelte/src/app/svelte.css +26 -0
  24. package/templates/_renderers/svelte/src/components/resource-links.svelte +31 -0
  25. package/templates/_renderers/svelte/src/lib/api-client.ts +4 -0
  26. package/templates/_renderers/svelte/src/lib/api.generated.ts +7 -0
  27. package/templates/_renderers/svelte/tsconfig.json +23 -0
  28. package/templates/_renderers/vue/package.json +2 -2
  29. package/templates/auth/package.json +3 -3
  30. package/templates/basic/package.json +2 -2
  31. package/templates/better-auth/package.json +3 -3
package/dist/index.mjs CHANGED
@@ -2716,8 +2716,8 @@ async function createApp(projectName, options = {}) {
2716
2716
  process.exit(1);
2717
2717
  }
2718
2718
  let renderer = options.renderer?.toLowerCase();
2719
- if (renderer && renderer !== "react" && renderer !== "solid" && renderer !== "vue") {
2720
- logger.error(`Unknown renderer "${options.renderer}". Available: "react", "solid", "vue".`);
2719
+ if (renderer && renderer !== "react" && renderer !== "preact" && renderer !== "solid" && renderer !== "vue" && renderer !== "svelte") {
2720
+ logger.error(`Unknown renderer "${options.renderer}". Available: "react", "preact", "solid", "vue", "svelte".`);
2721
2721
  process.exit(1);
2722
2722
  }
2723
2723
  if (!renderer && !options.template && template === "basic") {
@@ -2731,6 +2731,11 @@ async function createApp(projectName, options = {}) {
2731
2731
  value: "react",
2732
2732
  description: "The default FARMJS renderer"
2733
2733
  },
2734
+ {
2735
+ title: "Preact",
2736
+ value: "preact",
2737
+ description: "Small React-compatible runtime with SSR and hydration"
2738
+ },
2734
2739
  {
2735
2740
  title: "Solid",
2736
2741
  value: "solid",
@@ -2740,6 +2745,11 @@ async function createApp(projectName, options = {}) {
2740
2745
  title: "Vue",
2741
2746
  value: "vue",
2742
2747
  description: "Vue SFCs with server rendering and hydration"
2748
+ },
2749
+ {
2750
+ title: "Svelte",
2751
+ value: "svelte",
2752
+ description: "Svelte components with server rendering and hydration"
2743
2753
  }
2744
2754
  ],
2745
2755
  initial: 0
@@ -2814,6 +2824,7 @@ async function copyTemplate(template, projectPath, useTypeScript, renderer) {
2814
2824
  if (await dirExists(tsTemplatePath)) await copyDir(tsTemplatePath, projectPath);
2815
2825
  }
2816
2826
  if (renderer === "solid") await copyDir(path.join(__dirname, "..", "templates", "_renderers", "solid"), projectPath);
2827
+ if (renderer === "preact") await copyDir(path.join(__dirname, "..", "templates", "_renderers", "preact"), projectPath);
2817
2828
  if (renderer === "vue") {
2818
2829
  const rendererTemplatePath = path.join(__dirname, "..", "templates", "_renderers", "vue");
2819
2830
  await Promise.all([
@@ -2823,6 +2834,15 @@ async function copyTemplate(template, projectPath, useTypeScript, renderer) {
2823
2834
  ]);
2824
2835
  await copyDir(rendererTemplatePath, projectPath);
2825
2836
  }
2837
+ if (renderer === "svelte") {
2838
+ const rendererTemplatePath = path.join(__dirname, "..", "templates", "_renderers", "svelte");
2839
+ await Promise.all([
2840
+ fs.rm(path.join(projectPath, "src", "app", "page.tsx"), { force: true }),
2841
+ fs.rm(path.join(projectPath, "src", "app", "layout.tsx"), { force: true }),
2842
+ fs.rm(path.join(projectPath, "src", "components", "resource-links.tsx"), { force: true })
2843
+ ]);
2844
+ await copyDir(rendererTemplatePath, projectPath);
2845
+ }
2826
2846
  if (!details?.integration) return;
2827
2847
  const result = await addFarmIntegration({
2828
2848
  root: projectPath,