@wasp.sh/wasp-cli-darwin-arm64-unknown 0.24.0 → 0.25.0

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 (189) hide show
  1. package/data/Cli/starters/basic/main.wasp.ts +1 -1
  2. package/data/Cli/starters/basic/package.json +5 -5
  3. package/data/Cli/starters/basic/src/App.css +12 -11
  4. package/data/Cli/starters/basic/src/assets/wasp-logo-rounded.svg +1 -0
  5. package/data/Cli/starters/basic/src/shared/components/Header.tsx +3 -3
  6. package/data/Cli/starters/minimal/main.wasp.ts +1 -1
  7. package/data/Cli/starters/minimal/package.json +4 -4
  8. package/data/Cli/starters/minimal/src/Main.css +5 -5
  9. package/data/Cli/starters/minimal/src/MainPage.tsx +2 -2
  10. package/data/Cli/starters/minimal/src/assets/wasp-logo-rounded.svg +1 -0
  11. package/data/Cli/starters/skeleton/public/favicon.ico +0 -0
  12. package/data/Cli/starters/skeleton/tsconfig.src.json +2 -1
  13. package/data/Cli/starters/skeleton/tsconfig.wasp.json +3 -2
  14. package/data/Generator/libs/auth/wasp.sh-lib-auth-0.25.0.tgz +0 -0
  15. package/data/Generator/libs/vite-ssr/wasp.sh-lib-vite-ssr-0.25.0.tgz +0 -0
  16. package/data/Generator/templates/sdk/wasp/api/index.ts +2 -2
  17. package/data/Generator/templates/sdk/wasp/auth/email/actions/login.ts +1 -1
  18. package/data/Generator/templates/sdk/wasp/auth/email/actions/passwordReset.ts +1 -1
  19. package/data/Generator/templates/sdk/wasp/auth/email/actions/signup.ts +1 -1
  20. package/data/Generator/templates/sdk/wasp/auth/email/actions/verifyEmail.ts +1 -1
  21. package/data/Generator/templates/sdk/wasp/auth/forms/internal/auth-styles.css +2 -2
  22. package/data/Generator/templates/sdk/wasp/auth/forms/internal/common/LoginSignupForm.tsx +1 -1
  23. package/data/Generator/templates/sdk/wasp/auth/helpers/_Provider.tsx +1 -1
  24. package/data/Generator/templates/sdk/wasp/auth/helpers/user.ts +1 -1
  25. package/data/Generator/templates/sdk/wasp/auth/jwt.ts +1 -1
  26. package/data/Generator/templates/sdk/wasp/auth/logout.ts +1 -1
  27. package/data/Generator/templates/sdk/wasp/auth/lucia.ts +2 -2
  28. package/data/Generator/templates/sdk/wasp/auth/providers/types.ts +1 -1
  29. package/data/Generator/templates/sdk/wasp/auth/session.ts +1 -1
  30. package/data/Generator/templates/sdk/wasp/auth/types.ts +1 -1
  31. package/data/Generator/templates/sdk/wasp/auth/useAuth.ts +5 -5
  32. package/data/Generator/templates/sdk/wasp/auth/username/actions/login.ts +1 -1
  33. package/data/Generator/templates/sdk/wasp/auth/username/actions/signup.ts +1 -1
  34. package/data/Generator/templates/sdk/wasp/auth/utils.ts +3 -3
  35. package/data/Generator/templates/sdk/wasp/auth/validation.ts +1 -1
  36. package/data/Generator/templates/sdk/wasp/client/app/layout.tsx +55 -46
  37. package/data/Generator/templates/sdk/wasp/client/app/router.tsx +2 -5
  38. package/data/Generator/templates/sdk/wasp/client/crud/_crud.ts +2 -2
  39. package/data/Generator/templates/sdk/wasp/client/operations/actions/core.ts +1 -1
  40. package/data/Generator/templates/sdk/wasp/client/operations/index.ts +5 -0
  41. package/data/Generator/templates/sdk/wasp/client/operations/internal/index.ts +3 -3
  42. package/data/Generator/templates/sdk/wasp/client/operations/internal/resources.js +4 -2
  43. package/data/Generator/templates/sdk/wasp/client/operations/queries/core.ts +2 -2
  44. package/data/Generator/templates/sdk/wasp/client/operations/rpc.ts +2 -2
  45. package/data/Generator/templates/sdk/wasp/client/test/vitest/helpers.tsx +3 -4
  46. package/data/Generator/templates/sdk/wasp/client/vite/plugins/validateEnv.ts +14 -8
  47. package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/files/client-entry.tsx +31 -11
  48. package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/files/routes.tsx +26 -20
  49. package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/files/ssr-entry.tsx +29 -24
  50. package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/resolver.ts +12 -5
  51. package/data/Generator/templates/sdk/wasp/client/webSocket/WebSocketProvider.tsx +4 -4
  52. package/data/Generator/templates/sdk/wasp/client/webSocket/index.ts +1 -1
  53. package/data/Generator/templates/sdk/wasp/core/auth.ts +3 -3
  54. package/data/Generator/templates/sdk/wasp/env/validation.ts +1 -1
  55. package/data/Generator/templates/sdk/wasp/package.json +2 -42
  56. package/data/Generator/templates/sdk/wasp/serialization/index.ts +11 -0
  57. package/data/Generator/templates/sdk/wasp/server/_types/index.ts +6 -6
  58. package/data/Generator/templates/sdk/wasp/server/_types/taggedEntities.ts +1 -1
  59. package/data/Generator/templates/sdk/wasp/server/auth/email/utils.ts +6 -6
  60. package/data/Generator/templates/sdk/wasp/server/crud/_operationTypes.ts +2 -2
  61. package/data/Generator/templates/sdk/wasp/server/email/core/index.ts +4 -0
  62. package/data/Generator/templates/sdk/wasp/server/email/core/providers/dummy.ts +1 -1
  63. package/data/Generator/templates/sdk/wasp/server/email/core/providers/resend.ts +31 -0
  64. package/data/Generator/templates/sdk/wasp/server/email/core/types.ts +7 -1
  65. package/data/Generator/templates/sdk/wasp/server/email/index.ts +6 -0
  66. package/data/Generator/templates/sdk/wasp/server/env.ts +5 -0
  67. package/data/Generator/templates/sdk/wasp/server/jobs/_job.ts +2 -2
  68. package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/pgBossJob.ts +3 -3
  69. package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/types.ts +2 -2
  70. package/data/Generator/templates/sdk/wasp/server/operations/actions/index.ts +1 -1
  71. package/data/Generator/templates/sdk/wasp/server/operations/actions/types.ts +2 -2
  72. package/data/Generator/templates/sdk/wasp/server/operations/queries/index.ts +1 -1
  73. package/data/Generator/templates/sdk/wasp/server/operations/queries/types.ts +2 -2
  74. package/data/Generator/templates/sdk/wasp/server/operations/wrappers.ts +1 -1
  75. package/data/Generator/templates/sdk/wasp/server/webSocket/index.ts +2 -3
  76. package/data/Generator/templates/sdk/wasp/tsconfig.json +1 -0
  77. package/data/Generator/templates/server/tsconfig.json +2 -1
  78. package/data/packages/deploy/package-lock.json +2015 -2285
  79. package/data/packages/deploy/package.json +7 -6
  80. package/data/packages/prisma/package-lock.json +1730 -2131
  81. package/data/packages/prisma/package.json +6 -6
  82. package/data/packages/spec/dist/__tests__/spec/appAnalyzer.unit.test.js +4 -4
  83. package/data/packages/spec/dist/__tests__/spec/mapApp.unit.test.js +161 -129
  84. package/data/packages/spec/dist/__tests__/spec/normalizePrerender.unit.test.d.ts +2 -0
  85. package/data/packages/spec/dist/__tests__/spec/normalizePrerender.unit.test.d.ts.map +1 -0
  86. package/data/packages/spec/dist/__tests__/spec/normalizePrerender.unit.test.js +15 -0
  87. package/data/packages/spec/dist/__tests__/spec/refObject.unit.test.js +2 -2
  88. package/data/packages/spec/dist/__tests__/spec/refObjectPath.unit.test.js +3 -3
  89. package/data/packages/spec/dist/__tests__/spec-pipeline/pipeline.integration.test.js +38 -7
  90. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/imports.unit.test.js +5 -5
  91. package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/refHelper.unit.test.js +2 -2
  92. package/data/packages/spec/dist/src/appSpec.d.ts +2 -2
  93. package/data/packages/spec/dist/src/appSpec.d.ts.map +1 -1
  94. package/data/packages/spec/dist/src/normalizePrerender.d.ts +11 -0
  95. package/data/packages/spec/dist/src/normalizePrerender.d.ts.map +1 -0
  96. package/data/packages/spec/dist/src/normalizePrerender.js +18 -0
  97. package/data/packages/spec/dist/src/run.js +2 -2
  98. package/data/packages/spec/dist/src/spec/appAnalyzer.js +5 -5
  99. package/data/packages/spec/dist/src/spec/mapper/app.d.ts +17 -0
  100. package/data/packages/spec/dist/src/spec/mapper/app.d.ts.map +1 -0
  101. package/data/packages/spec/dist/src/spec/mapper/app.js +119 -0
  102. package/data/packages/spec/dist/src/spec/mapper/context.d.ts +19 -0
  103. package/data/packages/spec/dist/src/spec/mapper/context.d.ts.map +1 -0
  104. package/data/packages/spec/dist/src/spec/mapper/context.js +65 -0
  105. package/data/packages/spec/dist/src/spec/mapper/index.d.ts +7 -0
  106. package/data/packages/spec/dist/src/spec/mapper/index.d.ts.map +1 -0
  107. package/data/packages/spec/dist/src/spec/mapper/index.js +20 -0
  108. package/data/packages/spec/dist/src/spec/mapper/specElements.d.ts +28 -0
  109. package/data/packages/spec/dist/src/spec/mapper/specElements.d.ts.map +1 -0
  110. package/data/packages/spec/dist/src/spec/mapper/specElements.js +162 -0
  111. package/data/packages/spec/dist/src/spec/publicApi/constructors.d.ts +54 -13
  112. package/data/packages/spec/dist/src/spec/publicApi/constructors.d.ts.map +1 -1
  113. package/data/packages/spec/dist/src/spec/publicApi/constructors.js +10 -7
  114. package/data/packages/spec/dist/src/spec/publicApi/index.d.ts +2 -0
  115. package/data/packages/spec/dist/src/spec/publicApi/index.d.ts.map +1 -1
  116. package/data/packages/spec/dist/src/spec/publicApi/index.js +1 -0
  117. package/data/packages/spec/dist/src/spec/publicApi/waspSpec.d.ts +23 -10
  118. package/data/packages/spec/dist/src/spec/publicApi/waspSpec.d.ts.map +1 -1
  119. package/data/packages/spec/dist/src/spec/refObject.js +4 -4
  120. package/data/packages/spec/dist/src/spec/refObjectPath.js +2 -2
  121. package/data/packages/spec/dist/src/spec/waspSpecUserError.d.ts +31 -0
  122. package/data/packages/spec/dist/src/spec/waspSpecUserError.d.ts.map +1 -0
  123. package/data/packages/spec/dist/src/spec/waspSpecUserError.js +30 -0
  124. package/data/packages/spec/dist/src/spec-pipeline/loadWaspTsSpec.d.ts.map +1 -1
  125. package/data/packages/spec/dist/src/spec-pipeline/loadWaspTsSpec.js +18 -15
  126. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/apply.js +2 -2
  127. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/check.js +2 -2
  128. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/plan.js +2 -2
  129. package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/check.js +2 -2
  130. package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/index.js +2 -2
  131. package/data/packages/spec/package-lock.json +189 -169
  132. package/data/packages/spec/package.json +30 -7
  133. package/data/packages/studio/dist/public/assets/Flow-CyIU6UP_.js +26 -0
  134. package/data/packages/studio/dist/public/assets/dist-CttM53IC.js +1 -0
  135. package/data/packages/studio/dist/public/assets/index-Cb2AqsRv.js +20 -0
  136. package/data/packages/studio/dist/public/assets/index-Cq-JJ-zI.css +1 -0
  137. package/data/packages/studio/dist/public/index.html +2 -2
  138. package/data/packages/studio/package-lock.json +6 -6
  139. package/data/packages/studio/package.json +2 -2
  140. package/data/packages/ts-inspect/package-lock.json +1918 -2142
  141. package/data/packages/ts-inspect/package.json +6 -6
  142. package/package.json +1 -1
  143. package/wasp-bin +0 -0
  144. package/data/Cli/starters/basic/src/assets/logo.svg +0 -1
  145. package/data/Cli/starters/minimal/src/assets/logo.svg +0 -1
  146. package/data/Cli/starters/skeleton/public/.gitkeep +0 -0
  147. package/data/Generator/libs/auth/wasp.sh-lib-auth-0.24.0.tgz +0 -0
  148. package/data/Generator/libs/vite-ssr/wasp.sh-lib-vite-ssr-0.24.0.tgz +0 -0
  149. package/data/Generator/templates/sdk/wasp/client/app/hooks/useIsClient.ts +0 -16
  150. package/data/packages/spec/dist/__tests__/legacy/appAnalyzer.unit.test.d.ts +0 -2
  151. package/data/packages/spec/dist/__tests__/legacy/appAnalyzer.unit.test.d.ts.map +0 -1
  152. package/data/packages/spec/dist/__tests__/legacy/appAnalyzer.unit.test.js +0 -72
  153. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.integration.test.d.ts +0 -2
  154. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.integration.test.d.ts.map +0 -1
  155. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.integration.test.js +0 -126
  156. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.unit.test.d.ts +0 -2
  157. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.unit.test.d.ts.map +0 -1
  158. package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.unit.test.js +0 -732
  159. package/data/packages/spec/dist/__tests__/legacy/testFixtures.d.ts +0 -224
  160. package/data/packages/spec/dist/__tests__/legacy/testFixtures.d.ts.map +0 -1
  161. package/data/packages/spec/dist/__tests__/legacy/testFixtures.js +0 -659
  162. package/data/packages/spec/dist/__tests__/legacy/testFixtures.test-d.d.ts +0 -2
  163. package/data/packages/spec/dist/__tests__/legacy/testFixtures.test-d.d.ts.map +0 -1
  164. package/data/packages/spec/dist/__tests__/legacy/testFixtures.test-d.js +0 -57
  165. package/data/packages/spec/dist/src/legacy/_private.d.ts +0 -2
  166. package/data/packages/spec/dist/src/legacy/_private.d.ts.map +0 -1
  167. package/data/packages/spec/dist/src/legacy/_private.js +0 -1
  168. package/data/packages/spec/dist/src/legacy/appAnalyzer.d.ts +0 -16
  169. package/data/packages/spec/dist/src/legacy/appAnalyzer.d.ts.map +0 -1
  170. package/data/packages/spec/dist/src/legacy/appAnalyzer.js +0 -34
  171. package/data/packages/spec/dist/src/legacy/mapTsAppSpecToAppSpecDecls.d.ts +0 -38
  172. package/data/packages/spec/dist/src/legacy/mapTsAppSpecToAppSpecDecls.d.ts.map +0 -1
  173. package/data/packages/spec/dist/src/legacy/mapTsAppSpecToAppSpecDecls.js +0 -294
  174. package/data/packages/spec/dist/src/legacy/publicApi/App.d.ts +0 -24
  175. package/data/packages/spec/dist/src/legacy/publicApi/App.d.ts.map +0 -1
  176. package/data/packages/spec/dist/src/legacy/publicApi/App.js +0 -75
  177. package/data/packages/spec/dist/src/legacy/publicApi/tsAppSpec.d.ts +0 -174
  178. package/data/packages/spec/dist/src/legacy/publicApi/tsAppSpec.d.ts.map +0 -1
  179. package/data/packages/spec/dist/src/legacy/publicApi/tsAppSpec.js +0 -1
  180. package/data/packages/spec/dist/src/spec/mapApp.d.ts +0 -54
  181. package/data/packages/spec/dist/src/spec/mapApp.d.ts.map +0 -1
  182. package/data/packages/spec/dist/src/spec/mapApp.js +0 -336
  183. package/data/packages/spec/dist/src/spec/specUserError.d.ts +0 -9
  184. package/data/packages/spec/dist/src/spec/specUserError.d.ts.map +0 -1
  185. package/data/packages/spec/dist/src/spec/specUserError.js +0 -8
  186. package/data/packages/studio/dist/public/assets/Flow-_d98T2dd.js +0 -26
  187. package/data/packages/studio/dist/public/assets/index-B6X8EdJH.js +0 -21
  188. package/data/packages/studio/dist/public/assets/index-CXlD_bzV.js +0 -1
  189. package/data/packages/studio/dist/public/assets/index-IWX3d-Jz.css +0 -1
