bosia 0.2.3 → 0.3.1

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 (86) hide show
  1. package/README.md +39 -39
  2. package/package.json +56 -54
  3. package/src/ambient.d.ts +31 -0
  4. package/src/cli/add.ts +120 -114
  5. package/src/cli/build.ts +10 -10
  6. package/src/cli/create.ts +142 -137
  7. package/src/cli/dev.ts +7 -9
  8. package/src/cli/feat.ts +266 -258
  9. package/src/cli/index.ts +51 -42
  10. package/src/cli/registry.ts +136 -115
  11. package/src/cli/start.ts +17 -17
  12. package/src/cli/test.ts +25 -0
  13. package/src/core/build.ts +72 -56
  14. package/src/core/client/App.svelte +177 -156
  15. package/src/core/client/appState.svelte.ts +33 -31
  16. package/src/core/client/enhance.ts +83 -78
  17. package/src/core/client/hydrate.ts +95 -81
  18. package/src/core/client/prefetch.ts +101 -94
  19. package/src/core/client/router.svelte.ts +64 -51
  20. package/src/core/cookies.ts +70 -66
  21. package/src/core/cors.ts +44 -35
  22. package/src/core/csrf.ts +38 -38
  23. package/src/core/dedup.ts +17 -17
  24. package/src/core/dev.ts +196 -168
  25. package/src/core/env.ts +160 -148
  26. package/src/core/envCodegen.ts +73 -73
  27. package/src/core/errors.ts +48 -49
  28. package/src/core/hooks.ts +50 -50
  29. package/src/core/html.ts +184 -145
  30. package/src/core/matcher.ts +130 -121
  31. package/src/core/paths.ts +8 -10
  32. package/src/core/plugin.ts +113 -107
  33. package/src/core/prerender.ts +191 -122
  34. package/src/core/renderer.ts +359 -286
  35. package/src/core/routeFile.ts +140 -127
  36. package/src/core/routeTypes.ts +144 -83
  37. package/src/core/scanner.ts +125 -95
  38. package/src/core/server.ts +538 -424
  39. package/src/core/types.ts +25 -20
  40. package/src/lib/index.ts +8 -8
  41. package/src/lib/utils.ts +44 -30
  42. package/templates/default/.prettierignore +5 -0
  43. package/templates/default/.prettierrc.json +9 -0
  44. package/templates/default/README.md +5 -5
  45. package/templates/default/package.json +22 -18
  46. package/templates/default/src/app.css +80 -80
  47. package/templates/default/src/app.d.ts +3 -3
  48. package/templates/default/src/routes/+error.svelte +7 -10
  49. package/templates/default/src/routes/+layout.svelte +2 -2
  50. package/templates/default/src/routes/+page.svelte +30 -32
  51. package/templates/default/src/routes/about/+page.svelte +3 -3
  52. package/templates/default/tsconfig.json +20 -20
  53. package/templates/demo/.prettierignore +5 -0
  54. package/templates/demo/.prettierrc.json +9 -0
  55. package/templates/demo/README.md +9 -9
  56. package/templates/demo/package.json +22 -17
  57. package/templates/demo/src/app.css +80 -80
  58. package/templates/demo/src/app.d.ts +3 -3
  59. package/templates/demo/src/hooks.server.ts +9 -9
  60. package/templates/demo/src/routes/(public)/+layout.svelte +45 -23
  61. package/templates/demo/src/routes/(public)/+page.svelte +96 -67
  62. package/templates/demo/src/routes/(public)/about/+page.svelte +13 -25
  63. package/templates/demo/src/routes/(public)/all/[...catchall]/+page.svelte +24 -28
  64. package/templates/demo/src/routes/(public)/blog/+page.svelte +55 -46
  65. package/templates/demo/src/routes/(public)/blog/[slug]/+page.server.ts +36 -38
  66. package/templates/demo/src/routes/(public)/blog/[slug]/+page.svelte +60 -42
  67. package/templates/demo/src/routes/+error.svelte +10 -7
  68. package/templates/demo/src/routes/+layout.server.ts +4 -4
  69. package/templates/demo/src/routes/+layout.svelte +2 -2
  70. package/templates/demo/src/routes/actions-test/+page.server.ts +16 -16
  71. package/templates/demo/src/routes/actions-test/+page.svelte +49 -49
  72. package/templates/demo/src/routes/api/hello/+server.ts +25 -25
  73. package/templates/demo/tsconfig.json +20 -20
  74. package/templates/todo/.prettierignore +5 -0
  75. package/templates/todo/.prettierrc.json +9 -0
  76. package/templates/todo/README.md +9 -9
  77. package/templates/todo/package.json +22 -17
  78. package/templates/todo/src/app.css +80 -80
  79. package/templates/todo/src/app.d.ts +7 -7
  80. package/templates/todo/src/hooks.server.ts +9 -9
  81. package/templates/todo/src/routes/+error.svelte +10 -7
  82. package/templates/todo/src/routes/+layout.server.ts +4 -4
  83. package/templates/todo/src/routes/+layout.svelte +2 -2
  84. package/templates/todo/src/routes/+page.svelte +44 -44
  85. package/templates/todo/template.json +1 -1
  86. package/templates/todo/tsconfig.json +20 -20
@@ -1,55 +1,55 @@
1
1
  <script lang="ts">
2
- import type { LayoutData } from './$types';
3
- let { data }: { data: LayoutData } = $props();
2
+ import type { LayoutData } from "./$types";
3
+ let { data }: { data: LayoutData } = $props();
4
4
  </script>
5
5
 
6
6
  <svelte:head>
7
- <title>{data.appName}</title>
7
+ <title>{data.appName}</title>
8
8
  </svelte:head>
