@wasp.sh/wasp-cli-darwin-arm64-unknown 0.23.0 → 0.24.0-rc.3

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 (233) hide show
  1. package/data/Cli/starters/basic/main.wasp.ts +60 -0
  2. package/data/Cli/starters/basic/package.json +4 -1
  3. package/data/Cli/starters/basic/prettier.config.mjs +9 -0
  4. package/data/Cli/starters/basic/src/tags/tags.wasp.ts +8 -0
  5. package/data/Cli/starters/basic/src/tasks/task.wasp.ts +16 -0
  6. package/data/Cli/starters/minimal/main.wasp.ts +12 -0
  7. package/data/Cli/starters/minimal/package.json +4 -1
  8. package/data/Cli/starters/skeleton/AGENTS.md +23 -0
  9. package/data/Cli/starters/skeleton/CLAUDE.md +23 -0
  10. package/data/Cli/starters/skeleton/tsconfig.json +5 -26
  11. package/data/Cli/starters/{ts-minimal → skeleton}/tsconfig.src.json +2 -1
  12. package/data/Cli/starters/{ts-minimal → skeleton}/tsconfig.wasp.json +5 -2
  13. package/data/Generator/libs/auth/{wasp.sh-lib-auth-0.23.0.tgz → wasp.sh-lib-auth-0.24.0.tgz} +0 -0
  14. package/data/Generator/libs/vite-ssr/{wasp.sh-lib-vite-ssr-0.23.0.tgz → wasp.sh-lib-vite-ssr-0.24.0.tgz} +0 -0
  15. package/data/Generator/templates/sdk/wasp/api/index.ts +51 -47
  16. package/data/Generator/templates/sdk/wasp/auth/email/actions/login.ts +5 -2
  17. package/data/Generator/templates/sdk/wasp/auth/email/actions/passwordReset.ts +9 -4
  18. package/data/Generator/templates/sdk/wasp/auth/email/actions/signup.ts +5 -2
  19. package/data/Generator/templates/sdk/wasp/auth/email/actions/verifyEmail.ts +5 -2
  20. package/data/Generator/templates/sdk/wasp/auth/responseSchemas.ts +10 -0
  21. package/data/Generator/templates/sdk/wasp/auth/useAuth.ts +2 -2
  22. package/data/Generator/templates/sdk/wasp/auth/username/actions/login.ts +5 -3
  23. package/data/Generator/templates/sdk/wasp/auth/username/actions/signup.ts +3 -2
  24. package/data/Generator/templates/sdk/wasp/client/app/layout.tsx +13 -20
  25. package/data/Generator/templates/sdk/wasp/client/app/pages/OAuthCallback.tsx +12 -11
  26. package/data/Generator/templates/sdk/wasp/client/env/schema.ts +8 -8
  27. package/data/Generator/templates/sdk/wasp/client/env.ts +2 -2
  28. package/data/Generator/templates/sdk/wasp/client/operations/internal/index.ts +4 -2
  29. package/data/Generator/templates/sdk/wasp/client/router/NavLink.tsx +21 -0
  30. package/data/Generator/templates/sdk/wasp/client/router/index.ts +2 -0
  31. package/data/Generator/templates/sdk/wasp/client/vite/plugins/typescriptCheck.ts +8 -4
  32. package/data/Generator/templates/sdk/wasp/client/vite/plugins/validateEnv.ts +72 -44
  33. package/data/Generator/templates/sdk/wasp/client/vite/plugins/wasp.ts +1 -1
  34. package/data/Generator/templates/sdk/wasp/tsconfig.json +3 -0
  35. package/data/Generator/templates/types/spec/register.ts +14 -0
  36. package/data/packages/deploy/dist/providers/railway/commands/setup/setup.js +9 -0
  37. package/data/packages/deploy/dist/providers/railway/jsonOutputSchemas.js +47 -0
  38. package/data/packages/deploy/dist/providers/railway/railwayService/deployment.js +45 -0
  39. package/data/packages/deploy/package-lock.json +2 -2
  40. package/data/packages/deploy/package.json +1 -1
  41. package/data/packages/prisma/package-lock.json +2 -2
  42. package/data/packages/prisma/package.json +1 -2
  43. package/data/packages/spec/dist/__tests__/cli.unit.test.js +128 -0
  44. package/data/packages/spec/dist/__tests__/legacy/appAnalyzer.unit.test.d.ts.map +1 -0
  45. package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/appAnalyzer.unit.test.js +3 -3
  46. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.integration.test.d.ts.map +1 -0
  47. package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/mapTsAppSpecToAppSpecDecls.integration.test.js +2 -2
  48. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.unit.test.d.ts.map +1 -0
  49. package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/mapTsAppSpecToAppSpecDecls.unit.test.js +4 -18
  50. package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/testFixtures.d.ts +4 -4
  51. package/data/packages/spec/dist/__tests__/legacy/testFixtures.d.ts.map +1 -0
  52. package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/testFixtures.js +2 -2
  53. package/data/packages/spec/dist/__tests__/legacy/testFixtures.test-d.d.ts.map +1 -0
  54. package/data/packages/spec/dist/__tests__/spec/appAnalyzer.unit.test.d.ts +2 -0
  55. package/data/packages/spec/dist/__tests__/spec/appAnalyzer.unit.test.d.ts.map +1 -0
  56. package/data/packages/spec/dist/__tests__/spec/appAnalyzer.unit.test.js +68 -0
  57. package/data/packages/spec/dist/__tests__/spec/mapApp.unit.test.d.ts +2 -0
  58. package/data/packages/spec/dist/__tests__/spec/mapApp.unit.test.d.ts.map +1 -0
  59. package/data/packages/spec/dist/__tests__/spec/mapApp.unit.test.js +814 -0
  60. package/data/packages/spec/dist/__tests__/spec/refObject.test-d.d.ts +2 -0
  61. package/data/packages/spec/dist/__tests__/spec/refObject.test-d.d.ts.map +1 -0
  62. package/data/packages/spec/dist/__tests__/spec/refObject.test-d.js +148 -0
  63. package/data/packages/spec/dist/__tests__/spec/refObject.unit.test.d.ts +2 -0
  64. package/data/packages/spec/dist/__tests__/spec/refObject.unit.test.d.ts.map +1 -0
  65. package/data/packages/spec/dist/__tests__/spec/refObject.unit.test.js +49 -0
  66. package/data/packages/spec/dist/__tests__/spec/refObjectPath.unit.test.d.ts +2 -0
  67. package/data/packages/spec/dist/__tests__/spec/refObjectPath.unit.test.d.ts.map +1 -0
  68. package/data/packages/spec/dist/__tests__/spec/refObjectPath.unit.test.js +204 -0
  69. package/data/packages/spec/dist/__tests__/spec/testFixtures.d.ts +85 -0
  70. package/data/packages/spec/dist/__tests__/spec/testFixtures.d.ts.map +1 -0
  71. package/data/packages/spec/dist/__tests__/spec/testFixtures.js +473 -0
  72. package/data/packages/spec/dist/__tests__/spec/tsAppSpec.test-d.d.ts +2 -0
  73. package/data/packages/spec/dist/__tests__/spec/tsAppSpec.test-d.d.ts.map +1 -0
  74. package/data/packages/spec/dist/__tests__/spec/tsAppSpec.test-d.js +44 -0
  75. package/data/packages/spec/dist/__tests__/spec-pipeline/pipeline.integration.test.d.ts +2 -0
  76. package/data/packages/spec/dist/__tests__/spec-pipeline/pipeline.integration.test.d.ts.map +1 -0
  77. package/data/packages/spec/dist/__tests__/spec-pipeline/pipeline.integration.test.js +218 -0
  78. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/imports.unit.test.d.ts +2 -0
  79. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/imports.unit.test.d.ts.map +1 -0
  80. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/imports.unit.test.js +174 -0
  81. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/refHelper.unit.test.d.ts +2 -0
  82. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/refHelper.unit.test.d.ts.map +1 -0
  83. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/refHelper.unit.test.js +119 -0
  84. package/data/packages/{wasp-config → spec}/dist/src/appSpec.d.ts +11 -4
  85. package/data/packages/spec/dist/src/appSpec.d.ts.map +1 -0
  86. package/data/packages/{wasp-config → spec}/dist/src/cli.d.ts +3 -1
  87. package/data/packages/spec/dist/src/cli.d.ts.map +1 -0
  88. package/data/packages/spec/dist/src/cli.js +28 -0
  89. package/data/packages/spec/dist/src/index.d.ts +2 -0
  90. package/data/packages/spec/dist/src/index.d.ts.map +1 -0
  91. package/data/packages/spec/dist/src/index.js +1 -0
  92. package/data/packages/spec/dist/src/internal.d.ts +2 -0
  93. package/data/packages/spec/dist/src/internal.d.ts.map +1 -0
  94. package/data/packages/spec/dist/src/internal.js +1 -0
  95. package/data/packages/spec/dist/src/legacy/_private.d.ts.map +1 -0
  96. package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/appAnalyzer.d.ts +1 -1
  97. package/data/packages/spec/dist/src/legacy/appAnalyzer.d.ts.map +1 -0
  98. package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/mapTsAppSpecToAppSpecDecls.d.ts +1 -1
  99. package/data/packages/spec/dist/src/legacy/mapTsAppSpecToAppSpecDecls.d.ts.map +1 -0
  100. package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/mapTsAppSpecToAppSpecDecls.js +3 -6
  101. package/data/packages/spec/dist/src/legacy/publicApi/App.d.ts.map +1 -0
  102. package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/publicApi/tsAppSpec.d.ts +3 -3
  103. package/data/packages/spec/dist/src/legacy/publicApi/tsAppSpec.d.ts.map +1 -0
  104. package/data/packages/spec/dist/src/run.js +28 -0
  105. package/data/packages/spec/dist/src/spec/appAnalyzer.d.ts +8 -0
  106. package/data/packages/spec/dist/src/spec/appAnalyzer.d.ts.map +1 -0
  107. package/data/packages/spec/dist/src/spec/appAnalyzer.js +35 -0
  108. package/data/packages/spec/dist/src/spec/mapApp.d.ts +54 -0
  109. package/data/packages/spec/dist/src/spec/mapApp.d.ts.map +1 -0
  110. package/data/packages/spec/dist/src/spec/mapApp.js +336 -0
  111. package/data/packages/spec/dist/src/spec/publicApi/constructors.d.ts +296 -0
  112. package/data/packages/spec/dist/src/spec/publicApi/constructors.d.ts.map +1 -0
  113. package/data/packages/spec/dist/src/spec/publicApi/constructors.js +277 -0
  114. package/data/packages/spec/dist/src/spec/publicApi/index.d.ts +5 -0
  115. package/data/packages/spec/dist/src/spec/publicApi/index.d.ts.map +1 -0
  116. package/data/packages/spec/dist/src/spec/publicApi/index.js +2 -0
  117. package/data/packages/spec/dist/src/spec/publicApi/register.d.ts +9 -0
  118. package/data/packages/spec/dist/src/spec/publicApi/register.d.ts.map +1 -0
  119. package/data/packages/spec/dist/src/spec/publicApi/register.js +1 -0
  120. package/data/packages/spec/dist/src/spec/publicApi/waspSpec.d.ts +872 -0
  121. package/data/packages/spec/dist/src/spec/publicApi/waspSpec.d.ts.map +1 -0
  122. package/data/packages/spec/dist/src/spec/publicApi/waspSpec.js +1 -0
  123. package/data/packages/spec/dist/src/spec/refObject.d.ts +95 -0
  124. package/data/packages/spec/dist/src/spec/refObject.d.ts.map +1 -0
  125. package/data/packages/spec/dist/src/spec/refObject.js +119 -0
  126. package/data/packages/spec/dist/src/spec/refObjectPath.d.ts +18 -0
  127. package/data/packages/spec/dist/src/spec/refObjectPath.d.ts.map +1 -0
  128. package/data/packages/spec/dist/src/spec/refObjectPath.js +79 -0
  129. package/data/packages/spec/dist/src/spec/specUserError.d.ts +9 -0
  130. package/data/packages/spec/dist/src/spec/specUserError.d.ts.map +1 -0
  131. package/data/packages/spec/dist/src/spec/specUserError.js +8 -0
  132. package/data/packages/spec/dist/src/spec-pipeline/common.d.ts +2 -0
  133. package/data/packages/spec/dist/src/spec-pipeline/common.d.ts.map +1 -0
  134. package/data/packages/spec/dist/src/spec-pipeline/common.js +1 -0
  135. package/data/packages/spec/dist/src/spec-pipeline/loadWaspTsSpec.d.ts +5 -0
  136. package/data/packages/spec/dist/src/spec-pipeline/loadWaspTsSpec.d.ts.map +1 -0
  137. package/data/packages/spec/dist/src/spec-pipeline/loadWaspTsSpec.js +46 -0
  138. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/apply.d.ts +4 -0
  139. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/apply.d.ts.map +1 -0
  140. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/apply.js +34 -0
  141. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/check.d.ts +3 -0
  142. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/check.d.ts.map +1 -0
  143. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/check.js +14 -0
  144. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/index.d.ts +5 -0
  145. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/index.d.ts.map +1 -0
  146. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/index.js +40 -0
  147. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/plan.d.ts +26 -0
  148. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/plan.d.ts.map +1 -0
  149. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/plan.js +57 -0
  150. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/index.d.ts +3 -0
  151. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/index.d.ts.map +1 -0
  152. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/index.js +8 -0
  153. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/apply.d.ts +4 -0
  154. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/apply.d.ts.map +1 -0
  155. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/apply.js +18 -0
  156. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/check.d.ts +3 -0
  157. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/check.d.ts.map +1 -0
  158. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/check.js +13 -0
  159. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/index.d.ts +5 -0
  160. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/index.d.ts.map +1 -0
  161. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/index.js +40 -0
  162. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/plan.d.ts +19 -0
  163. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/plan.d.ts.map +1 -0
  164. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/plan.js +60 -0
  165. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/util.d.ts +10 -0
  166. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/util.d.ts.map +1 -0
  167. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/util.js +53 -0
  168. package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/index.d.ts +5 -0
  169. package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/index.d.ts.map +1 -0
  170. package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/index.js +38 -0
  171. package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/project.d.ts +9 -0
  172. package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/project.d.ts.map +1 -0
  173. package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/project.js +66 -0
  174. package/data/packages/spec/dist/src/typeUtils.d.ts +3 -0
  175. package/data/packages/spec/dist/src/typeUtils.d.ts.map +1 -0
  176. package/data/packages/spec/dist/src/typeUtils.js +1 -0
  177. package/data/packages/{wasp-config → spec}/package-lock.json +921 -1475
  178. package/data/packages/spec/package.json +48 -0
  179. package/data/packages/studio/package-lock.json +2 -2
  180. package/data/packages/studio/package.json +1 -1
  181. package/data/packages/ts-inspect/package-lock.json +2 -2
  182. package/data/packages/ts-inspect/package.json +1 -1
  183. package/package.json +1 -1
  184. package/wasp-bin +0 -0
  185. package/data/Cli/starters/basic/.prettierrc +0 -3
  186. package/data/Cli/starters/basic/main.wasp +0 -100
  187. package/data/Cli/starters/minimal/main.wasp +0 -14
  188. package/data/Cli/starters/ts-minimal/main.wasp.ts +0 -15
  189. package/data/Cli/starters/ts-minimal/package.json +0 -18
  190. package/data/Cli/starters/ts-minimal/schema.prisma +0 -10
  191. package/data/Cli/starters/ts-minimal/src/Main.css +0 -103
  192. package/data/Cli/starters/ts-minimal/src/MainPage.tsx +0 -37
  193. package/data/Cli/starters/ts-minimal/src/assets/logo.svg +0 -1
  194. package/data/Cli/starters/ts-minimal/tsconfig.json +0 -7
  195. package/data/Cli/starters/ts-minimal/vite.config.ts +0 -9
  196. package/data/packages/wasp-config/dist/__tests__/appAnalyzer.unit.test.d.ts.map +0 -1
  197. package/data/packages/wasp-config/dist/__tests__/cli.unit.test.js +0 -65
  198. package/data/packages/wasp-config/dist/__tests__/mapTsAppSpecToAppSpecDecls.integration.test.d.ts.map +0 -1
  199. package/data/packages/wasp-config/dist/__tests__/mapTsAppSpecToAppSpecDecls.unit.test.d.ts.map +0 -1
  200. package/data/packages/wasp-config/dist/__tests__/testFixtures.d.ts.map +0 -1
  201. package/data/packages/wasp-config/dist/__tests__/testFixtures.test-d.d.ts.map +0 -1
  202. package/data/packages/wasp-config/dist/src/_private.d.ts.map +0 -1
  203. package/data/packages/wasp-config/dist/src/appAnalyzer.d.ts.map +0 -1
  204. package/data/packages/wasp-config/dist/src/appSpec.d.ts.map +0 -1
  205. package/data/packages/wasp-config/dist/src/cli.d.ts.map +0 -1
  206. package/data/packages/wasp-config/dist/src/cli.js +0 -24
  207. package/data/packages/wasp-config/dist/src/index.d.ts +0 -8
  208. package/data/packages/wasp-config/dist/src/index.d.ts.map +0 -1
  209. package/data/packages/wasp-config/dist/src/index.js +0 -1
  210. package/data/packages/wasp-config/dist/src/mapTsAppSpecToAppSpecDecls.d.ts.map +0 -1
  211. package/data/packages/wasp-config/dist/src/publicApi/App.d.ts.map +0 -1
  212. package/data/packages/wasp-config/dist/src/publicApi/tsAppSpec.d.ts.map +0 -1
  213. package/data/packages/wasp-config/dist/src/run.js +0 -18
  214. package/data/packages/wasp-config/package.json +0 -40
  215. /package/data/packages/{wasp-config → spec}/dist/__tests__/cli.unit.test.d.ts +0 -0
  216. /package/data/packages/{wasp-config → spec}/dist/__tests__/cli.unit.test.d.ts.map +0 -0
  217. /package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/appAnalyzer.unit.test.d.ts +0 -0
  218. /package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/mapTsAppSpecToAppSpecDecls.integration.test.d.ts +0 -0
  219. /package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/mapTsAppSpecToAppSpecDecls.unit.test.d.ts +0 -0
  220. /package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/testFixtures.test-d.d.ts +0 -0
  221. /package/data/packages/{wasp-config/dist/__tests__ → spec/dist/__tests__/legacy}/testFixtures.test-d.js +0 -0
  222. /package/data/packages/{wasp-config → spec}/dist/src/appSpec.js +0 -0
  223. /package/data/packages/{wasp-config → spec}/dist/src/branded.d.ts +0 -0
  224. /package/data/packages/{wasp-config → spec}/dist/src/branded.d.ts.map +0 -0
  225. /package/data/packages/{wasp-config → spec}/dist/src/branded.js +0 -0
  226. /package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/_private.d.ts +0 -0
  227. /package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/_private.js +0 -0
  228. /package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/appAnalyzer.js +0 -0
  229. /package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/publicApi/App.d.ts +0 -0
  230. /package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/publicApi/App.js +0 -0
  231. /package/data/packages/{wasp-config/dist/src → spec/dist/src/legacy}/publicApi/tsAppSpec.js +0 -0
  232. /package/data/packages/{wasp-config → spec}/dist/src/run.d.ts +0 -0
  233. /package/data/packages/{wasp-config → spec}/dist/src/run.d.ts.map +0 -0
