@wasp.sh/wasp-cli-darwin-arm64-unknown 0.23.0 → 0.24.0-rc.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 (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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=refObject.test-d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refObject.test-d.d.ts","sourceRoot":"","sources":["../../../__tests__/spec/refObject.test-d.ts"],"names":[],"mappings":""}
@@ -0,0 +1,148 @@
1
+ import { assertType, describe, test } from "vitest";
2
+ import { _waspMakeRef } from "../../src/internal.js";
3
+ import { ref } from "../../src/spec/publicApi/index.js";
4
+ describe("RefObject input types", () => {
5
+ test("should accept ref helper output at reference use sites", () => {
6
+ const component = ref({
7
+ importDefault: "MainPage",
8
+ from: "./MainPage",
9
+ });
10
+ assertType({ kind: "page", component });
11
+ });
12
+ test("should accept _waspMakeRef helper output at reference use sites", () => {
13
+ const sourceAwareRefImport = _waspMakeRef(import.meta.url);
14
+ const component = sourceAwareRefImport({
15
+ importDefault: "MainPage",
16
+ from: "./MainPage",
17
+ });
18
+ assertType({ kind: "page", component });
19
+ });
20
+ test("should accept functions at reference use sites", () => {
21
+ const component = () => null;
22
+ const operation = async (_args) => null;
23
+ const object = { field: () => "" };
24
+ const hook = async () => null;
25
+ const setup = () => null;
26
+ const middleware = () => null;
27
+ assertType({ kind: "page", component });
28
+ assertType({
29
+ kind: "query",
30
+ fn: operation,
31
+ });
32
+ assertType({
33
+ kind: "action",
34
+ fn: operation,
35
+ });
36
+ assertType({
37
+ kind: "api",
38
+ method: "GET",
39
+ path: "/api",
40
+ fn: operation,
41
+ middlewareConfigFn: middleware,
42
+ });
43
+ assertType({
44
+ kind: "apiNamespace",
45
+ path: "/api",
46
+ middlewareConfigFn: middleware,
47
+ });
48
+ assertType({
49
+ kind: "job",
50
+ fn: operation,
51
+ executor: "PgBoss",
52
+ });
53
+ assertType({ fn: operation });
54
+ assertType({
55
+ userEntity: "User",
56
+ methods: {},
57
+ onAuthFailedRedirectTo: "/login",
58
+ onBeforeSignup: hook,
59
+ });
60
+ assertType({
61
+ configFn: hook,
62
+ userSignupFields: object,
63
+ });
64
+ assertType({
65
+ getEmailContentFn: hook,
66
+ clientRoute: "EmailRoute",
67
+ });
68
+ assertType({
69
+ setupFn: setup,
70
+ middlewareConfigFn: middleware,
71
+ });
72
+ assertType({
73
+ rootComponent: component,
74
+ setupFn: setup,
75
+ });
76
+ assertType({
77
+ seeds: [hook],
78
+ prismaSetupFn: setup,
79
+ });
80
+ });
81
+ test("should reject objects that are not RefObject objects at reference use sites", () => {
82
+ const component = { render: () => null };
83
+ // @ts-expect-error Reference use sites accept RefObject values or functions.
84
+ assertType({ kind: "page", component });
85
+ });
86
+ test("should reject raw descriptor-like objects", () => {
87
+ const component = { from: "./MainPage", importDefault: "MainPage" };
88
+ // @ts-expect-error Descriptor-like objects must be wrapped in ref.
89
+ assertType({ kind: "page", component });
90
+ });
91
+ test("should reject incomplete RefObject objects", () => {
92
+ const component = { kind: "refObject", from: "./MainPage" };
93
+ // @ts-expect-error RefObject objects must include either import or importDefault.
94
+ assertType({ kind: "page", component });
95
+ });
96
+ test("should reject handwritten RefObject-shaped objects", () => {
97
+ const component = {
98
+ kind: "refObject",
99
+ importDefault: "MainPage",
100
+ from: "./MainPage",
101
+ };
102
+ // @ts-expect-error RefObject objects must come from ref or reference imports.
103
+ assertType({ kind: "page", component });
104
+ });
105
+ });
106
+ describe("Env validation schema input types", () => {
107
+ test("should accept Zod schema-shaped values", () => {
108
+ const schema = {
109
+ _zod: {
110
+ def: {
111
+ type: "string",
112
+ },
113
+ },
114
+ };
115
+ assertType({ envValidationSchema: schema });
116
+ assertType({ envValidationSchema: schema });
117
+ });
118
+ test("should accept RefObject env validation schemas", () => {
119
+ const schemaImport = ref({
120
+ importDefault: "schema",
121
+ from: "./env",
122
+ });
123
+ assertType({ envValidationSchema: schemaImport });
124
+ assertType({ envValidationSchema: schemaImport });
125
+ });
126
+ test("should reject raw descriptor env validation schemas", () => {
127
+ const schemaImport = {
128
+ importDefault: "schema",
129
+ from: "./env",
130
+ };
131
+ // @ts-expect-error Env validation schemas must use ref or Zod schema-shaped values.
132
+ assertType({ envValidationSchema: schemaImport });
133
+ // @ts-expect-error Env validation schemas must use ref or Zod schema-shaped values.
134
+ assertType({ envValidationSchema: schemaImport });
135
+ });
136
+ test("should reject non-schema objects at env validation schema use sites", () => {
137
+ // @ts-expect-error Env validation schemas must use ref or Zod schema-shaped values.
138
+ assertType({ envValidationSchema: {} });
139
+ // @ts-expect-error Env validation schemas must use ref or Zod schema-shaped values.
140
+ assertType({ envValidationSchema: [] });
141
+ });
142
+ test("should reject malformed Zod schema-shaped objects", () => {
143
+ // @ts-expect-error Zod schema-shaped values must include a definition object.
144
+ assertType({ envValidationSchema: { _zod: true } });
145
+ // @ts-expect-error Zod schema-shaped values must include a definition object.
146
+ assertType({ envValidationSchema: { _zod: {} } });
147
+ });
148
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=refObject.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refObject.unit.test.d.ts","sourceRoot":"","sources":["../../../__tests__/spec/refObject.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { mapRefObject } from "../../src/spec/refObject.js";
3
+ import { SpecUserError } from "../../src/spec/specUserError.js";
4
+ import * as Fixtures from "./testFixtures.js";
5
+ describe("mapRefObject", () => {
6
+ test("should map minimal named import correctly", () => {
7
+ testMapRefObject(Fixtures.getRefObject("minimal", "named"));
8
+ });
9
+ test("should map full named import correctly", () => {
10
+ testMapRefObject(Fixtures.getRefObject("full", "named"));
11
+ });
12
+ test("should map minimal default import correctly", () => {
13
+ testMapRefObject(Fixtures.getRefObject("minimal", "default"));
14
+ });
15
+ test("should map full default import correctly", () => {
16
+ testMapRefObject(Fixtures.getRefObject("full", "default"));
17
+ });
18
+ test.each([
19
+ { refObject: () => null },
20
+ { refObject: { parse: () => ({}) } },
21
+ { refObject: { from: "./src/external" } },
22
+ ])("returns an error for invalid runtime values", ({ refObject }) => {
23
+ expect(() => mapRefObjectForProject(refObject)).toThrow(SpecUserError);
24
+ expect(() => mapRefObjectForProject(refObject)).toThrow("Got an import in the Wasp file that we couldn't process");
25
+ });
26
+ function testMapRefObject(refObject) {
27
+ const result = mapRefObjectForProject(refObject);
28
+ if ("import" in refObject) {
29
+ expect(result).toStrictEqual({
30
+ kind: "named",
31
+ name: refObject.import,
32
+ path: "@src/external",
33
+ alias: refObject.alias,
34
+ });
35
+ }
36
+ else {
37
+ expect(result).toStrictEqual({
38
+ kind: "default",
39
+ name: refObject.importDefault,
40
+ path: "@src/external",
41
+ });
42
+ }
43
+ }
44
+ function mapRefObjectForProject(refObject) {
45
+ return mapRefObject(refObject, {
46
+ projectRootDir: Fixtures.MOCK_PROJECT_DIR,
47
+ });
48
+ }
49
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=refObjectPath.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refObjectPath.unit.test.d.ts","sourceRoot":"","sources":["../../../__tests__/spec/refObjectPath.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,204 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import * as fs from "node:fs";
54
+ import * as os from "node:os";
55
+ import * as path from "node:path/posix"; // Module paths are always `/`-delimited
56
+ import { describe, expect, test } from "vitest";
57
+ import { normalizeRefObjectPath } from "../../src/spec/refObjectPath.js";
58
+ import { SpecUserError } from "../../src/spec/specUserError.js";
59
+ describe("normalizeRefObjectPath", () => {
60
+ test("maps a top-level spec ref import targeting src", () => {
61
+ const env_1 = { stack: [], error: void 0, hasError: false };
62
+ try {
63
+ const project = __addDisposableResource(env_1, makeTempProject(), false);
64
+ expect(normalizeRefObjectPath({
65
+ importPath: "./src/MainPage",
66
+ importingFilePath: path.join(project.rootDir, "main.wasp.ts"),
67
+ projectRootDir: project.rootDir,
68
+ })).toBe("@src/MainPage");
69
+ }
70
+ catch (e_1) {
71
+ env_1.error = e_1;
72
+ env_1.hasError = true;
73
+ }
74
+ finally {
75
+ __disposeResources(env_1);
76
+ }
77
+ });
78
+ test("maps a nested spec ref import from its importing file", () => {
79
+ const env_2 = { stack: [], error: void 0, hasError: false };
80
+ try {
81
+ const project = __addDisposableResource(env_2, makeTempProject(), false);
82
+ expect(normalizeRefObjectPath({
83
+ importPath: "./MainPage",
84
+ importingFilePath: path.join(project.rootDir, "src", "features", "home.wasp.ts"),
85
+ projectRootDir: project.rootDir,
86
+ })).toBe("@src/features/MainPage");
87
+ }
88
+ catch (e_2) {
89
+ env_2.error = e_2;
90
+ env_2.hasError = true;
91
+ }
92
+ finally {
93
+ __disposeResources(env_2);
94
+ }
95
+ });
96
+ test("maps a nested ref import that climbs to the src root", () => {
97
+ const env_3 = { stack: [], error: void 0, hasError: false };
98
+ try {
99
+ const project = __addDisposableResource(env_3, makeTempProject(), false);
100
+ expect(normalizeRefObjectPath({
101
+ importPath: "../../MainPage",
102
+ importingFilePath: path.join(project.rootDir, "src", "features", "home", "home.wasp.ts"),
103
+ projectRootDir: project.rootDir,
104
+ })).toBe("@src/MainPage");
105
+ }
106
+ catch (e_3) {
107
+ env_3.error = e_3;
108
+ env_3.hasError = true;
109
+ }
110
+ finally {
111
+ __disposeResources(env_3);
112
+ }
113
+ });
114
+ test("normalizes ref import path segments", () => {
115
+ const env_4 = { stack: [], error: void 0, hasError: false };
116
+ try {
117
+ const project = __addDisposableResource(env_4, makeTempProject(), false);
118
+ expect(normalizeRefObjectPath({
119
+ importPath: "./src/features/../MainPage",
120
+ importingFilePath: path.join(project.rootDir, "main.wasp.ts"),
121
+ projectRootDir: project.rootDir,
122
+ })).toBe("@src/MainPage");
123
+ }
124
+ catch (e_4) {
125
+ env_4.error = e_4;
126
+ env_4.hasError = true;
127
+ }
128
+ finally {
129
+ __disposeResources(env_4);
130
+ }
131
+ });
132
+ test("rejects ref imports that resolve outside src", () => {
133
+ const env_5 = { stack: [], error: void 0, hasError: false };
134
+ try {
135
+ const project = __addDisposableResource(env_5, makeTempProject(), false);
136
+ expect(() => normalizeRefObjectPath({
137
+ importPath: "./helpers/helper",
138
+ importingFilePath: path.join(project.rootDir, "main.wasp.ts"),
139
+ projectRootDir: project.rootDir,
140
+ })).toThrow(SpecUserError);
141
+ expect(() => normalizeRefObjectPath({
142
+ importPath: "./helpers/helper",
143
+ importingFilePath: path.join(project.rootDir, "main.wasp.ts"),
144
+ projectRootDir: project.rootDir,
145
+ })).toThrow(/must resolve to a file inside the app src\/ directory/);
146
+ }
147
+ catch (e_5) {
148
+ env_5.error = e_5;
149
+ env_5.hasError = true;
150
+ }
151
+ finally {
152
+ __disposeResources(env_5);
153
+ }
154
+ });
155
+ test("rejects ref imports that resolve to src itself", () => {
156
+ const env_6 = { stack: [], error: void 0, hasError: false };
157
+ try {
158
+ const project = __addDisposableResource(env_6, makeTempProject(), false);
159
+ expect(() => normalizeRefObjectPath({
160
+ importPath: "./src",
161
+ importingFilePath: path.join(project.rootDir, "main.wasp.ts"),
162
+ projectRootDir: project.rootDir,
163
+ })).toThrow(SpecUserError);
164
+ expect(() => normalizeRefObjectPath({
165
+ importPath: "./src",
166
+ importingFilePath: path.join(project.rootDir, "main.wasp.ts"),
167
+ projectRootDir: project.rootDir,
168
+ })).toThrow(/must resolve to a file inside the app src\/ directory/);
169
+ }
170
+ catch (e_6) {
171
+ env_6.error = e_6;
172
+ env_6.hasError = true;
173
+ }
174
+ finally {
175
+ __disposeResources(env_6);
176
+ }
177
+ });
178
+ test("allows ref imports that leave src and resolve back inside", () => {
179
+ const env_7 = { stack: [], error: void 0, hasError: false };
180
+ try {
181
+ const project = __addDisposableResource(env_7, makeTempProject(), false);
182
+ expect(normalizeRefObjectPath({
183
+ importPath: "../../../src/MainPage",
184
+ importingFilePath: path.join(project.rootDir, "src", "features", "home", "home.wasp.ts"),
185
+ projectRootDir: project.rootDir,
186
+ })).toBe("@src/MainPage");
187
+ }
188
+ catch (e_7) {
189
+ env_7.error = e_7;
190
+ env_7.hasError = true;
191
+ }
192
+ finally {
193
+ __disposeResources(env_7);
194
+ }
195
+ });
196
+ });
197
+ function makeTempProject() {
198
+ const rootDir = fs.mkdtempSync(path.join(os.tmpdir(), "wasp-ref-path-"));
199
+ fs.mkdirSync(path.join(rootDir, "src"));
200
+ return {
201
+ rootDir,
202
+ [Symbol.dispose]: () => fs.rmSync(rootDir, { recursive: true, force: true }),
203
+ };
204
+ }
@@ -0,0 +1,85 @@
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 * as AppSpec from "../../src/appSpec.js";
7
+ import { Branded } from "../../src/branded.js";
8
+ import * as WaspSpec from "../../src/spec/publicApi/waspSpec.js";
9
+ import type { AnyFunction } from "../../src/typeUtils.js";
10
+ export declare const MOCK_PROJECT_DIR = "/project";
11
+ export declare const MOCK_MAIN_WASP_TS_PATH = "/project/main.wasp.ts";
12
+ export declare function getApp(scope: ConfigScope): WaspSpec.App;
13
+ export declare function getMinimalAppWithSpec(spec: WaspSpec.Spec): WaspSpec.App;
14
+ export declare function getPage<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Page>;
15
+ export declare function getRoute<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Route>;
16
+ export declare function getQuery<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Query>;
17
+ export declare function getAction<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Action>;
18
+ export declare function getApi<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Api>;
19
+ export declare function getApiNamespace<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.ApiNamespace>;
20
+ export declare function getJob<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Job>;
21
+ export declare function getCrud<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Crud>;
22
+ export declare function getCrudOperations<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.CrudOperations>;
23
+ export declare function getCrudOperationOptions<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.CrudOperationOptions>;
24
+ export declare function getSchedule<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Schedule>;
25
+ export declare function getEntities(scope: ConfigScope): string[];
26
+ export declare function getServerConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Server>;
27
+ export declare function getClientConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Client>;
28
+ export declare function getDbConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Db>;
29
+ export declare function getEmailSenderConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.EmailSender>;
30
+ export declare function getWebSocketConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.WebSocket>;
31
+ export declare function getAuthConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.Auth>;
32
+ export declare function getAuthMethods<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.AuthMethods>;
33
+ export declare function getUsernameAndPasswordConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.UsernameAndPasswordConfig>;
34
+ export declare function getSocialAuthConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.SocialAuthConfig>;
35
+ export declare function getEmailAuthConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.EmailAuthConfig>;
36
+ export declare function getEmailVerificationConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.EmailFlowConfig>;
37
+ export declare function getPasswordResetConfig<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.EmailFlowConfig>;
38
+ export declare function getEmailFromField<Scope extends ConfigScope>(scope: Scope): ConfigFor<Scope, WaspSpec.EmailFromField>;
39
+ export declare const EMAIL_VERIFY_ROUTE_PATH = "/email-verify";
40
+ export declare const EMAIL_VERIFY_ROUTE_NAME = "EmailVerifyRoute";
41
+ export declare const PASSWORD_RESET_ROUTE_PATH = "/password-reset";
42
+ export declare const PASSWORD_RESET_ROUTE_NAME = "PasswordResetRoute";
43
+ export declare function getEmailVerifyRoute(): WaspSpec.Route;
44
+ export declare function getPasswordResetRoute(): WaspSpec.Route;
45
+ export declare function getRefObject<Scope extends ConfigScope, Kind extends AppSpec.ExtImportKind>(scope: Scope, importKind: Kind): ConfigFor<Scope, RefObjectFor<Kind>>;
46
+ export type Config<T> = MinimalConfig<T> | FullConfig<T>;
47
+ /**
48
+ * Recursively strips optional properties from T.
49
+ * - Branded types are passed through (don't recurse into the brand).
50
+ * - Arrays recurse into element type.
51
+ * - Objects keep only required keys (collapse to EmptyObject when none remain).
52
+ * - Primitives pass through.
53
+ * - Functions pass through.
54
+ */
55
+ export type MinimalConfig<T> = T extends Branded<unknown, unknown> ? T : T extends AnyFunction ? T : T extends Array<infer Item> ? Array<MinimalConfig<Item>> : T extends object ? keyof T extends never ? EmptyObject : MinimalConfigObject<T> : T;
56
+ type MinimalConfigObject<T> = {
57
+ [K in keyof T as EmptyObject extends Pick<T, K> ? never : K]: MinimalConfig<T[K]>;
58
+ } extends infer Result ? Result extends EmptyObject ? EmptyObject : Result : never;
59
+ type EmptyObject = Record<string, never>;
60
+ /**
61
+ * Recursively makes every property of T required.
62
+ * - Branded types are passed through (don't recurse into the brand).
63
+ * - Arrays recurse into element type.
64
+ * - Objects strip every `?` and recurse.
65
+ * - Primitives pass through.
66
+ * - Functions pass through.
67
+ *
68
+ * Exception: keys that can only ever be `never` (the exclusion markers
69
+ * generated by `RequireOneOrNone` & friends, e.g. `usernameAndPassword?: never`
70
+ * on the email branch of `AuthMethods`) are left optional. Forcing them to be
71
+ * required would make the type unsatisfiable.
72
+ */
73
+ export type FullConfig<T> = T extends Branded<unknown, unknown> ? T : T extends AnyFunction ? T : T extends Array<infer Item> ? Array<FullConfig<Item>> : T extends object ? FullConfigObject<T> : T;
74
+ type FullConfigObject<T> = {
75
+ [K in keyof T as IsExclusionMarker<T[K]> extends true ? never : K]-?: FullConfig<T[K]>;
76
+ } & {
77
+ [K in keyof T as IsExclusionMarker<T[K]> extends true ? K : never]?: T[K];
78
+ };
79
+ type IsExclusionMarker<V> = [Exclude<V, undefined>] extends [never] ? true : false;
80
+ type RefObjectFor<Kind extends AppSpec.ExtImportKind> = Kind extends "named" ? WaspSpec.RefObject & WaspSpec.NamedRefObjectDescriptor : WaspSpec.RefObject & WaspSpec.DefaultRefObjectDescriptor;
81
+ type ConfigFor<Scope extends ConfigScope, Data> = Scope extends "full" ? FullConfig<Data> : MinimalConfig<Data>;
82
+ declare const CONFIG_SCOPES: readonly ["minimal", "full"];
83
+ type ConfigScope = (typeof CONFIG_SCOPES)[number];
84
+ export {};
85
+ //# sourceMappingURL=testFixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testFixtures.d.ts","sourceRoot":"","sources":["../../../__tests__/spec/testFixtures.ts"],"names":[],"mappings":"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"}