9
9
 
10
10
  <div class="flex min-h-screen flex-col bg-background text-foreground">
11
- <div class="flex flex-1 flex-col items-center justify-center gap-8 px-4">
12
- <div class="text-center">
13
- <img src="/favicon.svg" alt="" class="mx-auto mb-6 size-16" />
14
- <h1 class="text-4xl font-bold tracking-tight">{data.appName}</h1>
15
- <p class="mt-2 text-lg text-muted-foreground">
16
- Fullstack app powered by Bosia + Drizzle ORM + PostgreSQL
17
- </p>
18
- </div>
11
+ <div class="flex flex-1 flex-col items-center justify-center gap-8 px-4">
12
+ <div class="text-center">
13
+ <img src="/favicon.svg" alt="" class="mx-auto mb-6 size-16" />
14
+ <h1 class="text-4xl font-bold tracking-tight">{data.appName}</h1>
15
+ <p class="mt-2 text-lg text-muted-foreground">
16
+ Fullstack app powered by Bosia + Drizzle ORM + PostgreSQL
17
+ </p>
18
+ </div>
19
19
 
20
- <div class="flex gap-4">
21
- <a
22
- href="/todos"
23
- class="inline-flex items-center justify-center rounded-md bg-primary px-6 py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors"
24
- >
25
- Todo App
26
- </a>
27
- <a
28
- href="/api/todos"
29
- target="_blank"
30
- class="inline-flex items-center justify-center rounded-md border border-input bg-background px-6 py-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground transition-colors"
31
- >
32
- REST API
33
- </a>
34
- </div>
20
+ <div class="flex gap-4">
21
+ <a
22
+ href="/todos"
23
+ class="inline-flex items-center justify-center rounded-md bg-primary px-6 py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors"
24
+ >
25
+ Todo App
26
+ </a>
27
+ <a
28
+ href="/api/todos"
29
+ target="_blank"
30
+ class="inline-flex items-center justify-center rounded-md border border-input bg-background px-6 py-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground transition-colors"
31
+ >
32
+ REST API
33
+ </a>
34
+ </div>
35
35
 
36
- <div class="mt-8 grid max-w-2xl grid-cols-1 gap-4 sm:grid-cols-3">
37
- <div class="rounded-lg border border-border p-4 text-center">
38
- <p class="text-sm font-medium">Bosia</p>
39
- <p class="mt-1 text-xs text-muted-foreground">Bun + Svelte 5 + Elysia</p>
40
- </div>
41
- <div class="rounded-lg border border-border p-4 text-center">
42
- <p class="text-sm font-medium">Drizzle ORM</p>
43
- <p class="mt-1 text-xs text-muted-foreground">Type-safe SQL queries</p>
44
- </div>
45
- <div class="rounded-lg border border-border p-4 text-center">
46
- <p class="text-sm font-medium">PostgreSQL</p>
47
- <p class="mt-1 text-xs text-muted-foreground">Production-ready database</p>
48
- </div>
49
- </div>
50
- </div>
36
+ <div class="mt-8 grid max-w-2xl grid-cols-1 gap-4 sm:grid-cols-3">
37
+ <div class="rounded-lg border border-border p-4 text-center">
38
+ <p class="text-sm font-medium">Bosia</p>
39
+ <p class="mt-1 text-xs text-muted-foreground">Bun + Svelte 5 + Elysia</p>
40
+ </div>
41
+ <div class="rounded-lg border border-border p-4 text-center">
42
+ <p class="text-sm font-medium">Drizzle ORM</p>
43
+ <p class="mt-1 text-xs text-muted-foreground">Type-safe SQL queries</p>
44
+ </div>
45
+ <div class="rounded-lg border border-border p-4 text-center">
46
+ <p class="text-sm font-medium">PostgreSQL</p>
47
+ <p class="mt-1 text-xs text-muted-foreground">Production-ready database</p>
48
+ </div>
49
+ </div>
50
+ </div>
51
51
 
52
- <footer class="border-t py-4 text-center text-sm text-muted-foreground">
53
- Powered by Bosia
54
- </footer>
52
+ <footer class="border-t py-4 text-center text-sm text-muted-foreground">
53
+ Powered by Bosia
54
+ </footer>
55
55
  </div>
@@ -1,3 +1,3 @@
1
1
  {
2
- "features": ["todo"]
2
+ "features": ["todo"]
3
3
  }
@@ -1,22 +1,22 @@
1
1
  {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "strict": true,
7
- "allowJs": true,
8
- "skipLibCheck": true,
9
- "allowImportingTsExtensions": true,
10
- "noEmit": true,
11
- "verbatimModuleSyntax": true,
12
- "types": ["bun-types"],
13
- "lib": ["dom", "dom.iterable", "esnext"],
14
- "rootDirs": [".", ".bosia/types"],
15
- "paths": {
16
- "$lib": ["./src/lib"],
17
- "$lib/*": ["./src/lib/*"]
18
- }
19
- },
20
- "include": ["src/**/*"],
21
- "exclude": ["node_modules", "dist"]
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "strict": true,
7
+ "allowJs": true,
8
+ "skipLibCheck": true,
9
+ "allowImportingTsExtensions": true,
10
+ "noEmit": true,
11
+ "verbatimModuleSyntax": true,
12
+ "types": ["bun-types"],
13
+ "lib": ["dom", "dom.iterable", "esnext"],
14
+ "rootDirs": [".", ".bosia/types"],
15
+ "paths": {
16
+ "$lib": ["./src/lib"],
17
+ "$lib/*": ["./src/lib/*"]
18
+ }
19
+ },
20
+ "include": ["src/**/*"],
21
+ "exclude": ["node_modules", "dist"]
22
22
  }