@@ -0,0 +1,473 @@
1
+ /**
2
+ * Sample data for testing the spec pipeline.
3
+ * Modeled on __tests__/legacy/testFixtures.ts; scoped to what the spec
4
+ * surface currently supports (`page`, `query`).
5
+ */
6
+ import { _waspMakeRef } from "../../src/internal.js";
7
+ import { action, api, apiNamespace, app, job, page, query, route, } from "../../src/spec/publicApi/index.js";
8
+ export const MOCK_PROJECT_DIR = "/project";
9
+ export const MOCK_MAIN_WASP_TS_PATH = `${MOCK_PROJECT_DIR}/main.wasp.ts`;
10
+ export function getApp(scope) {
11
+ switch (scope) {
12
+ case "minimal":
13
+ return app({
14
+ name: "MinimalApp",
15
+ wasp: { version: "^0.16.3" },
16
+ title: "Mock App",
17
+ spec: [],
18
+ });
19
+ case "full":
20
+ return app({
21
+ name: "FullApp",
22
+ wasp: { version: "^0.16.3" },
23
+ title: "Mock App",
24
+ head: ['<link rel="icon" href="/favicon.ico" />'],
25
+ auth: getAuthConfig("full"),
26
+ server: getServerConfig("full"),
27
+ client: getClientConfig("full"),
28
+ db: getDbConfig("full"),
29
+ emailSender: getEmailSenderConfig("full"),
30
+ webSocket: getWebSocketConfig("full"),
31
+ spec: [
32
+ getPage("full"),
33
+ getRoute("full"),
34
+ getQuery("full"),
35
+ getJob("full"),
36
+ getCrud("full"),
37
+ getEmailVerifyRoute(),
38
+ getPasswordResetRoute(),
39
+ ],
40
+ });
41
+ default:
42
+ assertUnreachable(scope);
43
+ }
44
+ }
45
+ export function getMinimalAppWithSpec(spec) {
46
+ return {
47
+ ...getApp("minimal"),
48
+ spec,
49
+ };
50
+ }
51
+ export function getPage(scope) {
52
+ switch (scope) {
53
+ case "minimal":
54
+ return page(getRefObject("minimal", "named"));
55
+ case "full":
56
+ return page(getRefObject("full", "named"), {
57
+ authRequired: true,
58
+ });
59
+ default:
60
+ assertUnreachable(scope);
61
+ }
62
+ }
63
+ export function getRoute(scope) {
64
+ switch (scope) {
65
+ case "minimal":
66
+ return route("minimalRoute", "/foo/bar", getPage("minimal"));
67
+ case "full":
68
+ return route("fullRoute", "/foo/bar", getPage("full"), {
69
+ lazy: true,
70
+ prerender: true,
71
+ });
72
+ default:
73
+ assertUnreachable(scope);
74
+ }
75
+ }
76
+ export function getQuery(scope) {
77
+ switch (scope) {
78
+ case "minimal":
79
+ return query(getRefObject("minimal", "named"));
80
+ case "full":
81
+ return query(getRefObject("full", "named"), {
82
+ entities: ["Task"],
83
+ auth: true,
84
+ });
85
+ default:
86
+ assertUnreachable(scope);
87
+ }
88
+ }
89
+ export function getAction(scope) {
90
+ switch (scope) {
91
+ case "minimal":
92
+ return action(getRefObject("minimal", "named"));
93
+ case "full":
94
+ return action(getRefObject("full", "named"), {
95
+ entities: ["Task"],
96
+ auth: true,
97
+ });
98
+ default:
99
+ assertUnreachable(scope);
100
+ }
101
+ }
102
+ export function getApi(scope) {
103
+ switch (scope) {
104
+ case "minimal":
105
+ return api("GET", "/foo/bar", getRefObject("minimal", "named"));
106
+ case "full":
107
+ return api("POST", "/foo/bar", getRefObject("full", "named"), {
108
+ middlewareConfigFn: getRefObject("full", "named"),
109
+ entities: ["Task"],
110
+ auth: true,
111
+ });
112
+ default:
113
+ assertUnreachable(scope);
114
+ }
115
+ }
116
+ export function getApiNamespace(scope) {
117
+ switch (scope) {
118
+ case "minimal":
119
+ return apiNamespace("/foo", {
120
+ middlewareConfigFn: getRefObject("minimal", "named"),
121
+ });
122
+ case "full":
123
+ return apiNamespace("/foo", {
124
+ middlewareConfigFn: getRefObject("full", "named"),
125
+ });
126
+ default:
127
+ assertUnreachable(scope);
128
+ }
129
+ }
130
+ export function getJob(scope) {
131
+ switch (scope) {
132
+ case "minimal":
133
+ return job(getRefObject("minimal", "named"), {
134
+ executor: "PgBoss",
135
+ });
136
+ case "full":
137
+ return job(getRefObject("full", "named"), {
138
+ executor: "PgBoss",
139
+ schedule: getSchedule("full"),
140
+ entities: ["Task"],
141
+ performExecutorOptions: { pgBoss: { jobOptions: { attempts: 3 } } },
142
+ });
143
+ default:
144
+ assertUnreachable(scope);
145
+ }
146
+ }
147
+ export function getCrud(scope) {
148
+ // NOTE: Unlike the other Spec Elements, this fixture builds the object literally
149
+ // instead of calling the `crud()` constructor. `crud()` returns the public
150
+ // `Crud` type, whose `operations: CrudOperations` (all fields optional)
151
+ // satisfies neither `MinimalConfig<Crud>` (operations collapse to an empty
152
+ // object) nor `FullConfig<Crud>` (operations become fully required). Building
153
+ // the literal lets us keep the public type narrow, which is simpler for
154
+ // consumers.
155
+ switch (scope) {
156
+ case "minimal":
157
+ return {
158
+ kind: "crud",
159
+ name: "minimalCrud",
160
+ entity: "Task",
161
+ operations: getCrudOperations("minimal"),
162
+ };
163
+ case "full":
164
+ return {
165
+ kind: "crud",
166
+ name: "fullCrud",
167
+ entity: "Task",
168
+ operations: getCrudOperations("full"),
169
+ };
170
+ default:
171
+ assertUnreachable(scope);
172
+ }
173
+ }
174
+ export function getCrudOperations(scope) {
175
+ switch (scope) {
176
+ case "minimal":
177
+ return {};
178
+ case "full":
179
+ return {
180
+ get: getCrudOperationOptions("full"),
181
+ getAll: getCrudOperationOptions("full"),
182
+ create: getCrudOperationOptions("full"),
183
+ update: getCrudOperationOptions("full"),
184
+ delete: getCrudOperationOptions("full"),
185
+ };
186
+ default:
187
+ assertUnreachable(scope);
188
+ }
189
+ }
190
+ export function getCrudOperationOptions(scope) {
191
+ switch (scope) {
192
+ case "minimal":
193
+ return {};
194
+ case "full":
195
+ return {
196
+ isPublic: true,
197
+ overrideFn: getRefObject("full", "named"),
198
+ };
199
+ default:
200
+ assertUnreachable(scope);
201
+ }
202
+ }
203
+ export function getSchedule(scope) {
204
+ switch (scope) {
205
+ case "minimal":
206
+ return { cron: "0 0 * * *" };
207
+ case "full":
208
+ return {
209
+ cron: "0 0 * * *",
210
+ args: { foo: "bar" },
211
+ executorOptions: { pgBoss: { jobOptions: { attempts: 3 } } },
212
+ };
213
+ default:
214
+ assertUnreachable(scope);
215
+ }
216
+ }
217
+ export function getEntities(scope) {
218
+ switch (scope) {
219
+ case "minimal":
220
+ return [];
221
+ case "full":
222
+ return ["Task", "User", "SocialUser"];
223
+ default:
224
+ assertUnreachable(scope);
225
+ }
226
+ }
227
+ export function getServerConfig(scope) {
228
+ switch (scope) {
229
+ case "minimal":
230
+ return {};
231
+ case "full":
232
+ return {
233
+ setupFn: getRefObject("full", "named"),
234
+ middlewareConfigFn: getRefObject("full", "named"),
235
+ envValidationSchema: getRefObject("full", "named"),
236
+ };
237
+ default:
238
+ assertUnreachable(scope);
239
+ }
240
+ }
241
+ export function getClientConfig(scope) {
242
+ switch (scope) {
243
+ case "minimal":
244
+ return {};
245
+ case "full":
246
+ return {
247
+ rootComponent: getRefObject("full", "named"),
248
+ setupFn: getRefObject("full", "named"),
249
+ baseDir: "/src",
250
+ envValidationSchema: getRefObject("full", "named"),
251
+ };
252
+ default:
253
+ assertUnreachable(scope);
254
+ }
255
+ }
256
+ export function getDbConfig(scope) {
257
+ switch (scope) {
258
+ case "minimal":
259
+ return {};
260
+ case "full":
261
+ return {
262
+ seeds: [getRefObject("full", "named"), getRefObject("full", "default")],
263
+ prismaSetupFn: getRefObject("full", "named"),
264
+ };
265
+ default:
266
+ assertUnreachable(scope);
267
+ }
268
+ }
269
+ export function getEmailSenderConfig(scope) {
270
+ switch (scope) {
271
+ case "minimal":
272
+ return {
273
+ provider: "SMTP",
274
+ };
275
+ case "full":
276
+ return {
277
+ provider: "SMTP",
278
+ defaultFrom: getEmailFromField("full"),
279
+ };
280
+ default:
281
+ assertUnreachable(scope);
282
+ }
283
+ }
284
+ export function getWebSocketConfig(scope) {
285
+ switch (scope) {
286
+ case "minimal":
287
+ return {
288
+ fn: getRefObject("minimal", "named"),
289
+ };
290
+ case "full":
291
+ return {
292
+ fn: getRefObject("full", "named"),
293
+ autoConnect: true,
294
+ };
295
+ default:
296
+ assertUnreachable(scope);
297
+ }
298
+ }
299
+ export function getAuthConfig(scope) {
300
+ switch (scope) {
301
+ case "minimal":
302
+ return {
303
+ userEntity: "User",
304
+ methods: getAuthMethods("minimal"),
305
+ onAuthFailedRedirectTo: "/login",
306
+ };
307
+ case "full":
308
+ return {
309
+ userEntity: "User",
310
+ methods: getAuthMethods("full"),
311
+ onAuthFailedRedirectTo: "/login",
312
+ onAuthSucceededRedirectTo: "/profile",
313
+ onBeforeSignup: getRefObject("full", "named"),
314
+ onAfterSignup: getRefObject("full", "named"),
315
+ onAfterEmailVerified: getRefObject("full", "named"),
316
+ onBeforeOAuthRedirect: getRefObject("full", "named"),
317
+ onBeforeLogin: getRefObject("full", "named"),
318
+ onAfterLogin: getRefObject("full", "named"),
319
+ };
320
+ default:
321
+ assertUnreachable(scope);
322
+ }
323
+ }
324
+ export function getAuthMethods(scope) {
325
+ switch (scope) {
326
+ case "minimal":
327
+ return {};
328
+ case "full":
329
+ return {
330
+ slack: getSocialAuthConfig("full"),
331
+ discord: getSocialAuthConfig("full"),
332
+ google: getSocialAuthConfig("full"),
333
+ gitHub: getSocialAuthConfig("full"),
334
+ keycloak: getSocialAuthConfig("full"),
335
+ microsoft: getSocialAuthConfig("full"),
336
+ email: getEmailAuthConfig("full"),
337
+ };
338
+ default:
339
+ assertUnreachable(scope);
340
+ }
341
+ }
342
+ export function getUsernameAndPasswordConfig(scope) {
343
+ switch (scope) {
344
+ case "minimal":
345
+ return {};
346
+ case "full":
347
+ return {
348
+ userSignupFields: getRefObject("full", "named"),
349
+ };
350
+ default:
351
+ assertUnreachable(scope);
352
+ }
353
+ }
354
+ export function getSocialAuthConfig(scope) {
355
+ switch (scope) {
356
+ case "minimal":
357
+ return {};
358
+ case "full":
359
+ return {
360
+ configFn: getRefObject("full", "named"),
361
+ userSignupFields: getRefObject("full", "named"),
362
+ };
363
+ default:
364
+ assertUnreachable(scope);
365
+ }
366
+ }
367
+ export function getEmailAuthConfig(scope) {
368
+ switch (scope) {
369
+ case "minimal":
370
+ return {
371
+ fromField: getEmailFromField("minimal"),
372
+ emailVerification: getEmailVerificationConfig("minimal"),
373
+ passwordReset: getPasswordResetConfig("minimal"),
374
+ };
375
+ case "full":
376
+ return {
377
+ fromField: getEmailFromField("full"),
378
+ emailVerification: getEmailVerificationConfig("full"),
379
+ passwordReset: getPasswordResetConfig("full"),
380
+ userSignupFields: getRefObject("full", "named"),
381
+ };
382
+ default:
383
+ assertUnreachable(scope);
384
+ }
385
+ }
386
+ export function getEmailVerificationConfig(scope) {
387
+ switch (scope) {
388
+ case "minimal":
389
+ return {
390
+ clientRoute: EMAIL_VERIFY_ROUTE_NAME,
391
+ };
392
+ case "full":
393
+ return {
394
+ clientRoute: EMAIL_VERIFY_ROUTE_NAME,
395
+ getEmailContentFn: getRefObject("full", "named"),
396
+ };
397
+ default:
398
+ assertUnreachable(scope);
399
+ }
400
+ }
401
+ export function getPasswordResetConfig(scope) {
402
+ switch (scope) {
403
+ case "minimal":
404
+ return {
405
+ clientRoute: PASSWORD_RESET_ROUTE_NAME,
406
+ };
407
+ case "full":
408
+ return {
409
+ clientRoute: PASSWORD_RESET_ROUTE_NAME,
410
+ getEmailContentFn: getRefObject("full", "named"),
411
+ };
412
+ default:
413
+ assertUnreachable(scope);
414
+ }
415
+ }
416
+ export function getEmailFromField(scope) {
417
+ switch (scope) {
418
+ case "minimal":
419
+ return {
420
+ email: "noreply@example.com",
421
+ };
422
+ case "full":
423
+ return {
424
+ name: "Wasp",
425
+ email: "noreply@example.com",
426
+ };
427
+ default:
428
+ assertUnreachable(scope);
429
+ }
430
+ }
431
+ export const EMAIL_VERIFY_ROUTE_PATH = "/email-verify";
432
+ export const EMAIL_VERIFY_ROUTE_NAME = "EmailVerifyRoute";
433
+ export const PASSWORD_RESET_ROUTE_PATH = "/password-reset";
434
+ export const PASSWORD_RESET_ROUTE_NAME = "PasswordResetRoute";
435
+ export function getEmailVerifyRoute() {
436
+ return route(EMAIL_VERIFY_ROUTE_NAME, EMAIL_VERIFY_ROUTE_PATH, page(getRefObjectForMockProject({
437
+ import: "EmailVerifyPage",
438
+ from: "./src/auth/pages",
439
+ })));
440
+ }
441
+ export function getPasswordResetRoute() {
442
+ return route(PASSWORD_RESET_ROUTE_NAME, PASSWORD_RESET_ROUTE_PATH, page(getRefObjectForMockProject({
443
+ import: "PasswordResetPage",
444
+ from: "./src/auth/pages",
445
+ })));
446
+ }
447
+ export function getRefObject(scope, importKind) {
448
+ switch (importKind) {
449
+ case "named":
450
+ return scope === "full"
451
+ ? getRefObjectForMockProject({
452
+ import: "namedExport",
453
+ alias: "namedAlias",
454
+ from: "./src/external",
455
+ })
456
+ : getRefObjectForMockProject({
457
+ import: "namedExport",
458
+ from: "./src/external",
459
+ });
460
+ case "default":
461
+ return getRefObjectForMockProject({
462
+ importDefault: "defaultExport",
463
+ from: "./src/external",
464
+ });
465
+ default:
466
+ assertUnreachable(importKind);
467
+ }
468
+ }
469
+ const getRefObjectForMockProject = _waspMakeRef(MOCK_MAIN_WASP_TS_PATH);
470
+ const CONFIG_SCOPES = ["minimal", "full"];
471
+ function assertUnreachable(value) {
472
+ throw new Error(`Unhandled case: ${value}`);
473
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tsAppSpec.test-d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsAppSpec.test-d.d.ts","sourceRoot":"","sources":["../../../__tests__/spec/tsAppSpec.test-d.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ // We are only interested in testing the types, so we don't actually need to use
2
+ // the variables we define here:
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+ import { describe, expectTypeOf, test } from "vitest";
5
+ describe("AuthMethods", () => {
6
+ const usernameAndPassword = {
7
+ usernameAndPassword: {},
8
+ };
9
+ const email = {
10
+ email: {
11
+ fromField: { email: "noreply@example.com" },
12
+ emailVerification: { clientRoute: "/verify" },
13
+ passwordReset: { clientRoute: "/reset" },
14
+ },
15
+ };
16
+ const google = {
17
+ google: {},
18
+ };
19
+ const slack = {
20
+ slack: {},
21
+ };
22
+ test("allows only usernameAndPassword", () => {
23
+ expectTypeOf().toExtend();
24
+ });
25
+ test("allows only email", () => {
26
+ expectTypeOf().toExtend();
27
+ });
28
+ test("allows no local auth method (e.g. only a social method)", () => {
29
+ expectTypeOf().toExtend();
30
+ expectTypeOf().toExtend();
31
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
32
+ expectTypeOf().toExtend();
33
+ });
34
+ test("allows a social method together with one local method", () => {
35
+ expectTypeOf().toExtend();
36
+ expectTypeOf().toExtend();
37
+ });
38
+ test("forbids usernameAndPassword and email at the same time", () => {
39
+ expectTypeOf().not.toExtend();
40
+ });
41
+ test("forbids usernameAndPassword and email even alongside a social method", () => {
42
+ expectTypeOf().not.toExtend();
43
+ });
44
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipeline.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.integration.test.d.ts","sourceRoot":"","sources":["../../../__tests__/spec-pipeline/pipeline.integration.test.ts"],"names":[],"mappings":""}