create-mantiq 0.7.0 → 0.7.2

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 (220) hide show
  1. package/package.json +2 -1
  2. package/skeleton/.env.example +64 -0
  3. package/skeleton/README.md +46 -0
  4. package/skeleton/app/Console/Commands/.gitkeep +0 -0
  5. package/skeleton/app/Enums/UserStatus.ts +7 -0
  6. package/skeleton/app/Http/Controllers/HomeController.ts +78 -0
  7. package/skeleton/app/Http/Middleware/.gitkeep +0 -0
  8. package/skeleton/app/Models/User.ts +7 -0
  9. package/skeleton/app/Providers/AppServiceProvider.ts +25 -0
  10. package/skeleton/app/Providers/DatabaseServiceProvider.ts +17 -0
  11. package/skeleton/bootstrap/.gitkeep +0 -0
  12. package/skeleton/config/ai.ts +51 -0
  13. package/skeleton/config/app.ts +108 -0
  14. package/skeleton/config/auth.ts +51 -0
  15. package/skeleton/config/broadcasting.ts +93 -0
  16. package/skeleton/config/cache.ts +61 -0
  17. package/skeleton/config/cors.ts +77 -0
  18. package/skeleton/config/database.ts +120 -0
  19. package/skeleton/config/filesystem.ts +58 -0
  20. package/skeleton/config/hashing.ts +47 -0
  21. package/skeleton/config/heartbeat.ts +112 -0
  22. package/skeleton/config/logging.ts +58 -0
  23. package/skeleton/config/mail.ts +93 -0
  24. package/skeleton/config/notify.ts +141 -0
  25. package/skeleton/config/queue.ts +59 -0
  26. package/skeleton/config/search.ts +96 -0
  27. package/skeleton/config/services.ts +110 -0
  28. package/skeleton/config/session.ts +84 -0
  29. package/skeleton/config/vite.ts +33 -0
  30. package/skeleton/database/factories/.gitkeep +0 -0
  31. package/skeleton/database/migrations/001_create_users_table.ts +19 -0
  32. package/skeleton/database/migrations/002_create_personal_access_tokens_table.ts +22 -0
  33. package/skeleton/database/seeders/DatabaseSeeder.ts +7 -0
  34. package/skeleton/index.ts +20 -0
  35. package/skeleton/mantiq.ts +8 -0
  36. package/skeleton/package.json +34 -0
  37. package/skeleton/public/.gitkeep +0 -0
  38. package/skeleton/routes/api.ts +8 -0
  39. package/skeleton/routes/channels.ts +23 -0
  40. package/skeleton/routes/console.ts +24 -0
  41. package/skeleton/routes/web.ts +6 -0
  42. package/skeleton/storage/cache/.gitkeep +0 -0
  43. package/skeleton/storage/framework/.gitkeep +0 -0
  44. package/skeleton/tests/feature/api.test.ts +14 -0
  45. package/skeleton/tests/feature/home.test.ts +17 -0
  46. package/skeleton/tests/unit/example.test.ts +11 -0
  47. package/skeleton/tsconfig.json +27 -0
  48. package/src/index.ts +289 -25
  49. package/src/templates.ts +141 -945
  50. package/src/terminal.ts +64 -0
  51. package/stubs/api-only/routes/api.ts.stub +24 -0
  52. package/stubs/api-only/tests/feature/token-auth.test.ts.stub +69 -0
  53. package/stubs/auth/api/app/Http/Controllers/ApiAuthController.ts.stub +57 -0
  54. package/stubs/auth/api/routes/api.ts.stub +24 -0
  55. package/stubs/auth/api/tests/feature/token-auth.test.ts.stub +69 -0
  56. package/stubs/auth/shared/app/Http/Requests/LoginRequest.ts.stub +10 -0
  57. package/stubs/auth/shared/app/Http/Requests/RegisterRequest.ts.stub +11 -0
  58. package/stubs/auth/web/app/Http/Controllers/AuthController.ts.stub +43 -0
  59. package/stubs/auth/web/app/Http/Controllers/PageController.ts.stub +66 -0
  60. package/stubs/auth/web/routes/web.ts.stub +25 -0
  61. package/stubs/auth/web/svelte/src/App.svelte.stub +77 -0
  62. package/stubs/auth/web/svelte/src/pages.ts.stub +17 -0
  63. package/stubs/auth/web/tests/feature/auth.test.ts.stub +69 -0
  64. package/stubs/auth/web/vue/src/App.vue.stub +74 -0
  65. package/stubs/auth/web/vue/src/pages.ts.stub +17 -0
  66. package/stubs/manifest.json +630 -2
  67. package/stubs/noauth/app/Http/Controllers/PageController.ts.stub +41 -0
  68. package/stubs/noauth/app/Models/User.ts.stub +5 -0
  69. package/stubs/noauth/database/migrations/001_create_users_table.ts.stub +17 -0
  70. package/stubs/noauth/routes/api.ts.stub +16 -0
  71. package/stubs/noauth/routes/web.ts.stub +15 -0
  72. package/stubs/noauth/svelte/src/App.svelte.stub +68 -0
  73. package/stubs/noauth/svelte/src/pages.ts.stub +7 -0
  74. package/stubs/noauth/vue/src/App.vue.stub +62 -0
  75. package/stubs/noauth/vue/src/pages.ts.stub +7 -0
  76. package/stubs/react/src/App.tsx.stub +4 -2
  77. package/stubs/react/src/components/layout/search-dialog.tsx.stub +2 -2
  78. package/stubs/react/src/components/layout/sidebar-data.ts.stub +2 -2
  79. package/stubs/react/src/lib/api.ts.stub +30 -6
  80. package/stubs/react/src/pages/Login.tsx.stub +3 -3
  81. package/stubs/react/src/pages/users/dialogs.tsx.stub +7 -26
  82. package/stubs/react/vite.config.ts.stub +26 -3
  83. package/stubs/shared/app/Http/Controllers/ApiAuthController.ts.stub +57 -0
  84. package/stubs/shared/app/Http/Controllers/AuthController.ts.stub +14 -38
  85. package/stubs/shared/app/Http/Controllers/PageController.ts.stub +3 -3
  86. package/stubs/shared/app/Http/Controllers/UserController.ts.stub +61 -0
  87. package/stubs/shared/app/Http/Requests/LoginRequest.ts.stub +10 -0
  88. package/stubs/shared/app/Http/Requests/RegisterRequest.ts.stub +11 -0
  89. package/stubs/shared/app/Http/Requests/StoreUserRequest.ts.stub +11 -0
  90. package/stubs/shared/app/Http/Requests/UpdateUserRequest.ts.stub +11 -0
  91. package/stubs/shared/config/app.ts.stub +36 -0
  92. package/stubs/shared/config/vite.ts.stub +8 -0
  93. package/stubs/shared/database/factories/UserFactory.ts.stub +4 -6
  94. package/stubs/shared/routes/api.ts.stub +12 -102
  95. package/stubs/shared/routes/web.ts.stub +5 -3
  96. package/stubs/shared/tests/feature/auth.test.ts.stub +69 -0
  97. package/stubs/shared/tests/feature/users.test.ts.stub +90 -0
  98. package/stubs/svelte/src/App.svelte.stub +1 -1
  99. package/stubs/svelte/src/lib/api.ts.stub +30 -6
  100. package/stubs/svelte/src/main.ts.stub +3 -1
  101. package/stubs/svelte/src/pages/Login.svelte.stub +3 -3
  102. package/stubs/svelte/vite.config.ts.stub +20 -1
  103. package/stubs/tailwind-only/react/src/components/layout/app-sidebar.tsx.stub +68 -0
  104. package/stubs/tailwind-only/react/src/components/layout/authenticated-layout.tsx.stub +57 -0
  105. package/stubs/tailwind-only/react/src/components/layout/header.tsx.stub +52 -0
  106. package/stubs/tailwind-only/react/src/components/layout/main.tsx.stub +21 -0
  107. package/stubs/tailwind-only/react/src/components/layout/nav-group.tsx.stub +185 -0
  108. package/stubs/tailwind-only/react/src/components/layout/nav-user.tsx.stub +106 -0
  109. package/stubs/tailwind-only/react/src/components/layout/sidebar-data.ts.stub +58 -0
  110. package/stubs/tailwind-only/react/src/components/layout/theme-toggle.tsx.stub +36 -0
  111. package/stubs/tailwind-only/react/src/components/layout/top-nav.tsx.stub +72 -0
  112. package/stubs/tailwind-only/react/src/lib/utils.ts.stub +6 -0
  113. package/stubs/tailwind-only/react/src/pages/Dashboard.tsx.stub +205 -0
  114. package/stubs/tailwind-only/react/src/pages/Login.tsx.stub +122 -0
  115. package/stubs/tailwind-only/react/src/pages/Register.tsx.stub +137 -0
  116. package/stubs/tailwind-only/react/src/pages/Users.tsx.stub +426 -0
  117. package/stubs/tailwind-only/react/src/pages/account/layout.tsx.stub +64 -0
  118. package/stubs/tailwind-only/react/src/pages/account/preferences.tsx.stub +80 -0
  119. package/stubs/tailwind-only/react/src/pages/account/profile.tsx.stub +67 -0
  120. package/stubs/tailwind-only/react/src/pages/account/security.tsx.stub +91 -0
  121. package/stubs/tailwind-only/react/src/style.css.stub +14 -0
  122. package/stubs/tailwind-only/svelte/src/lib/components/layout/app-sidebar.svelte.stub +104 -0
  123. package/stubs/tailwind-only/svelte/src/lib/components/layout/authenticated-layout.svelte.stub +51 -0
  124. package/stubs/tailwind-only/svelte/src/lib/components/layout/header.svelte.stub +66 -0
  125. package/stubs/tailwind-only/svelte/src/lib/components/layout/main.svelte.stub +26 -0
  126. package/stubs/tailwind-only/svelte/src/lib/components/layout/nav-group.svelte.stub +131 -0
  127. package/stubs/tailwind-only/svelte/src/lib/components/layout/nav-user.svelte.stub +104 -0
  128. package/stubs/tailwind-only/svelte/src/lib/components/layout/sidebar-data.ts.stub +57 -0
  129. package/stubs/tailwind-only/svelte/src/lib/components/layout/theme-toggle.svelte.stub +28 -0
  130. package/stubs/tailwind-only/svelte/src/lib/components/layout/top-nav.svelte.stub +99 -0
  131. package/stubs/tailwind-only/svelte/src/lib/utils.ts.stub +6 -0
  132. package/stubs/tailwind-only/svelte/src/pages/Dashboard.svelte.stub +192 -0
  133. package/stubs/tailwind-only/svelte/src/pages/Login.svelte.stub +120 -0
  134. package/stubs/tailwind-only/svelte/src/pages/Register.svelte.stub +134 -0
  135. package/stubs/tailwind-only/svelte/src/pages/Users.svelte.stub +293 -0
  136. package/stubs/tailwind-only/svelte/src/pages/account/Layout.svelte.stub +61 -0
  137. package/stubs/tailwind-only/svelte/src/pages/account/Preferences.svelte.stub +81 -0
  138. package/stubs/tailwind-only/svelte/src/pages/account/Profile.svelte.stub +76 -0
  139. package/stubs/tailwind-only/svelte/src/pages/account/Security.svelte.stub +140 -0
  140. package/stubs/tailwind-only/svelte/src/style.css.stub +127 -0
  141. package/stubs/tailwind-only/vue/src/components/layout/AppSidebar.vue.stub +60 -0
  142. package/stubs/tailwind-only/vue/src/components/layout/AuthenticatedLayout.vue.stub +73 -0
  143. package/stubs/tailwind-only/vue/src/components/layout/Header.vue.stub +54 -0
  144. package/stubs/tailwind-only/vue/src/components/layout/Main.vue.stub +22 -0
  145. package/stubs/tailwind-only/vue/src/components/layout/NavGroup.vue.stub +107 -0
  146. package/stubs/tailwind-only/vue/src/components/layout/NavUser.vue.stub +104 -0
  147. package/stubs/tailwind-only/vue/src/components/layout/ThemeToggle.vue.stub +28 -0
  148. package/stubs/tailwind-only/vue/src/components/layout/TopNav.vue.stub +86 -0
  149. package/stubs/tailwind-only/vue/src/components/layout/sidebar-data.ts.stub +57 -0
  150. package/stubs/tailwind-only/vue/src/lib/utils.ts.stub +7 -0
  151. package/stubs/tailwind-only/vue/src/pages/Dashboard.vue.stub +195 -0
  152. package/stubs/tailwind-only/vue/src/pages/Login.vue.stub +121 -0
  153. package/stubs/tailwind-only/vue/src/pages/Register.vue.stub +137 -0
  154. package/stubs/tailwind-only/vue/src/pages/Users.vue.stub +401 -0
  155. package/stubs/tailwind-only/vue/src/pages/account/Layout.vue.stub +56 -0
  156. package/stubs/tailwind-only/vue/src/pages/account/Preferences.vue.stub +81 -0
  157. package/stubs/tailwind-only/vue/src/pages/account/Profile.vue.stub +69 -0
  158. package/stubs/tailwind-only/vue/src/pages/account/Security.vue.stub +85 -0
  159. package/stubs/tailwind-only/vue/src/style.css.stub +26 -0
  160. package/stubs/themes/corporate/react/src/components/layout/app-sidebar.tsx.stub +74 -0
  161. package/stubs/themes/corporate/react/src/components/layout/authenticated-layout.tsx.stub +42 -0
  162. package/stubs/themes/corporate/react/src/pages/Dashboard.tsx.stub +310 -0
  163. package/stubs/themes/corporate/react/src/pages/Login.tsx.stub +122 -0
  164. package/stubs/themes/corporate/react/src/pages/Register.tsx.stub +144 -0
  165. package/stubs/themes/corporate/react/src/style.css.stub +135 -0
  166. package/stubs/themes/corporate/svelte/src/pages/Dashboard.svelte.stub +271 -0
  167. package/stubs/themes/corporate/svelte/src/pages/Login.svelte.stub +117 -0
  168. package/stubs/themes/corporate/svelte/src/pages/Register.svelte.stub +138 -0
  169. package/stubs/themes/corporate/svelte/src/style.css.stub +134 -0
  170. package/stubs/themes/corporate/vue/src/pages/Dashboard.vue.stub +325 -0
  171. package/stubs/themes/corporate/vue/src/pages/Login.vue.stub +118 -0
  172. package/stubs/themes/corporate/vue/src/pages/Register.vue.stub +139 -0
  173. package/stubs/themes/corporate/vue/src/style.css.stub +134 -0
  174. package/stubs/themes/minimal/react/src/components/layout/app-sidebar.tsx.stub +68 -0
  175. package/stubs/themes/minimal/react/src/components/layout/authenticated-layout.tsx.stub +42 -0
  176. package/stubs/themes/minimal/react/src/pages/Dashboard.tsx.stub +166 -0
  177. package/stubs/themes/minimal/react/src/pages/Login.tsx.stub +95 -0
  178. package/stubs/themes/minimal/react/src/pages/Register.tsx.stub +73 -0
  179. package/stubs/themes/minimal/react/src/style.css.stub +142 -0
  180. package/stubs/themes/minimal/svelte/src/pages/Dashboard.svelte.stub +149 -0
  181. package/stubs/themes/minimal/svelte/src/pages/Login.svelte.stub +90 -0
  182. package/stubs/themes/minimal/svelte/src/pages/Register.svelte.stub +70 -0
  183. package/stubs/themes/minimal/svelte/src/style.css.stub +142 -0
  184. package/stubs/themes/minimal/vue/src/pages/Dashboard.vue.stub +163 -0
  185. package/stubs/themes/minimal/vue/src/pages/Login.vue.stub +91 -0
  186. package/stubs/themes/minimal/vue/src/pages/Register.vue.stub +73 -0
  187. package/stubs/themes/minimal/vue/src/style.css.stub +142 -0
  188. package/stubs/themes/starter/react/src/components/layout/app-sidebar.tsx.stub +74 -0
  189. package/stubs/themes/starter/react/src/components/layout/authenticated-layout.tsx.stub +42 -0
  190. package/stubs/themes/starter/react/src/pages/Dashboard.tsx.stub +236 -0
  191. package/stubs/themes/starter/react/src/pages/Login.tsx.stub +131 -0
  192. package/stubs/themes/starter/react/src/pages/Register.tsx.stub +145 -0
  193. package/stubs/themes/starter/react/src/style.css.stub +141 -0
  194. package/stubs/themes/starter/svelte/src/pages/Dashboard.svelte.stub +212 -0
  195. package/stubs/themes/starter/svelte/src/pages/Login.svelte.stub +126 -0
  196. package/stubs/themes/starter/svelte/src/pages/Register.svelte.stub +139 -0
  197. package/stubs/themes/starter/svelte/src/style.css.stub +141 -0
  198. package/stubs/themes/starter/vue/src/pages/Dashboard.vue.stub +228 -0
  199. package/stubs/themes/starter/vue/src/pages/Login.vue.stub +127 -0
  200. package/stubs/themes/starter/vue/src/pages/Register.vue.stub +140 -0
  201. package/stubs/themes/starter/vue/src/style.css.stub +141 -0
  202. package/stubs/themes/workspace/react/src/components/layout/app-sidebar.tsx.stub +97 -0
  203. package/stubs/themes/workspace/react/src/components/layout/authenticated-layout.tsx.stub +42 -0
  204. package/stubs/themes/workspace/react/src/pages/Dashboard.tsx.stub +304 -0
  205. package/stubs/themes/workspace/react/src/pages/Login.tsx.stub +131 -0
  206. package/stubs/themes/workspace/react/src/pages/Register.tsx.stub +82 -0
  207. package/stubs/themes/workspace/react/src/style.css.stub +138 -0
  208. package/stubs/themes/workspace/svelte/src/pages/Dashboard.svelte.stub +215 -0
  209. package/stubs/themes/workspace/svelte/src/pages/Login.svelte.stub +124 -0
  210. package/stubs/themes/workspace/svelte/src/pages/Register.svelte.stub +76 -0
  211. package/stubs/themes/workspace/svelte/src/style.css.stub +134 -0
  212. package/stubs/themes/workspace/vue/src/pages/Dashboard.vue.stub +220 -0
  213. package/stubs/themes/workspace/vue/src/pages/Login.vue.stub +128 -0
  214. package/stubs/themes/workspace/vue/src/pages/Register.vue.stub +80 -0
  215. package/stubs/themes/workspace/vue/src/style.css.stub +134 -0
  216. package/stubs/vue/src/App.vue.stub +2 -1
  217. package/stubs/vue/src/lib/api.ts.stub +30 -6
  218. package/stubs/vue/src/main.ts.stub +3 -1
  219. package/stubs/vue/src/pages/Login.vue.stub +3 -3
  220. package/stubs/vue/vite.config.ts.stub +20 -1