@@ -0,0 +1,162 @@
1
+ import { normalizePrerender } from "../../normalizePrerender.js";
2
+ import { getRefObjectDeclarationName } from "../refObject.js";
3
+ export const AppSpecDeclTypeForWaspSpecElementKind = {
4
+ page: "Page",
5
+ route: "Route",
6
+ query: "Query",
7
+ action: "Action",
8
+ api: "Api",
9
+ apiNamespace: "ApiNamespace",
10
+ job: "Job",
11
+ crud: "Crud",
12
+ };
13
+ export function declToRef(decl) {
14
+ return { declType: decl.declType, name: decl.declName };
15
+ }
16
+ export function mapSpecElement(el, ctx) {
17
+ switch (el.kind) {
18
+ case "page":
19
+ return mapPageSpec(el, ctx);
20
+ case "route":
21
+ return mapRouteSpec(el, ctx);
22
+ case "query":
23
+ return mapQuerySpec(el, ctx);
24
+ case "action":
25
+ return mapActionSpec(el, ctx);
26
+ case "api":
27
+ return mapApiSpec(el, ctx);
28
+ case "apiNamespace":
29
+ return mapApiNamespaceSpec(el, ctx);
30
+ case "job":
31
+ return mapJobSpec(el, ctx);
32
+ case "crud":
33
+ return mapCrudSpec(el, ctx);
34
+ default:
35
+ return el;
36
+ }
37
+ }
38
+ export function mapPageSpec(page, ctx) {
39
+ const { component, authRequired } = page;
40
+ return {
41
+ declType: "Page",
42
+ declName: getRefObjectDeclarationName(page.component),
43
+ declValue: {
44
+ component: ctx.parseRefObject(component),
45
+ authRequired,
46
+ },
47
+ };
48
+ }
49
+ export function mapRouteSpec(route, ctx) {
50
+ const { path, prerender, lazy } = route;
51
+ return {
52
+ declType: "Route",
53
+ declName: route.name,
54
+ declValue: {
55
+ path,
56
+ to: ctx.collectSpecElement(route.page),
57
+ prerender: normalizePrerender(prerender, path),
58
+ lazy,
59
+ },
60
+ };
61
+ }
62
+ export function mapQuerySpec(query, ctx) {
63
+ const { fn, entities, auth } = query;
64
+ return {
65
+ declType: "Query",
66
+ declName: getRefObjectDeclarationName(query.fn),
67
+ declValue: {
68
+ fn: ctx.parseRefObject(fn),
69
+ entities: entities?.map(ctx.resolveEntityRef),
70
+ auth,
71
+ },
72
+ };
73
+ }
74
+ export function mapActionSpec(action, ctx) {
75
+ const { fn, entities, auth } = action;
76
+ return {
77
+ declType: "Action",
78
+ declName: getRefObjectDeclarationName(action.fn),
79
+ declValue: {
80
+ fn: ctx.parseRefObject(fn),
81
+ entities: entities?.map(ctx.resolveEntityRef),
82
+ auth,
83
+ },
84
+ };
85
+ }
86
+ export function mapApiSpec(api, ctx) {
87
+ const { method, path, fn, middlewareConfigFn, entities, auth } = api;
88
+ return {
89
+ declType: "Api",
90
+ declName: getRefObjectDeclarationName(api.fn),
91
+ declValue: {
92
+ fn: ctx.parseRefObject(fn),
93
+ middlewareConfigFn: middlewareConfigFn && ctx.parseRefObject(middlewareConfigFn),
94
+ entities: entities?.map(ctx.resolveEntityRef),
95
+ httpRoute: [method, path],
96
+ auth,
97
+ },
98
+ };
99
+ }
100
+ export function mapApiNamespaceSpec(apiNamespace, ctx) {
101
+ const { middlewareConfigFn, path } = apiNamespace;
102
+ return {
103
+ declType: "ApiNamespace",
104
+ declName: getRefObjectDeclarationName(apiNamespace.middlewareConfigFn),
105
+ declValue: {
106
+ middlewareConfigFn: ctx.parseRefObject(middlewareConfigFn),
107
+ path,
108
+ },
109
+ };
110
+ }
111
+ export function mapJobSpec(job, ctx) {
112
+ const { fn, executor, schedule, entities, performExecutorOptions } = job;
113
+ return {
114
+ declType: "Job",
115
+ declName: getRefObjectDeclarationName(job.fn),
116
+ declValue: {
117
+ executor,
118
+ perform: {
119
+ fn: ctx.parseRefObject(fn),
120
+ executorOptions: performExecutorOptions,
121
+ },
122
+ schedule: schedule && mapSchedule(schedule),
123
+ entities: entities?.map(ctx.resolveEntityRef),
124
+ },
125
+ };
126
+ }
127
+ export function mapSchedule(schedule) {
128
+ const { cron, args, executorOptions } = schedule;
129
+ return {
130
+ cron,
131
+ args,
132
+ executorOptions,
133
+ };
134
+ }
135
+ export function mapCrudSpec(crud, ctx) {
136
+ const { entity, operations } = crud;
137
+ return {
138
+ declType: "Crud",
139
+ declName: crud.name,
140
+ declValue: {
141
+ entity: ctx.resolveEntityRef(entity),
142
+ operations: mapCrudOperations(operations, ctx),
143
+ },
144
+ };
145
+ }
146
+ export function mapCrudOperations(operations, ctx) {
147
+ const { get, getAll, create, update, delete: del } = operations;
148
+ return {
149
+ get: get && mapCrudOperationOptions(get, ctx),
150
+ getAll: getAll && mapCrudOperationOptions(getAll, ctx),
151
+ create: create && mapCrudOperationOptions(create, ctx),
152
+ update: update && mapCrudOperationOptions(update, ctx),
153
+ delete: del && mapCrudOperationOptions(del, ctx),
154
+ };
155
+ }
156
+ export function mapCrudOperationOptions(options, ctx) {
157
+ const { isPublic, overrideFn } = options;
158
+ return {
159
+ isPublic,
160
+ overrideFn: overrideFn && ctx.parseRefObject(overrideFn),
161
+ };
162
+ }
@@ -16,8 +16,9 @@ import type { Action, Api, ApiNamespace, App, Crud, Job, Page, Query, Route } fr
16
16
  *