@@ -1396,20 +1396,648 @@
1396
1396
  "target": "app/Http/Controllers/HomeController.ts"
1397
1397
  },
1398
1398
  {
1399
- "stub": "routes/api.ts.stub",
1400
- "target": "routes/api.ts"
1399
+ "stub": "app/Http/Controllers/UserController.ts.stub",
1400
+ "target": "app/Http/Controllers/UserController.ts"
1401
+ },
1402
+ {
1403
+ "stub": "app/Http/Requests/RegisterRequest.ts.stub",
1404
+ "target": "app/Http/Requests/RegisterRequest.ts"
1405
+ },
1406
+ {
1407
+ "stub": "app/Http/Requests/LoginRequest.ts.stub",
1408
+ "target": "app/Http/Requests/LoginRequest.ts"
1409
+ },
1410
+ {
1411
+ "stub": "app/Http/Requests/StoreUserRequest.ts.stub",
1412
+ "target": "app/Http/Requests/StoreUserRequest.ts"
1413
+ },
1414
+ {
1415
+ "stub": "app/Http/Requests/UpdateUserRequest.ts.stub",
1416
+ "target": "app/Http/Requests/UpdateUserRequest.ts"
1401
1417
  },
1402
1418
  {
1403
1419
  "stub": "routes/web.ts.stub",
1404
1420
  "target": "routes/web.ts"
1421
+ },
1422
+ {
1423
+ "stub": "routes/api.ts.stub",
1424
+ "target": "routes/api.ts"
1425
+ },
1426
+ {
1427
+ "stub": "config/app.ts.stub",
1428
+ "target": "config/app.ts"
1429
+ },
1430
+ {
1431
+ "stub": "config/vite.ts.stub",
1432
+ "target": "config/vite.ts"
1433
+ },
1434
+ {
1435
+ "stub": "tests/feature/auth.test.ts.stub",
1436
+ "target": "tests/feature/auth.test.ts"
1437
+ },
1438
+ {
1439
+ "stub": "tests/feature/users.test.ts.stub",
1440
+ "target": "tests/feature/users.test.ts"
1405
1441
  }
1406
1442
  ],
1407
1443
  "placeholders": {
1444
+ "{{REACT_REFRESH}}": {
1445
+ "react": "true",
1446
+ "vue": "false",
1447
+ "svelte": "false"
1448
+ },
1449
+ "{{SSR_ENTRY}}": {
1450
+ "react": "src/ssr.tsx",
1451
+ "vue": "src/ssr.ts",
1452
+ "svelte": "src/ssr.ts"
1453
+ },
1408
1454
  "{{MAIN_ENTRY}}": {
1409
1455
  "react": "src/main.tsx",
1410
1456
  "vue": "src/main.ts",
1411
1457
  "svelte": "src/main.ts"
1412
1458
  }
1413
1459
  }
1460
+ },
1461
+ "tailwind-only": {
1462
+ "react": {
1463
+ "files": [
1464
+ {
1465
+ "stub": "src/style.css.stub",
1466
+ "target": "src/style.css"
1467
+ },
1468
+ {
1469
+ "stub": "src/lib/utils.ts.stub",
1470
+ "target": "src/lib/utils.ts"
1471
+ },
1472
+ {
1473
+ "stub": "src/components/layout/authenticated-layout.tsx.stub",
1474
+ "target": "src/components/layout/authenticated-layout.tsx"
1475
+ },
1476
+ {
1477
+ "stub": "src/components/layout/app-sidebar.tsx.stub",
1478
+ "target": "src/components/layout/app-sidebar.tsx"
1479
+ },
1480
+ {
1481
+ "stub": "src/components/layout/nav-user.tsx.stub",
1482
+ "target": "src/components/layout/nav-user.tsx"
1483
+ },
1484
+ {
1485
+ "stub": "src/components/layout/header.tsx.stub",
1486
+ "target": "src/components/layout/header.tsx"
1487
+ },
1488
+ {
1489
+ "stub": "src/components/layout/main.tsx.stub",
1490
+ "target": "src/components/layout/main.tsx"
1491
+ },
1492
+ {
1493
+ "stub": "src/components/layout/top-nav.tsx.stub",
1494
+ "target": "src/components/layout/top-nav.tsx"
1495
+ },
1496
+ {
1497
+ "stub": "src/components/layout/theme-toggle.tsx.stub",
1498
+ "target": "src/components/layout/theme-toggle.tsx"
1499
+ },
1500
+ {
1501
+ "stub": "src/components/layout/nav-group.tsx.stub",
1502
+ "target": "src/components/layout/nav-group.tsx"
1503
+ },
1504
+ {
1505
+ "stub": "src/components/layout/sidebar-data.ts.stub",
1506
+ "target": "src/components/layout/sidebar-data.ts"
1507
+ },
1508
+ {
1509
+ "stub": "src/pages/Dashboard.tsx.stub",
1510
+ "target": "src/pages/Dashboard.tsx"
1511
+ },
1512
+ {
1513
+ "stub": "src/pages/Users.tsx.stub",
1514
+ "target": "src/pages/Users.tsx"
1515
+ },
1516
+ {
1517
+ "stub": "src/pages/Login.tsx.stub",
1518
+ "target": "src/pages/Login.tsx"
1519
+ },
1520
+ {
1521
+ "stub": "src/pages/Register.tsx.stub",
1522
+ "target": "src/pages/Register.tsx"
1523
+ },
1524
+ {
1525
+ "stub": "src/pages/account/layout.tsx.stub",
1526
+ "target": "src/pages/account/layout.tsx"
1527
+ },
1528
+ {
1529
+ "stub": "src/pages/account/profile.tsx.stub",
1530
+ "target": "src/pages/account/profile.tsx"
1531
+ },
1532
+ {
1533
+ "stub": "src/pages/account/security.tsx.stub",
1534
+ "target": "src/pages/account/security.tsx"
1535
+ },
1536
+ {
1537
+ "stub": "src/pages/account/preferences.tsx.stub",
1538
+ "target": "src/pages/account/preferences.tsx"
1539
+ }
1540
+ ]
1541
+ },
1542
+ "svelte": {
1543
+ "files": [
1544
+ {
1545
+ "stub": "src/lib/utils.ts.stub",
1546
+ "target": "src/lib/utils.ts"
1547
+ },
1548
+ {
1549
+ "stub": "src/style.css.stub",
1550
+ "target": "src/style.css"
1551
+ },
1552
+ {
1553
+ "stub": "src/lib/components/layout/authenticated-layout.svelte.stub",
1554
+ "target": "src/lib/components/layout/authenticated-layout.svelte"
1555
+ },
1556
+ {
1557
+ "stub": "src/lib/components/layout/app-sidebar.svelte.stub",
1558
+ "target": "src/lib/components/layout/app-sidebar.svelte"
1559
+ },
1560
+ {
1561
+ "stub": "src/lib/components/layout/nav-user.svelte.stub",
1562
+ "target": "src/lib/components/layout/nav-user.svelte"
1563
+ },
1564
+ {
1565
+ "stub": "src/lib/components/layout/header.svelte.stub",
1566
+ "target": "src/lib/components/layout/header.svelte"
1567
+ },
1568
+ {
1569
+ "stub": "src/lib/components/layout/main.svelte.stub",
1570
+ "target": "src/lib/components/layout/main.svelte"
1571
+ },
1572
+ {
1573
+ "stub": "src/lib/components/layout/top-nav.svelte.stub",
1574
+ "target": "src/lib/components/layout/top-nav.svelte"
1575
+ },
1576
+ {
1577
+ "stub": "src/lib/components/layout/theme-toggle.svelte.stub",
1578
+ "target": "src/lib/components/layout/theme-toggle.svelte"
1579
+ },
1580
+ {
1581
+ "stub": "src/lib/components/layout/nav-group.svelte.stub",
1582
+ "target": "src/lib/components/layout/nav-group.svelte"
1583
+ },
1584
+ {
1585
+ "stub": "src/lib/components/layout/sidebar-data.ts.stub",
1586
+ "target": "src/lib/components/layout/sidebar-data.ts"
1587
+ },
1588
+ {
1589
+ "stub": "src/pages/Dashboard.svelte.stub",
1590
+ "target": "src/pages/Dashboard.svelte"
1591
+ },
1592
+ {
1593
+ "stub": "src/pages/Users.svelte.stub",
1594
+ "target": "src/pages/Users.svelte"
1595
+ },
1596
+ {
1597
+ "stub": "src/pages/Login.svelte.stub",
1598
+ "target": "src/pages/Login.svelte"
1599
+ },
1600
+ {
1601
+ "stub": "src/pages/Register.svelte.stub",
1602
+ "target": "src/pages/Register.svelte"
1603
+ },
1604
+ {
1605
+ "stub": "src/pages/account/Layout.svelte.stub",
1606
+ "target": "src/pages/account/Layout.svelte"
1607
+ },
1608
+ {
1609
+ "stub": "src/pages/account/Profile.svelte.stub",
1610
+ "target": "src/pages/account/Profile.svelte"
1611
+ },
1612
+ {
1613
+ "stub": "src/pages/account/Security.svelte.stub",
1614
+ "target": "src/pages/account/Security.svelte"
1615
+ },
1616
+ {
1617
+ "stub": "src/pages/account/Preferences.svelte.stub",
1618
+ "target": "src/pages/account/Preferences.svelte"
1619
+ }
1620
+ ]
1621
+ }
1622
+ },
1623
+ "auth": {
1624
+ "web": {
1625
+ "files": [
1626
+ {
1627
+ "stub": "app/Http/Controllers/AuthController.ts.stub",
1628
+ "target": "app/Http/Controllers/AuthController.ts"
1629
+ },
1630
+ {
1631
+ "stub": "app/Http/Controllers/PageController.ts.stub",
1632
+ "target": "app/Http/Controllers/PageController.ts"
1633
+ },
1634
+ {
1635
+ "stub": "routes/web.ts.stub",
1636
+ "target": "routes/web.ts"
1637
+ },
1638
+ {
1639
+ "stub": "tests/feature/auth.test.ts.stub",
1640
+ "target": "tests/feature/auth.test.ts"
1641
+ }
1642
+ ],
1643
+ "react": {
1644
+ "files": [
1645
+ {
1646
+ "stub": "src/pages/Login.tsx.stub",
1647
+ "target": "src/pages/Login.tsx"
1648
+ },
1649
+ {
1650
+ "stub": "src/pages/Register.tsx.stub",
1651
+ "target": "src/pages/Register.tsx"
1652
+ },
1653
+ {
1654
+ "stub": "src/pages/account/layout.tsx.stub",
1655
+ "target": "src/pages/account/layout.tsx"
1656
+ },
1657
+ {
1658
+ "stub": "src/pages/account/profile.tsx.stub",
1659
+ "target": "src/pages/account/profile.tsx"
1660
+ },
1661
+ {
1662
+ "stub": "src/pages/account/security.tsx.stub",
1663
+ "target": "src/pages/account/security.tsx"
1664
+ },
1665
+ {
1666
+ "stub": "src/pages/account/preferences.tsx.stub",
1667
+ "target": "src/pages/account/preferences.tsx"
1668
+ }
1669
+ ]
1670
+ },
1671
+ "svelte": {
1672
+ "files": [
1673
+ {
1674
+ "stub": "src/pages.ts.stub",
1675
+ "target": "src/pages.ts"
1676
+ },
1677
+ {
1678
+ "stub": "src/App.svelte.stub",
1679
+ "target": "src/App.svelte"
1680
+ }
1681
+ ]
1682
+ }
1683
+ },
1684
+ "shared": {
1685
+ "files": [
1686
+ {
1687
+ "stub": "app/Http/Requests/LoginRequest.ts.stub",
1688
+ "target": "app/Http/Requests/LoginRequest.ts"
1689
+ },
1690
+ {
1691
+ "stub": "app/Http/Requests/RegisterRequest.ts.stub",
1692
+ "target": "app/Http/Requests/RegisterRequest.ts"
1693
+ }
1694
+ ]
1695
+ },
1696
+ "api": {
1697
+ "files": [
1698
+ {
1699
+ "stub": "routes/api.ts.stub",
1700
+ "target": "routes/api.ts"
1701
+ },
1702
+ {
1703
+ "stub": "app/Http/Controllers/ApiAuthController.ts.stub",
1704
+ "target": "app/Http/Controllers/ApiAuthController.ts"
1705
+ },
1706
+ {
1707
+ "stub": "tests/feature/token-auth.test.ts.stub",
1708
+ "target": "tests/feature/token-auth.test.ts"
1709
+ }
1710
+ ]
1711
+ }
1712
+ },
1713
+ "noauth": {
1714
+ "files": [
1715
+ {
1716
+ "stub": "routes/web.ts.stub",
1717
+ "target": "routes/web.ts"
1718
+ },
1719
+ {
1720
+ "stub": "routes/api.ts.stub",
1721
+ "target": "routes/api.ts"
1722
+ },
1723
+ {
1724
+ "stub": "app/Http/Controllers/PageController.ts.stub",
1725
+ "target": "app/Http/Controllers/PageController.ts"
1726
+ },
1727
+ {
1728
+ "stub": "app/Models/User.ts.stub",
1729
+ "target": "app/Models/User.ts"
1730
+ },
1731
+ {
1732
+ "stub": "database/migrations/001_create_users_table.ts.stub",
1733
+ "target": "database/migrations/001_create_users_table.ts"
1734
+ }
1735
+ ],
1736
+ "react": {
1737
+ "files": [
1738
+ {
1739
+ "stub": "src/pages/Dashboard.tsx.stub",
1740
+ "target": "src/pages/Dashboard.tsx"
1741
+ },
1742
+ {
1743
+ "stub": "src/pages/Users.tsx.stub",
1744
+ "target": "src/pages/Users.tsx"
1745
+ }
1746
+ ]
1747
+ },
1748
+ "svelte": {
1749
+ "files": [
1750
+ {
1751
+ "stub": "src/pages.ts.stub",
1752
+ "target": "src/pages.ts"
1753
+ },
1754
+ {
1755
+ "stub": "src/App.svelte.stub",
1756
+ "target": "src/App.svelte"
1757
+ }
1758
+ ]
1759
+ }
1760
+ },
1761
+ "themes": {
1762
+ "minimal": {
1763
+ "react": {
1764
+ "files": [
1765
+ {
1766
+ "stub": "src/style.css.stub",
1767
+ "target": "src/style.css"
1768
+ },
1769
+ {
1770
+ "stub": "src/components/layout/authenticated-layout.tsx.stub",
1771
+ "target": "src/components/layout/authenticated-layout.tsx"
1772
+ },
1773
+ {
1774
+ "stub": "src/components/layout/app-sidebar.tsx.stub",
1775
+ "target": "src/components/layout/app-sidebar.tsx"
1776
+ },
1777
+ {
1778
+ "stub": "src/pages/Dashboard.tsx.stub",
1779
+ "target": "src/pages/Dashboard.tsx"
1780
+ },
1781
+ {
1782
+ "stub": "src/pages/Login.tsx.stub",
1783
+ "target": "src/pages/Login.tsx"
1784
+ },
1785
+ {
1786
+ "stub": "src/pages/Register.tsx.stub",
1787
+ "target": "src/pages/Register.tsx"
1788
+ }
1789
+ ]
1790
+ },
1791
+ "vue": {
1792
+ "files": [
1793
+ {
1794
+ "stub": "src/style.css.stub",
1795
+ "target": "src/style.css"
1796
+ },
1797
+ {
1798
+ "stub": "src/pages/Dashboard.vue.stub",
1799
+ "target": "src/pages/Dashboard.vue"
1800
+ },
1801
+ {
1802
+ "stub": "src/pages/Login.vue.stub",
1803
+ "target": "src/pages/Login.vue"
1804
+ },
1805
+ {
1806
+ "stub": "src/pages/Register.vue.stub",
1807
+ "target": "src/pages/Register.vue"
1808
+ }
1809
+ ]
1810
+ },
1811
+ "svelte": {
1812
+ "files": [
1813
+ {
1814
+ "stub": "src/style.css.stub",
1815
+ "target": "src/style.css"
1816
+ },
1817
+ {
1818
+ "stub": "src/pages/Dashboard.svelte.stub",
1819
+ "target": "src/pages/Dashboard.svelte"
1820
+ },
1821
+ {
1822
+ "stub": "src/pages/Login.svelte.stub",
1823
+ "target": "src/pages/Login.svelte"
1824
+ },
1825
+ {
1826
+ "stub": "src/pages/Register.svelte.stub",
1827
+ "target": "src/pages/Register.svelte"
1828
+ }
1829
+ ]
1830
+ }
1831
+ },
1832
+ "workspace": {
1833
+ "react": {
1834
+ "files": [
1835
+ {
1836
+ "stub": "src/style.css.stub",
1837
+ "target": "src/style.css"
1838
+ },
1839
+ {
1840
+ "stub": "src/components/layout/authenticated-layout.tsx.stub",
1841
+ "target": "src/components/layout/authenticated-layout.tsx"
1842
+ },
1843
+ {
1844
+ "stub": "src/components/layout/app-sidebar.tsx.stub",
1845
+ "target": "src/components/layout/app-sidebar.tsx"
1846
+ },
1847
+ {
1848
+ "stub": "src/pages/Dashboard.tsx.stub",
1849
+ "target": "src/pages/Dashboard.tsx"
1850
+ },
1851
+ {
1852
+ "stub": "src/pages/Login.tsx.stub",
1853
+ "target": "src/pages/Login.tsx"
1854
+ },
1855
+ {
1856
+ "stub": "src/pages/Register.tsx.stub",
1857
+ "target": "src/pages/Register.tsx"
1858
+ }
1859
+ ]
1860
+ },
1861
+ "vue": {
1862
+ "files": [
1863
+ {
1864
+ "stub": "src/style.css.stub",
1865
+ "target": "src/style.css"
1866
+ },
1867
+ {
1868
+ "stub": "src/pages/Dashboard.vue.stub",
1869
+ "target": "src/pages/Dashboard.vue"
1870
+ },
1871
+ {
1872
+ "stub": "src/pages/Login.vue.stub",
1873
+ "target": "src/pages/Login.vue"
1874
+ },
1875
+ {
1876
+ "stub": "src/pages/Register.vue.stub",
1877
+ "target": "src/pages/Register.vue"
1878
+ }
1879
+ ]
1880
+ },
1881
+ "svelte": {
1882
+ "files": [
1883
+ {
1884
+ "stub": "src/style.css.stub",
1885
+ "target": "src/style.css"
1886
+ },
1887
+ {
1888
+ "stub": "src/pages/Dashboard.svelte.stub",
1889
+ "target": "src/pages/Dashboard.svelte"
1890
+ },
1891
+ {
1892
+ "stub": "src/pages/Login.svelte.stub",
1893
+ "target": "src/pages/Login.svelte"
1894
+ },
1895
+ {
1896
+ "stub": "src/pages/Register.svelte.stub",
1897
+ "target": "src/pages/Register.svelte"
1898
+ }
1899
+ ]
1900
+ }
1901
+ },
1902
+ "corporate": {
1903
+ "react": {
1904
+ "files": [
1905
+ {
1906
+ "stub": "src/style.css.stub",
1907
+ "target": "src/style.css"
1908
+ },
1909
+ {
1910
+ "stub": "src/components/layout/authenticated-layout.tsx.stub",
1911
+ "target": "src/components/layout/authenticated-layout.tsx"
1912
+ },
1913
+ {
1914
+ "stub": "src/components/layout/app-sidebar.tsx.stub",
1915
+ "target": "src/components/layout/app-sidebar.tsx"
1916
+ },
1917
+ {
1918
+ "stub": "src/pages/Dashboard.tsx.stub",
1919
+ "target": "src/pages/Dashboard.tsx"
1920
+ },
1921
+ {
1922
+ "stub": "src/pages/Login.tsx.stub",
1923
+ "target": "src/pages/Login.tsx"
1924
+ },
1925
+ {
1926
+ "stub": "src/pages/Register.tsx.stub",
1927
+ "target": "src/pages/Register.tsx"
1928
+ }
1929
+ ]
1930
+ },
1931
+ "vue": {
1932
+ "files": [
1933
+ {
1934
+ "stub": "src/style.css.stub",
1935
+ "target": "src/style.css"
1936
+ },
1937
+ {
1938
+ "stub": "src/pages/Dashboard.vue.stub",
1939
+ "target": "src/pages/Dashboard.vue"
1940
+ },
1941
+ {
1942
+ "stub": "src/pages/Login.vue.stub",
1943
+ "target": "src/pages/Login.vue"
1944
+ },
1945
+ {
1946
+ "stub": "src/pages/Register.vue.stub",
1947
+ "target": "src/pages/Register.vue"
1948
+ }
1949
+ ]
1950
+ },
1951
+ "svelte": {
1952
+ "files": [
1953
+ {
1954
+ "stub": "src/style.css.stub",
1955
+ "target": "src/style.css"
1956
+ },
1957
+ {
1958
+ "stub": "src/pages/Dashboard.svelte.stub",
1959
+ "target": "src/pages/Dashboard.svelte"
1960
+ },
1961
+ {
1962
+ "stub": "src/pages/Login.svelte.stub",
1963
+ "target": "src/pages/Login.svelte"
1964
+ },
1965
+ {
1966
+ "stub": "src/pages/Register.svelte.stub",
1967
+ "target": "src/pages/Register.svelte"
1968
+ }
1969
+ ]
1970
+ }
1971
+ },
1972
+ "starter": {
1973
+ "react": {
1974
+ "files": [
1975
+ {
1976
+ "stub": "src/style.css.stub",
1977
+ "target": "src/style.css"
1978
+ },
1979
+ {
1980
+ "stub": "src/components/layout/authenticated-layout.tsx.stub",
1981
+ "target": "src/components/layout/authenticated-layout.tsx"
1982
+ },
1983
+ {
1984
+ "stub": "src/components/layout/app-sidebar.tsx.stub",
1985
+ "target": "src/components/layout/app-sidebar.tsx"
1986
+ },
1987
+ {
1988
+ "stub": "src/pages/Dashboard.tsx.stub",
1989
+ "target": "src/pages/Dashboard.tsx"
1990
+ },
1991
+ {
1992
+ "stub": "src/pages/Login.tsx.stub",
1993
+ "target": "src/pages/Login.tsx"
1994
+ },
1995
+ {
1996
+ "stub": "src/pages/Register.tsx.stub",
1997
+ "target": "src/pages/Register.tsx"
1998
+ }
1999
+ ]
2000
+ },
2001
+ "vue": {
2002
+ "files": [
2003
+ {
2004
+ "stub": "src/style.css.stub",
2005
+ "target": "src/style.css"
2006
+ },
2007
+ {
2008
+ "stub": "src/pages/Dashboard.vue.stub",
2009
+ "target": "src/pages/Dashboard.vue"
2010
+ },
2011
+ {
2012
+ "stub": "src/pages/Login.vue.stub",
2013
+ "target": "src/pages/Login.vue"
2014
+ },
2015
+ {
2016
+ "stub": "src/pages/Register.vue.stub",
2017
+ "target": "src/pages/Register.vue"
2018
+ }
2019
+ ]
2020
+ },
2021
+ "svelte": {
2022
+ "files": [
2023
+ {
2024
+ "stub": "src/style.css.stub",
2025
+ "target": "src/style.css"
2026
+ },
2027
+ {
2028
+ "stub": "src/pages/Dashboard.svelte.stub",
2029
+ "target": "src/pages/Dashboard.svelte"
2030
+ },
2031
+ {
2032
+ "stub": "src/pages/Login.svelte.stub",
2033
+ "target": "src/pages/Login.svelte"
2034
+ },
2035
+ {
2036
+ "stub": "src/pages/Register.svelte.stub",
2037
+ "target": "src/pages/Register.svelte"
2038
+ }
2039
+ ]
2040
+ }
2041
+ }
1414
2042
  }