17
17
  * export default app({
18
18
  * name: 'todoApp',
19
- * title: 'ToDo App',
20
- * wasp: { version: '^0.24.0' },
19
+ * wasp: { version: "^0.24.0" },
20
+ * title: "ToDo App",
21
+ * head: ["<link rel='icon' href='/favicon.ico' />"],
21
22
  * spec: [
22
23
  * route('MainRoute', '/', page(MainPage)),
23
24
  * ],
@@ -30,10 +31,14 @@ import type { Action, Api, ApiNamespace, App, Crud, Job, Page, Query, Route } fr
30
31
  */
31
32
  export declare function app(config: AppConfig): App;
32
33
  /**
34
+ * The configuration object accepted by the {@link app} constructor.
35
+ *
36
+ * @category Wasp Spec
37
+ *
33
38
  * @inline
34
39
  * @expandType App
35
40
  */
36
- type AppConfig = Omit<App, "kind">;
41
+ export type AppConfig = Omit<App, "kind">;
37
42
  /**
38
43
  * Creates a {@link Page} definition.
39
44
  *
@@ -60,10 +65,15 @@ type AppConfig = Omit<App, "kind">;
60
65
  */
61
66
  export declare function page(component: Page["component"], config?: PageConfig): Page;
62
67
  /**
68
+ * The optional configuration object accepted as the last argument of the
69
+ * {@link page} constructor.
70
+ *
71
+ * @category Constructors
72
+ *
63
73
  * @inline
64
74
  * @expandType Page
65
75
  */
66
- type PageConfig = Omit<Page, "kind" | "component">;
76
+ export type PageConfig = Omit<Page, "kind" | "component">;
67
77
  /**
68
78
  * Creates a {@link Route} definition.
69
79
  *
@@ -71,8 +81,10 @@ type PageConfig = Omit<Page, "kind" | "component">;
71
81
  * such as dynamic segments (`/tasks/:id`), optional segments
72
82
  * (`/photo/:id/edit?`), and splats (`/files/*`).
73
83
  *
74
- * Use `config.prerender` to render the route to static HTML at build time
75
- * (see [Prerendering](https://wasp.sh/docs/advanced/prerendering)) and
84
+ * Use `config.prerender` to render the route to static HTML at build time:
85
+ * `true` prerenders the route's own static path, or pass an array of concrete
86
+ * paths to prerender specific instances of a dynamic route (see
87
+ * [Prerendering](https://wasp.sh/docs/advanced/prerendering)). Use
76
88
  * `config.lazy` to opt out of lazy-loading the page's bundle.
77
89
  *
78
90
  * @example
@@ -97,10 +109,15 @@ export declare function route(name: Route["name"], path: Route["path"],
97
109
  */
98
110
  page: Route["page"], config?: RouteConfig): Route;
99
111
  /**
112
+ * The optional configuration object accepted as the last argument of the
113
+ * {@link route} constructor.
114
+ *
115
+ * @category Constructors
116
+ *
100
117
  * @inline
101
118
  * @expandType Route
102
119
  */
103
- type RouteConfig = Omit<Route, "kind" | "name" | "path" | "page">;
120
+ export type RouteConfig = Omit<Route, "kind" | "name" | "path" | "page">;
104
121
  /**
105
122
  * Creates a {@link Query} definition.
106
123
  *
@@ -141,10 +158,15 @@ type RouteConfig = Omit<Route, "kind" | "name" | "path" | "page">;
141
158
  */
142
159
  export declare function query(fn: Query["fn"], config?: QueryConfig): Query;
143
160
  /**
161
+ * The optional configuration object accepted as the last argument of the
162
+ * {@link query} constructor.
163
+ *
164
+ * @category Constructors
165
+ *
144
166
  * @inline
145
167
  * @expandType Query
146
168
  */
147
- type QueryConfig = Omit<Query, "kind" | "fn">;
169
+ export type QueryConfig = Omit<Query, "kind" | "fn">;
148
170
  /**
149
171
  * Creates an {@link Action} definition.
150
172
  *
@@ -178,10 +200,15 @@ type QueryConfig = Omit<Query, "kind" | "fn">;
178
200
  */
179
201
  export declare function action(fn: Action["fn"], config?: ActionConfig): Action;
180
202
  /**
203
+ * The optional configuration object accepted as the last argument of the
204
+ * {@link action} constructor.
205
+ *
206
+ * @category Constructors
207
+ *
181
208
  * @inline
182
209
  * @expandType Action
183
210
  */
184
- type ActionConfig = Omit<Action, "kind" | "fn">;
211
+ export type ActionConfig = Omit<Action, "kind" | "fn">;
185
212
  /**
186
213
  * Creates an {@link Api} endpoint definition.
187
214
  *
@@ -210,10 +237,15 @@ type ActionConfig = Omit<Action, "kind" | "fn">;
210
237
  */
211
238
  export declare function api(method: Api["method"], path: Api["path"], fn: Api["fn"], config?: ApiConfig): Api;
212
239
  /**
240
+ * The optional configuration object accepted as the last argument of the
241
+ * {@link api} constructor.
242
+ *
243
+ * @category Constructors
244
+ *
213
245
  * @inline
214
246
  * @expandType Api
215
247
  */
216
- type ApiConfig = Omit<Api, "kind" | "method" | "path" | "fn">;
248
+ export type ApiConfig = Omit<Api, "kind" | "method" | "path" | "fn">;
217
249
  /**
218
250
  * Creates an {@link ApiNamespace} definition.
219
251
  *
@@ -241,10 +273,15 @@ type ApiConfig = Omit<Api, "kind" | "method" | "path" | "fn">;
241
273
  */
242
274
  export declare function apiNamespace(path: ApiNamespace["path"], config: ApiNamespaceConfig): ApiNamespace;
243
275
  /**
276
+ * The configuration object accepted as the last argument of the
277
+ * {@link apiNamespace} constructor.
278
+ *
279
+ * @category Constructors
280
+ *
244
281
  * @inline
245
282
  * @expandType ApiNamespace
246
283
  */
247
- type ApiNamespaceConfig = Omit<ApiNamespace, "kind" | "path">;
284
+ export type ApiNamespaceConfig = Omit<ApiNamespace, "kind" | "path">;
248
285
  /**
249
286
  * Creates a {@link Job} definition.
250
287
  *
@@ -278,10 +315,15 @@ type ApiNamespaceConfig = Omit<ApiNamespace, "kind" | "path">;
278
315
  */
279
316
  export declare function job(fn: Job["fn"], config: JobConfig): Job;
280
317
  /**
318
+ * The configuration object accepted as the last argument of the
319
+ * {@link job} constructor.
320
+ *
321
+ * @category Constructors
322
+ *
281
323
  * @inline
282
324
  * @expandType Job
283
325
  */
284
- type JobConfig = Omit<Job, "kind" | "fn">;
326
+ export type JobConfig = Omit<Job, "kind" | "fn">;
285
327
  /**
286
328
  * Creates a {@link Crud} definition.
287
329
  *
@@ -313,5 +355,4 @@ type JobConfig = Omit<Job, "kind" | "fn">;
313
355
  * @category Constructors
314
356
  */
315
357
  export declare function crud(name: Crud["name"], entity: Crud["entity"], operations: Crud["operations"]): Crud;
316
- export {};
317
358
  //# sourceMappingURL=constructors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.d.ts","sourceRoot":"","sources":["../../../../src/spec/publicApi/constructors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,GAAG,EACH,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACN,MAAM,eAAe,CAAC;AASvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CAE1C;AAED;;;GAGG;AACH,KAAK,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAE5E;AAED;;;GAGG;AACH,KAAK,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACnB;;;GAGG;AACH,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,KAAK,CAEP;AAED;;;GAGG;AACH,KAAK,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,CAElE;AAED;;;GAGG;AACH,KAAK,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,KAAK,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,GAAG,CACjB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EACjB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EACb,MAAM,CAAC,EAAE,SAAS,GACjB,GAAG,CAEL;AAED;;;GAGG;AACH,KAAK,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,MAAM,EAAE,kBAAkB,GACzB,YAAY,CAEd;AAED;;;GAGG;AACH,KAAK,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,GAAG,GAAG,CAEzD;AAED;;;GAGG;AACH,KAAK,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,IAAI,CAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EACtB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,GAC7B,IAAI,CAEN"}
1
+ {"version":3,"file":"constructors.d.ts","sourceRoot":"","sources":["../../../../src/spec/publicApi/constructors.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  // Throughout this file, in order for the constructor's input type to be
2
2
  // expanded in the docs, but not the resulting type; we do one bit of
3
- // indirection, by creating a {Type}Config file, and setting it with the
3
+ // indirection, by creating a {Type}Config type, and setting it with the
4
4
  // `@inline` and `@expandType {Type}` tags. This makes sure that the config
5
- // option appear right in the documentation of the so users don't have to move
6
- // to another page to see the fields.
5
+ // options appear right in the documentation so users don't have to move to
6
+ // another page to see the fields.
7
7
  /**
8
8
  * Creates a Wasp {@link App}.
9
9
  *
@@ -21,8 +21,9 @@
21
21
  *
22
22
  * export default app({
23
23
  * name: 'todoApp',
24
- * title: 'ToDo App',
25
- * wasp: { version: '^0.24.0' },
24
+ * wasp: { version: "^0.24.0" },
25
+ * title: "ToDo App",
26
+ * head: ["<link rel='icon' href='/favicon.ico' />"],
26
27
  * spec: [
27
28
  * route('MainRoute', '/', page(MainPage)),
28
29
  * ],
@@ -70,8 +71,10 @@ export function page(component, config) {
70
71
  * such as dynamic segments (`/tasks/:id`), optional segments
71
72
  * (`/photo/:id/edit?`), and splats (`/files/*`).
72
73
  *
73
- * Use `config.prerender` to render the route to static HTML at build time
74
- * (see [Prerendering](https://wasp.sh/docs/advanced/prerendering)) and
74
+ * Use `config.prerender` to render the route to static HTML at build time:
75
+ * `true` prerenders the route's own static path, or pass an array of concrete
76
+ * paths to prerender specific instances of a dynamic route (see
77
+ * [Prerendering](https://wasp.sh/docs/advanced/prerendering)). Use
75
78
  * `config.lazy` to opt out of lazy-loading the page's bundle.
76
79
  *
77
80
  * @example
@@ -1,5 +1,7 @@
1
1
  export { ref } from "../refObject.js";
2
+ export { WaspSpecUserError } from "../waspSpecUserError.js";
2
3
  export { action, api, apiNamespace, app, crud, job, page, query, route, } from "./constructors.js";
4
+ export type { ActionConfig, ApiConfig, ApiNamespaceConfig, AppConfig, JobConfig, PageConfig, QueryConfig, RouteConfig, } from "./constructors.js";
3
5
  export type { Register } from "./register.js";
4
6
  export type * from "./waspSpec.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/spec/publicApi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EACL,MAAM,EACN,GAAG,EACH,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,mBAAmB,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/spec/publicApi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,MAAM,EACN,GAAG,EACH,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,mBAAmB,eAAe,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { ref } from "../refObject.js";
2
+ export { WaspSpecUserError } from "../waspSpecUserError.js";
2
3
  export { action, api, apiNamespace, app, crud, job, page, query, route, } from "./constructors.js";
@@ -16,8 +16,9 @@ import { FromRegister } from "./register.js";
16
16
  *
17
17
  * export default app({
18
18
  * name: "todoApp",
19
- * title: "ToDo App",
20
19
  * wasp: { version: "^0.24.0" },
20
+ * title: "ToDo App",
21
+ * head: ["<link rel='icon' href='/favicon.ico' />"],
21
22
  * spec: [],
22
23
  * });
23
24
  * ```
@@ -716,7 +717,7 @@ export interface EmailSender {
716
717
  * `"Dummy"` logs emails to the console instead of sending them, which is
717
718
  * convenient during development, but not allowed in production.
718
719
  */
719
- export type EmailSenderProviderName = "SMTP" | "SendGrid" | "Mailgun" | "Dummy";
720
+ export type EmailSenderProviderName = "SMTP" | "SendGrid" | "Mailgun" | "Resend" | "Dummy";
720
721
  /**
721
722
  * Sender identity used in outgoing emails.
722
723
  */
@@ -839,11 +840,19 @@ export interface Route extends BaseSpecElement<"route"> {
839
840
  /** Page rendered when this route matches. */
840
841
  page: Page;
841
842
  /**
842
- * If `true`, Wasp renders this page to static HTML at build time. Useful
843
- * for SEO and AI crawlers.
844
- *
845
- * Only works on fully static paths (no `:paramName`, `*`, or `?` segments)
846
- * and cannot be combined with {@link Page.authRequired}. See
843
+ * Render this route to static HTML at build time. Useful for SEO and AI
844
+ * crawlers. The page then hydrates on the client for full interactivity.
845
+ *
846
+ * Accepts either:
847
+ * - `true` prerender this route's own path. The path must be fully static
848
+ * (no `:paramName`, `*`, or `?` segments).
849
+ * - an array of concrete paths to prerender. Use this to prerender specific
850
+ * instances of a dynamic route (e.g. `["/blog/intro", "/blog/changelog"]`
851
+ * for a `"/blog/:slug"` route). Every listed path must be fully static and
852
+ * must match this route's path pattern.
853
+ *
854
+ * In either case the route's page cannot have {@link Page.authRequired} set,
855
+ * since prerendered content can't depend on the logged-in user. See
847
856
  * [Prerendering](https://wasp.sh/docs/advanced/prerendering).
848
857
  *
849
858
  * @default false
@@ -851,19 +860,23 @@ export interface Route extends BaseSpecElement<"route"> {
851
860
  * @example
852
861
  * ```ts
853
862
  * import { app, page, route } from "@wasp.sh/spec"
854
- * import { SomePage } from "./src/SomePage" with { type: "ref" }
863
+ * import { LandingPage } from "./src/LandingPage" with { type: "ref" }
864
+ * import { BlogPostPage } from "./src/BlogPostPage" with { type: "ref" }
855
865
  *
856
866
  * export default app({
857
867
  * // ...
858
868
  * spec: [
859
- * route("NameRoute", "/some-path", page(SomePage), {
869
+ * route("LandingRoute", "/", page(LandingPage), {
860
870
  * prerender: true,
861
871
  * }),
872
+ * route("BlogPostRoute", "/blog/:slug", page(BlogPostPage), {
873
+ * prerender: ["/blog/intro", "/blog/changelog"],
874
+ * }),
862
875
  * ],
863
876
  * })
864
877
  * ```
865
878
  */
866
- prerender?: boolean;
879
+ prerender?: boolean | readonly string[];
867
880
  /**
868
881
  * Lazy-load the page's component.
869
882
  *
@@ -1 +1 @@
1
- {"version":3,"file":"waspSpec.d.ts","sourceRoot":"","sources":["../../../../src/spec/publicApi/waspSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"waspSpec.d.ts","sourceRoot":"","sources":["../../../../src/spec/publicApi/waspSpec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { normalizeRefObjectPath } from "./refObjectPath.js";
2
- import { SpecUserError } from "./specUserError.js";
2
+ import { WaspSpecUserError } from "./waspSpecUserError.js";
3
3
  /**
4
4
  * Creates a fallback reference object for a value from your app.
5
5
  *
@@ -65,7 +65,7 @@ export function mapRefObject(refObject, { projectRootDir }) {
65
65
  };
66
66
  }
67
67
  else {
68
- throw new SpecUserError("Got an import in the Wasp file that we couldn't process: " +
68
+ throw new WaspSpecUserError("Got an import in the Wasp file that we couldn't process: " +
69
69
  JSON.stringify(refObject) +
70
70
  '\nYou either used a value imported without `with { type: "ref" }` or didn\'t write the ref object correctly.');
71
71
  }
@@ -77,12 +77,12 @@ export function getRefObjectDeclarationName(refObject) {
77
77
  if (isDefaultRefObject(refObject)) {
78
78
  return refObject.importDefault;
79
79
  }
80
- throw new SpecUserError("Got an import in the Wasp file that we couldn't process: " +
80
+ throw new WaspSpecUserError("Got an import in the Wasp file that we couldn't process: " +
81
81
  JSON.stringify(refObject));
82
82
  }
83
83
  function mapRefObjectPath(refObject, { projectRootDir }) {
84
84
  if (!hasSourceFilePath(refObject)) {
85
- throw new SpecUserError(`Relative ref path ${JSON.stringify(refObject.from)} is missing source file information. Use \`ref(...)\` in a \`*.wasp.ts\` file.`);
85
+ throw new WaspSpecUserError(`Relative ref path ${JSON.stringify(refObject.from)} is missing source file information. Use \`ref(...)\` in a \`*.wasp.ts\` file.`);
86
86
  }
87
87
  return normalizeRefObjectPath({
88
88
  importPath: refObject.from,
@@ -1,6 +1,6 @@
1
1
  import { realpathSync } from "node:fs";
2
2
  import * as path from "node:path/posix"; // Module paths are always `/`-delimited
3
- import { SpecUserError } from "./specUserError.js";
3
+ import { WaspSpecUserError } from "./waspSpecUserError.js";
4
4
  /**
5
5
  * Converts a relative ref object path from the user's `.wasp.ts` file into
6
6
  * AppSpec's absolute `@src/...` path format.
@@ -36,7 +36,7 @@ function getValidSrcRelativePath({ importPath, importingFilePath, projectRootDir
36
36
  const importedFilePath = path.resolve(importingDir, importPath);
37
37
  const srcRelativePath = path.relative(srcRootDir, importedFilePath);
38
38
  if (!isValidSrcRelativeFilePath(srcRelativePath)) {
39
- throw new SpecUserError(`Reference import path ${JSON.stringify(importPath)} in ${JSON.stringify(importingFilePath)} must resolve to a file inside the app src/ directory.`);
39
+ throw new WaspSpecUserError(`Reference import path ${JSON.stringify(importPath)} in ${JSON.stringify(importingFilePath)} must resolve to a file inside the app src/ directory.`);
40
40
  }
41
41
  return srcRelativePath;
42
42
  }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Error caused by invalid user input (unknown entities, bad imports, etc.).
3
+ *
4
+ * Wasp's spec pipeline throws `WaspSpecUserError` when it finds a problem with the
5
+ * user's configuration. Its message is reported to the user as a clean,
6
+ * actionable error instead of an internal stack trace.
7
+ *
8
+ * Throw it from your own spec helper libraries when you want to report a
9
+ * configuration problem the same way Wasp does:
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { WaspSpecUserError } from "@wasp.sh/spec"
14
+ *
15
+ * export function requireEnv(name: string): string {
16
+ * const value = process.env[name]
17
+ * if (value === undefined) {
18
+ * throw new WaspSpecUserError(`Missing required environment variable '${name}'.`)
19
+ * }
20
+ * return value
21
+ * }
22
+ * ```
23
+ *
24
+ * These are the errors users hit most often during development, so keep their
25
+ * messages short, clear, and actionable.
26
+ *
27
+ * @category Errors
28
+ */
29
+ export declare class WaspSpecUserError extends Error {
30
+ }
31
+ //# sourceMappingURL=waspSpecUserError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waspSpecUserError.d.ts","sourceRoot":"","sources":["../../../src/spec/waspSpecUserError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Error caused by invalid user input (unknown entities, bad imports, etc.).
3
+ *
4
+ * Wasp's spec pipeline throws `WaspSpecUserError` when it finds a problem with the
5
+ * user's configuration. Its message is reported to the user as a clean,
6
+ * actionable error instead of an internal stack trace.
7
+ *
8
+ * Throw it from your own spec helper libraries when you want to report a
9
+ * configuration problem the same way Wasp does:
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { WaspSpecUserError } from "@wasp.sh/spec"
14
+ *
15
+ * export function requireEnv(name: string): string {
16
+ * const value = process.env[name]
17
+ * if (value === undefined) {
18
+ * throw new WaspSpecUserError(`Missing required environment variable '${name}'.`)
19
+ * }
20
+ * return value
21
+ * }
22
+ * ```
23
+ *
24
+ * These are the errors users hit most often during development, so keep their
25
+ * messages short, clear, and actionable.
26
+ *
27
+ * @category Errors
28
+ */
29
+ export class WaspSpecUserError extends Error {
30
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"loadWaspTsSpec.d.ts","sourceRoot":"","sources":["../../../src/spec-pipeline/loadWaspTsSpec.ts"],"names":[],"mappings":"AAKA,wBAAsB,2BAA2B,CAAC,EAChD,QAAQ,EACR,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBnB"}
1
+ {"version":3,"file":"loadWaspTsSpec.d.ts","sourceRoot":"","sources":["../../../src/spec-pipeline/loadWaspTsSpec.ts"],"names":[],"mappings":"AAKA,wBAAsB,2BAA2B,CAAC,EAChD,QAAQ,EACR,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBnB"}