1415
2043
  }
@@ -0,0 +1,41 @@
1
+ import type { MantiqRequest } from '@mantiq/core'
2
+ import { config } from '@mantiq/core'
3
+ import { vite } from '@mantiq/vite'
4
+ import { User } from '../../Models/User.ts'
5
+
6
+ function render(request: MantiqRequest, page: string, title: string, data: Record<string, any> = {}) {
7
+ return vite().render(request, {
8
+ page,
9
+ entry: ['src/style.css', '{{MAIN_ENTRY}}'],
10
+ title: config('app.name') + ' — ' + title,
11
+ data: { appName: config('app.name'), ...data },
12
+ })
13
+ }
14
+
15
+ export class PageController {
16
+ async dashboard(request: MantiqRequest): Promise<Response> {
17
+ const users = await User.all()
18
+ return render(request, 'Dashboard', 'Dashboard', {
19
+ users: users.map((u: any) => u.toObject()),
20
+ })
21
+ }
22
+
23
+ async users(request: MantiqRequest): Promise<Response> {
24
+ const users = await User.all()
25
+ return render(request, 'Users', 'Users', {
26
+ users: users.map((u: any) => u.toObject()),
27
+ })
28
+ }
29
+
30
+ async profile(request: MantiqRequest): Promise<Response> {
31
+ return render(request, 'Profile', 'Profile')
32
+ }
33
+
34
+ async security(request: MantiqRequest): Promise<Response> {
35
+ return render(request, 'Security', 'Security')
36
+ }
37
+
38
+ async preferences(request: MantiqRequest): Promise<Response> {
39
+ return render(request, 'Preferences', 'Preferences')
40
+ }
41
+ }
@@ -0,0 +1,5 @@
1
+ import { Model } from '@mantiq/database'
2
+
3
+ export class User extends Model {
4
+ static override fillable = ['name', 'email']
5
+ }