@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.
- package/data/Cli/starters/basic/main.wasp.ts +1 -1
- package/data/Cli/starters/basic/package.json +5 -5
- package/data/Cli/starters/basic/src/App.css +12 -11
- package/data/Cli/starters/basic/src/assets/wasp-logo-rounded.svg +1 -0
- package/data/Cli/starters/basic/src/shared/components/Header.tsx +3 -3
- package/data/Cli/starters/minimal/main.wasp.ts +1 -1
- package/data/Cli/starters/minimal/package.json +4 -4
- package/data/Cli/starters/minimal/src/Main.css +5 -5
- package/data/Cli/starters/minimal/src/MainPage.tsx +2 -2
- package/data/Cli/starters/minimal/src/assets/wasp-logo-rounded.svg +1 -0
- package/data/Cli/starters/skeleton/public/favicon.ico +0 -0
- package/data/Cli/starters/skeleton/tsconfig.src.json +2 -1
- package/data/Cli/starters/skeleton/tsconfig.wasp.json +3 -2
- package/data/Generator/libs/auth/wasp.sh-lib-auth-0.25.0.tgz +0 -0
- package/data/Generator/libs/vite-ssr/wasp.sh-lib-vite-ssr-0.25.0.tgz +0 -0
- package/data/Generator/templates/sdk/wasp/api/index.ts +2 -2
- package/data/Generator/templates/sdk/wasp/auth/email/actions/login.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/email/actions/passwordReset.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/email/actions/signup.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/email/actions/verifyEmail.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/auth-styles.css +2 -2
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/common/LoginSignupForm.tsx +1 -1
- package/data/Generator/templates/sdk/wasp/auth/helpers/_Provider.tsx +1 -1
- package/data/Generator/templates/sdk/wasp/auth/helpers/user.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/jwt.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/logout.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/lucia.ts +2 -2
- package/data/Generator/templates/sdk/wasp/auth/providers/types.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/session.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/types.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/useAuth.ts +5 -5
- package/data/Generator/templates/sdk/wasp/auth/username/actions/login.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/username/actions/signup.ts +1 -1
- package/data/Generator/templates/sdk/wasp/auth/utils.ts +3 -3
- package/data/Generator/templates/sdk/wasp/auth/validation.ts +1 -1
- package/data/Generator/templates/sdk/wasp/client/app/layout.tsx +55 -46
- package/data/Generator/templates/sdk/wasp/client/app/router.tsx +2 -5
- package/data/Generator/templates/sdk/wasp/client/crud/_crud.ts +2 -2
- package/data/Generator/templates/sdk/wasp/client/operations/actions/core.ts +1 -1
- package/data/Generator/templates/sdk/wasp/client/operations/index.ts +5 -0
- package/data/Generator/templates/sdk/wasp/client/operations/internal/index.ts +3 -3
- package/data/Generator/templates/sdk/wasp/client/operations/internal/resources.js +4 -2
- package/data/Generator/templates/sdk/wasp/client/operations/queries/core.ts +2 -2
- package/data/Generator/templates/sdk/wasp/client/operations/rpc.ts +2 -2
- package/data/Generator/templates/sdk/wasp/client/test/vitest/helpers.tsx +3 -4
- package/data/Generator/templates/sdk/wasp/client/vite/plugins/validateEnv.ts +14 -8
- package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/files/client-entry.tsx +31 -11
- package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/files/routes.tsx +26 -20
- package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/files/ssr-entry.tsx +29 -24
- package/data/Generator/templates/sdk/wasp/client/vite/virtual-files/resolver.ts +12 -5
- package/data/Generator/templates/sdk/wasp/client/webSocket/WebSocketProvider.tsx +4 -4
- package/data/Generator/templates/sdk/wasp/client/webSocket/index.ts +1 -1
- package/data/Generator/templates/sdk/wasp/core/auth.ts +3 -3
- package/data/Generator/templates/sdk/wasp/env/validation.ts +1 -1
- package/data/Generator/templates/sdk/wasp/package.json +2 -42
- package/data/Generator/templates/sdk/wasp/serialization/index.ts +11 -0
- package/data/Generator/templates/sdk/wasp/server/_types/index.ts +6 -6
- package/data/Generator/templates/sdk/wasp/server/_types/taggedEntities.ts +1 -1
- package/data/Generator/templates/sdk/wasp/server/auth/email/utils.ts +6 -6
- package/data/Generator/templates/sdk/wasp/server/crud/_operationTypes.ts +2 -2
- package/data/Generator/templates/sdk/wasp/server/email/core/index.ts +4 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/providers/dummy.ts +1 -1
- package/data/Generator/templates/sdk/wasp/server/email/core/providers/resend.ts +31 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/types.ts +7 -1
- package/data/Generator/templates/sdk/wasp/server/email/index.ts +6 -0
- package/data/Generator/templates/sdk/wasp/server/env.ts +5 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/_job.ts +2 -2
- package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/pgBossJob.ts +3 -3
- package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/types.ts +2 -2
- package/data/Generator/templates/sdk/wasp/server/operations/actions/index.ts +1 -1
- package/data/Generator/templates/sdk/wasp/server/operations/actions/types.ts +2 -2
- package/data/Generator/templates/sdk/wasp/server/operations/queries/index.ts +1 -1
- package/data/Generator/templates/sdk/wasp/server/operations/queries/types.ts +2 -2
- package/data/Generator/templates/sdk/wasp/server/operations/wrappers.ts +1 -1
- package/data/Generator/templates/sdk/wasp/server/webSocket/index.ts +2 -3
- package/data/Generator/templates/sdk/wasp/tsconfig.json +1 -0
- package/data/Generator/templates/server/tsconfig.json +2 -1
- package/data/packages/deploy/package-lock.json +2015 -2285
- package/data/packages/deploy/package.json +7 -6
- package/data/packages/prisma/package-lock.json +1730 -2131
- package/data/packages/prisma/package.json +6 -6
- package/data/packages/spec/dist/__tests__/spec/appAnalyzer.unit.test.js +4 -4
- package/data/packages/spec/dist/__tests__/spec/mapApp.unit.test.js +161 -129
- package/data/packages/spec/dist/__tests__/spec/normalizePrerender.unit.test.d.ts +2 -0
- package/data/packages/spec/dist/__tests__/spec/normalizePrerender.unit.test.d.ts.map +1 -0
- package/data/packages/spec/dist/__tests__/spec/normalizePrerender.unit.test.js +15 -0
- package/data/packages/spec/dist/__tests__/spec/refObject.unit.test.js +2 -2
- package/data/packages/spec/dist/__tests__/spec/refObjectPath.unit.test.js +3 -3
- package/data/packages/spec/dist/__tests__/spec-pipeline/pipeline.integration.test.js +38 -7
- package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/imports.unit.test.js +5 -5
- package/data/packages/spec/dist/__tests__/spec-pipeline/transformWaspTsSpecFile/refHelper.unit.test.js +2 -2
- package/data/packages/spec/dist/src/appSpec.d.ts +2 -2
- package/data/packages/spec/dist/src/appSpec.d.ts.map +1 -1
- package/data/packages/spec/dist/src/normalizePrerender.d.ts +11 -0
- package/data/packages/spec/dist/src/normalizePrerender.d.ts.map +1 -0
- package/data/packages/spec/dist/src/normalizePrerender.js +18 -0
- package/data/packages/spec/dist/src/run.js +2 -2
- package/data/packages/spec/dist/src/spec/appAnalyzer.js +5 -5
- package/data/packages/spec/dist/src/spec/mapper/app.d.ts +17 -0
- package/data/packages/spec/dist/src/spec/mapper/app.d.ts.map +1 -0
- package/data/packages/spec/dist/src/spec/mapper/app.js +119 -0
- package/data/packages/spec/dist/src/spec/mapper/context.d.ts +19 -0
- package/data/packages/spec/dist/src/spec/mapper/context.d.ts.map +1 -0
- package/data/packages/spec/dist/src/spec/mapper/context.js +65 -0
- package/data/packages/spec/dist/src/spec/mapper/index.d.ts +7 -0
- package/data/packages/spec/dist/src/spec/mapper/index.d.ts.map +1 -0
- package/data/packages/spec/dist/src/spec/mapper/index.js +20 -0
- package/data/packages/spec/dist/src/spec/mapper/specElements.d.ts +28 -0
- package/data/packages/spec/dist/src/spec/mapper/specElements.d.ts.map +1 -0
- package/data/packages/spec/dist/src/spec/mapper/specElements.js +162 -0
- package/data/packages/spec/dist/src/spec/publicApi/constructors.d.ts +54 -13
- package/data/packages/spec/dist/src/spec/publicApi/constructors.d.ts.map +1 -1
- package/data/packages/spec/dist/src/spec/publicApi/constructors.js +10 -7
- package/data/packages/spec/dist/src/spec/publicApi/index.d.ts +2 -0
- package/data/packages/spec/dist/src/spec/publicApi/index.d.ts.map +1 -1
- package/data/packages/spec/dist/src/spec/publicApi/index.js +1 -0
- package/data/packages/spec/dist/src/spec/publicApi/waspSpec.d.ts +23 -10
- package/data/packages/spec/dist/src/spec/publicApi/waspSpec.d.ts.map +1 -1
- package/data/packages/spec/dist/src/spec/refObject.js +4 -4
- package/data/packages/spec/dist/src/spec/refObjectPath.js +2 -2
- package/data/packages/spec/dist/src/spec/waspSpecUserError.d.ts +31 -0
- package/data/packages/spec/dist/src/spec/waspSpecUserError.d.ts.map +1 -0
- package/data/packages/spec/dist/src/spec/waspSpecUserError.js +30 -0
- package/data/packages/spec/dist/src/spec-pipeline/loadWaspTsSpec.d.ts.map +1 -1
- package/data/packages/spec/dist/src/spec-pipeline/loadWaspTsSpec.js +18 -15
- package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/apply.js +2 -2
- package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/check.js +2 -2
- package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/imports/plan.js +2 -2
- package/data/packages/spec/dist/src/spec-pipeline/transformWaspTsSpecFilesPlugin/refHelper/check.js +2 -2
- package/data/packages/spec/dist/src/spec-pipeline/typecheckPlugin/index.js +2 -2
- package/data/packages/spec/package-lock.json +189 -169
- package/data/packages/spec/package.json +30 -7
- package/data/packages/studio/dist/public/assets/Flow-CyIU6UP_.js +26 -0
- package/data/packages/studio/dist/public/assets/dist-CttM53IC.js +1 -0
- package/data/packages/studio/dist/public/assets/index-Cb2AqsRv.js +20 -0
- package/data/packages/studio/dist/public/assets/index-Cq-JJ-zI.css +1 -0
- package/data/packages/studio/dist/public/index.html +2 -2
- package/data/packages/studio/package-lock.json +6 -6
- package/data/packages/studio/package.json +2 -2
- package/data/packages/ts-inspect/package-lock.json +1918 -2142
- package/data/packages/ts-inspect/package.json +6 -6
- package/package.json +1 -1
- package/wasp-bin +0 -0
- package/data/Cli/starters/basic/src/assets/logo.svg +0 -1
- package/data/Cli/starters/minimal/src/assets/logo.svg +0 -1
- package/data/Cli/starters/skeleton/public/.gitkeep +0 -0
- package/data/Generator/libs/auth/wasp.sh-lib-auth-0.24.0.tgz +0 -0
- package/data/Generator/libs/vite-ssr/wasp.sh-lib-vite-ssr-0.24.0.tgz +0 -0
- package/data/Generator/templates/sdk/wasp/client/app/hooks/useIsClient.ts +0 -16
- package/data/packages/spec/dist/__tests__/legacy/appAnalyzer.unit.test.d.ts +0 -2
- package/data/packages/spec/dist/__tests__/legacy/appAnalyzer.unit.test.d.ts.map +0 -1
- package/data/packages/spec/dist/__tests__/legacy/appAnalyzer.unit.test.js +0 -72
- package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.integration.test.d.ts +0 -2
- package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.integration.test.d.ts.map +0 -1
- package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.integration.test.js +0 -126
- package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.unit.test.d.ts +0 -2
- package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.unit.test.d.ts.map +0 -1
- package/data/packages/spec/dist/__tests__/legacy/mapTsAppSpecToAppSpecDecls.unit.test.js +0 -732
- package/data/packages/spec/dist/__tests__/legacy/testFixtures.d.ts +0 -224
- package/data/packages/spec/dist/__tests__/legacy/testFixtures.d.ts.map +0 -1
- package/data/packages/spec/dist/__tests__/legacy/testFixtures.js +0 -659
- package/data/packages/spec/dist/__tests__/legacy/testFixtures.test-d.d.ts +0 -2
- package/data/packages/spec/dist/__tests__/legacy/testFixtures.test-d.d.ts.map +0 -1
- package/data/packages/spec/dist/__tests__/legacy/testFixtures.test-d.js +0 -57
- package/data/packages/spec/dist/src/legacy/_private.d.ts +0 -2
- package/data/packages/spec/dist/src/legacy/_private.d.ts.map +0 -1
- package/data/packages/spec/dist/src/legacy/_private.js +0 -1
- package/data/packages/spec/dist/src/legacy/appAnalyzer.d.ts +0 -16
- package/data/packages/spec/dist/src/legacy/appAnalyzer.d.ts.map +0 -1
- package/data/packages/spec/dist/src/legacy/appAnalyzer.js +0 -34
- package/data/packages/spec/dist/src/legacy/mapTsAppSpecToAppSpecDecls.d.ts +0 -38
- package/data/packages/spec/dist/src/legacy/mapTsAppSpecToAppSpecDecls.d.ts.map +0 -1
- package/data/packages/spec/dist/src/legacy/mapTsAppSpecToAppSpecDecls.js +0 -294
- package/data/packages/spec/dist/src/legacy/publicApi/App.d.ts +0 -24
- package/data/packages/spec/dist/src/legacy/publicApi/App.d.ts.map +0 -1
- package/data/packages/spec/dist/src/legacy/publicApi/App.js +0 -75
- package/data/packages/spec/dist/src/legacy/publicApi/tsAppSpec.d.ts +0 -174
- package/data/packages/spec/dist/src/legacy/publicApi/tsAppSpec.d.ts.map +0 -1
- package/data/packages/spec/dist/src/legacy/publicApi/tsAppSpec.js +0 -1
- package/data/packages/spec/dist/src/spec/mapApp.d.ts +0 -54
- package/data/packages/spec/dist/src/spec/mapApp.d.ts.map +0 -1
- package/data/packages/spec/dist/src/spec/mapApp.js +0 -336
- package/data/packages/spec/dist/src/spec/specUserError.d.ts +0 -9
- package/data/packages/spec/dist/src/spec/specUserError.d.ts.map +0 -1
- package/data/packages/spec/dist/src/spec/specUserError.js +0 -8
- package/data/packages/studio/dist/public/assets/Flow-_d98T2dd.js +0 -26
- package/data/packages/studio/dist/public/assets/index-B6X8EdJH.js +0 -21
- package/data/packages/studio/dist/public/assets/index-CXlD_bzV.js +0 -1
- package/data/packages/studio/dist/public/assets/index-IWX3d-Jz.css +0 -1
|
@@ -11,8 +11,8 @@ import { tasksSpec } from "./src/tasks/task.wasp";
|
|
|
11
11
|
|
|
12
12
|
export default app({
|
|
13
13
|
name: "__waspAppName__",
|
|
14
|
-
title: "__waspProjectName__",
|
|
15
14
|
wasp: { version: "__waspVersion__" },
|
|
15
|
+
title: "__waspProjectName__",
|
|
16
16
|
head: ["<link rel='icon' href='/favicon.ico' />"],
|
|
17
17
|
auth: {
|
|
18
18
|
userEntity: "User",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"react": "^19.2.1",
|
|
10
10
|
"react-dom": "^19.2.1",
|
|
11
11
|
"react-hook-form": "^7.69.0",
|
|
12
|
-
"react-router": "^
|
|
12
|
+
"react-router": "^8.0.1",
|
|
13
13
|
"tailwind-merge": "~3.4.0",
|
|
14
14
|
"tailwindcss": "^4.1.18"
|
|
15
15
|
},
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@types/node": "^24.0.0",
|
|
19
19
|
"@types/react": "^19.2.7",
|
|
20
20
|
"@types/react-dom": "^19.2.3",
|
|
21
|
-
"@tailwindcss/vite": "^4.1
|
|
21
|
+
"@tailwindcss/vite": "^4.3.1",
|
|
22
22
|
"eslint": "^9.27.0",
|
|
23
23
|
"eslint-config-prettier": "^10.1.5",
|
|
24
24
|
"eslint-plugin-react": "^7.37.5",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"prettier": "^3.5.3",
|
|
27
27
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
28
28
|
"prisma": "5.19.1",
|
|
29
|
-
"typescript": "
|
|
29
|
+
"typescript": "6.0.3",
|
|
30
30
|
"typescript-eslint": "^8.32.1",
|
|
31
|
-
"vite": "^
|
|
32
|
-
"vitest": "^4.
|
|
31
|
+
"vite": "^8.1.0",
|
|
32
|
+
"vitest": "^4.1.9",
|
|
33
33
|
"@wasp.sh/spec": "__waspSpecPackageSpecifier__"
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -5,17 +5,18 @@
|
|
|
5
5
|
--text-tiny--line-height: 1rem;
|
|
6
6
|
|
|
7
7
|
/* Created using https://www.tints.dev */
|
|
8
|
-
|
|
9
|
-
--color-primary-
|
|
10
|
-
--color-primary-
|
|
11
|
-
--color-primary-
|
|
12
|
-
--color-primary-
|
|
13
|
-
--color-primary-
|
|
14
|
-
--color-primary-
|
|
15
|
-
--color-primary-
|
|
16
|
-
--color-primary-
|
|
17
|
-
--color-primary-
|
|
18
|
-
--color-primary-
|
|
8
|
+
/* Defaults settings, #f5c842 locked at 500 */
|
|
9
|
+
--color-primary-50: #fef9ef;
|
|
10
|
+
--color-primary-100: #fef2df;
|
|
11
|
+
--color-primary-200: #fde9c3;
|
|
12
|
+
--color-primary-300: #fcdc97;
|
|
13
|
+
--color-primary-400: #fcd26a;
|
|
14
|
+
--color-primary-500: #f5c842;
|
|
15
|
+
--color-primary-600: #c09c32;
|
|
16
|
+
--color-primary-700: #8c7122;
|
|
17
|
+
--color-primary-800: #5e4b13;
|
|
18
|
+
--color-primary-900: #322706;
|
|
19
|
+
--color-primary-950: #1e1703;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
body {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="1520" height="1520" version="1.1" viewBox="0 0 1520 1520" xmlns="http://www.w3.org/2000/svg"><g><rect width="1520" height="1520" rx="300" fill="#f5c842"/><g fill="#111"><path d="m1007 300-156.98 2e-3 0.499 142.51h85.857c0.0239 2e-3 18.763 1.566 30.461 7.9108 13.537 7.3425 14.626 10.763 21.704 20.417 3.0674 4.1835 4.9651 10.687 6.0494 16.123 1.0827 5.4284 1.3754 9.7642 1.3762 9.7762v144.33l2e-3 0.0252s0.583 7.1093 1.796 15.918c1.213 8.809 3.0448 19.305 5.6079 26.205 4.3676 11.759 13.62 26.659 21.633 36.363 9.3866 11.367 22.228 20.124 34.969 27.568 11.294 6.5984 32.628 11.542 33.548 11.754v2.1847c-0.9202 0.21233-22.254 5.1555-33.548 11.754-12.741 7.4439-25.583 16.201-34.97 27.568-8.0134 9.7041-17.266 24.604-21.633 36.363-2.5631 6.9007-4.3948 17.396-5.6078 26.205-1.213 8.809-1.796 15.918-1.796 15.918l-2e-3 0.0271v144.33c-8.2e-4 0.012-0.29348 4.3478-1.3762 9.7762-1.0842 5.4359-2.982 11.94-6.0494 16.123-7.0789 9.6547-8.1671 13.075-21.704 20.418-11.698 6.3448-30.437 7.9107-30.461 7.9107h-85.857l-0.499 142.51h156.99s7.5461-0.1872 16.483-0.629c8.9371-0.4418 19.238-1.1296 24.889-2.1653 7.1809-1.3165 20.102-3.1616 33.53-9.0719 13.329-5.8668 16.299-7.3647 22.443-10.939 11.758-6.8408 24.169-19.146 34.441-32.311s18.389-27.167 21.463-37.524c6.1235-20.632 6.382-47.126 6.382-47.126v-195.36c0-0.0207 0.145-2.5801 0.505-5.7396 0.3614-3.1722 0.956-6.9416 1.7742-9.1512 0.9504-2.5664 2.8911-7.2999 5.3504-11.905 2.4592-4.6049 5.481-9.0841 8.3701-11.115 5.643-3.9674 12.809-9.5822 20.29-10.61 5.9133-0.81252 13.182-1.4397 13.202-1.4417h53.892v-149.83h-53.892c-0.019-2e-3 -7.2884-0.62915-13.202-1.4417-7.4814-1.028-14.648-6.6429-20.29-10.61-2.8891-2.0312-5.9109-6.5104-8.3701-11.115-2.4593-4.6049-4.4-9.3384-5.3504-11.905-0.8182-2.2095-1.4128-5.9789-1.7742-9.1512-0.36-3.1595-0.5038-5.7188-0.505-5.7396v-195.36s-0.2585-26.494-6.382-47.126c-3.0739-10.357-11.191-24.359-21.463-37.524s-22.683-25.47-34.441-32.311c-6.1438-3.5745-9.1141-5.0723-22.443-10.939-13.427-5.9102-26.349-7.7554-33.53-9.0718-5.6503-1.0358-15.952-1.7236-24.889-2.1654-8.9366-0.4418-16.483-0.62892-16.483-0.62892z" stop-color="#000000"/><rect x="250" y="830" width="500" height="160" stroke-width="1.3472"/><rect x="250" y="530" width="500" height="160" stroke-width="1.3472"/></g></g></svg>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { logout, useAuth } from "wasp/client/auth";
|
|
2
2
|
import { Link } from "wasp/client/router";
|
|
3
|
-
import Logo from "../../assets/logo.svg";
|
|
3
|
+
import Logo from "../../assets/wasp-logo-rounded.svg";
|
|
4
4
|
import { Button, ButtonLink } from "./Button";
|
|
5
5
|
|
|
6
6
|
export function Header() {
|
|
@@ -10,8 +10,8 @@ export function Header() {
|
|
|
10
10
|
<header className="sticky top-0 z-10 flex justify-center border-b border-neutral-200 bg-white shadow-sm">
|
|
11
11
|
<div className="flex w-full max-w-(--breakpoint-lg) items-center justify-between p-4 px-12">
|
|
12
12
|
<Link to="/" className="flex items-center gap-2">
|
|
13
|
-
<img src={Logo} alt="
|
|
14
|
-
<h1 className="text-2xl font-semibold">
|
|
13
|
+
<img src={Logo} alt="Wasp logo" className="h-10 w-10" />
|
|
14
|
+
<h1 className="text-2xl font-semibold">ToDo App</h1>
|
|
15
15
|
</Link>
|
|
16
16
|
<nav>
|
|
17
17
|
<ul className="flex gap-4 font-semibold">
|
|
@@ -3,8 +3,8 @@ import { MainPage } from "./src/MainPage" with { type: "ref" };
|
|
|
3
3
|
|
|
4
4
|
export default app({
|
|
5
5
|
name: "__waspAppName__",
|
|
6
|
-
title: "__waspProjectName__",
|
|
7
6
|
wasp: { version: "__waspVersion__" },
|
|
7
|
+
title: "__waspProjectName__",
|
|
8
8
|
head: ["<link rel='icon' href='/favicon.ico' />"],
|
|
9
9
|
spec: [
|
|
10
10
|
route("RootRoute", "/", page(MainPage)),
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"react": "^19.2.1",
|
|
7
7
|
"react-dom": "^19.2.1",
|
|
8
|
-
"react-router": "^
|
|
8
|
+
"react-router": "^8.0.1"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@types/node": "^24.0.0",
|
|
12
12
|
"@types/react": "^19.2.7",
|
|
13
13
|
"@types/react-dom": "^19.2.3",
|
|
14
14
|
"prisma": "5.19.1",
|
|
15
|
-
"typescript": "
|
|
16
|
-
"vite": "^
|
|
17
|
-
"vitest": "^4.
|
|
15
|
+
"typescript": "6.0.3",
|
|
16
|
+
"vite": "^8.1.0",
|
|
17
|
+
"vitest": "^4.1.9",
|
|
18
18
|
"@wasp.sh/spec": "__waspSpecPackageSpecifier__"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -64,8 +64,8 @@ body {
|
|
|
64
64
|
|
|
65
65
|
.button-filled {
|
|
66
66
|
color: black;
|
|
67
|
-
background-color: #
|
|
68
|
-
border: 2px solid #
|
|
67
|
+
background-color: #f5c842;
|
|
68
|
+
border: 2px solid #f5c842;
|
|
69
69
|
|
|
70
70
|
transition: all 0.2s ease-in-out;
|
|
71
71
|
}
|
|
@@ -77,7 +77,7 @@ body {
|
|
|
77
77
|
.button-outlined {
|
|
78
78
|
color: black;
|
|
79
79
|
background-color: transparent;
|
|
80
|
-
border: 2px solid #
|
|
80
|
+
border: 2px solid #f5c842;
|
|
81
81
|
|
|
82
82
|
transition: all 0.2s ease-in-out;
|
|
83
83
|
}
|
|
@@ -88,9 +88,9 @@ body {
|
|
|
88
88
|
|
|
89
89
|
code {
|
|
90
90
|
border-radius: 5px;
|
|
91
|
-
border: 1px solid #
|
|
91
|
+
border: 1px solid #f5c842;
|
|
92
92
|
padding: 0.2rem;
|
|
93
|
-
background: #
|
|
93
|
+
background: #f5c84244;
|
|
94
94
|
font-family:
|
|
95
95
|
Menlo,
|
|
96
96
|
Monaco,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import Logo from "./assets/logo.svg";
|
|
1
|
+
import Logo from "./assets/wasp-logo-rounded.svg";
|
|
2
2
|
import "./Main.css";
|
|
3
3
|
|
|
4
4
|
export function MainPage() {
|
|
5
5
|
return (
|
|
6
6
|
<main className="container">
|
|
7
|
-
<img className="logo" src={Logo} alt="
|
|
7
|
+
<img className="logo" src={Logo} alt="Wasp logo" />
|
|
8
8
|
|
|
9
9
|
<h2 className="title">Welcome to Wasp!</h2>
|
|
10
10
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="1520" height="1520" version="1.1" viewBox="0 0 1520 1520" xmlns="http://www.w3.org/2000/svg"><g><rect width="1520" height="1520" rx="300" fill="#f5c842"/><g fill="#111"><path d="m1007 300-156.98 2e-3 0.499 142.51h85.857c0.0239 2e-3 18.763 1.566 30.461 7.9108 13.537 7.3425 14.626 10.763 21.704 20.417 3.0674 4.1835 4.9651 10.687 6.0494 16.123 1.0827 5.4284 1.3754 9.7642 1.3762 9.7762v144.33l2e-3 0.0252s0.583 7.1093 1.796 15.918c1.213 8.809 3.0448 19.305 5.6079 26.205 4.3676 11.759 13.62 26.659 21.633 36.363 9.3866 11.367 22.228 20.124 34.969 27.568 11.294 6.5984 32.628 11.542 33.548 11.754v2.1847c-0.9202 0.21233-22.254 5.1555-33.548 11.754-12.741 7.4439-25.583 16.201-34.97 27.568-8.0134 9.7041-17.266 24.604-21.633 36.363-2.5631 6.9007-4.3948 17.396-5.6078 26.205-1.213 8.809-1.796 15.918-1.796 15.918l-2e-3 0.0271v144.33c-8.2e-4 0.012-0.29348 4.3478-1.3762 9.7762-1.0842 5.4359-2.982 11.94-6.0494 16.123-7.0789 9.6547-8.1671 13.075-21.704 20.418-11.698 6.3448-30.437 7.9107-30.461 7.9107h-85.857l-0.499 142.51h156.99s7.5461-0.1872 16.483-0.629c8.9371-0.4418 19.238-1.1296 24.889-2.1653 7.1809-1.3165 20.102-3.1616 33.53-9.0719 13.329-5.8668 16.299-7.3647 22.443-10.939 11.758-6.8408 24.169-19.146 34.441-32.311s18.389-27.167 21.463-37.524c6.1235-20.632 6.382-47.126 6.382-47.126v-195.36c0-0.0207 0.145-2.5801 0.505-5.7396 0.3614-3.1722 0.956-6.9416 1.7742-9.1512 0.9504-2.5664 2.8911-7.2999 5.3504-11.905 2.4592-4.6049 5.481-9.0841 8.3701-11.115 5.643-3.9674 12.809-9.5822 20.29-10.61 5.9133-0.81252 13.182-1.4397 13.202-1.4417h53.892v-149.83h-53.892c-0.019-2e-3 -7.2884-0.62915-13.202-1.4417-7.4814-1.028-14.648-6.6429-20.29-10.61-2.8891-2.0312-5.9109-6.5104-8.3701-11.115-2.4593-4.6049-4.4-9.3384-5.3504-11.905-0.8182-2.2095-1.4128-5.9789-1.7742-9.1512-0.36-3.1595-0.5038-5.7188-0.505-5.7396v-195.36s-0.2585-26.494-6.382-47.126c-3.0739-10.357-11.191-24.359-21.463-37.524s-22.683-25.47-34.441-32.311c-6.1438-3.5745-9.1141-5.0723-22.443-10.939-13.427-5.9102-26.349-7.7554-33.53-9.0718-5.6503-1.0358-15.952-1.7236-24.889-2.1654-8.9366-0.4418-16.483-0.62892-16.483-0.62892z" stop-color="#000000"/><rect x="250" y="830" width="500" height="160" stroke-width="1.3472"/><rect x="250" y="530" width="500" height="160" stroke-width="1.3472"/></g></g></svg>
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"skipLibCheck": true,
|
|
4
|
-
"target": "
|
|
4
|
+
"target": "ES2025",
|
|
5
5
|
"isolatedModules": true,
|
|
6
6
|
"moduleDetection": "force",
|
|
7
7
|
"strict": true,
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"jsx": "preserve",
|
|
13
13
|
"allowJs": true,
|
|
14
14
|
"noEmit": true,
|
|
15
|
-
"lib": ["
|
|
15
|
+
"lib": ["ES2025"],
|
|
16
|
+
"types": ["node"]
|
|
16
17
|
},
|
|
17
18
|
"include": ["**/*.wasp.ts", ".wasp/out/types/spec"]
|
|
18
19
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ky, { isHTTPError } from 'ky'
|
|
2
|
-
import { config } from '
|
|
3
|
-
import { storage } from '
|
|
2
|
+
import { config } from '../client/index.js'
|
|
3
|
+
import { storage } from '../core/storage.js'
|
|
4
4
|
import { apiEventsEmitter } from './events.js'
|
|
5
5
|
|
|
6
6
|
const WASP_APP_AUTH_SESSION_ID_NAME = 'sessionId'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
|
-
import { api, handleApiError } from '
|
|
2
|
+
import { api, handleApiError } from '../../../api/index.js';
|
|
3
3
|
import { SuccessResponseSchema } from '../../responseSchemas';
|
|
4
4
|
{=# emailUserSignupFields.isDefined =}
|
|
5
5
|
import { type UserEmailSignupFields } from '../../providers'
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/* Colors */
|
|
9
|
-
--color-waspYellow: #
|
|
9
|
+
--color-waspYellow: #f5c842;
|
|
10
10
|
--color-gray700: #a1a5ab;
|
|
11
11
|
--color-gray600: #d1d5db;
|
|
12
12
|
--color-gray500: gainsboro;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
/* Semantic colors */
|
|
19
19
|
--color-brand: var(--color-waspYellow);
|
|
20
|
-
--color-brandAccent: #
|
|
20
|
+
--color-brandAccent: #fccf49;
|
|
21
21
|
--color-errorBackground: var(--color-red);
|
|
22
22
|
--color-errorText: #2D3748;
|
|
23
23
|
--color-successBackground: var(--color-green);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useForm, UseFormReturn } from 'react-hook-form'
|
|
3
3
|
import styles from './LoginSignupForm.module.css'
|
|
4
4
|
import '../auth-styles.css'
|
|
5
|
-
import { config } from '
|
|
5
|
+
import { config } from '../../../../client/index.js'
|
|
6
6
|
import { clsx } from '../util'
|
|
7
7
|
|
|
8
8
|
import { useAuthContext } from '@wasp.sh/lib-auth/browser'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
2
|
import { Lucia } from "lucia";
|
|
3
3
|
import { PrismaAdapter } from "@lucia-auth/adapter-prisma";
|
|
4
|
-
import { prisma } from '
|
|
5
|
-
import { type {= userEntityUpper =} } from "
|
|
4
|
+
import { prisma } from '../server/index.js'
|
|
5
|
+
import { type {= userEntityUpper =} } from "../entities/index.js"
|
|
6
6
|
|
|
7
7
|
const prismaAdapter = new PrismaAdapter(
|
|
8
8
|
prisma.{= sessionEntityLower =},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
2
|
import type { Router, Request } from 'express'
|
|
3
3
|
import type { Prisma } from '@prisma/client'
|
|
4
|
-
import type { Expand, Exact } from '
|
|
4
|
+
import type { Expand, Exact } from '../../universal/types.js'
|
|
5
5
|
import type { ProviderName } from '../utils'
|
|
6
6
|
|
|
7
7
|
// PUBLIC API
|
|
@@ -8,7 +8,7 @@ import { auth } from "./lucia.js";
|
|
|
8
8
|
import type { Session } from "lucia";
|
|
9
9
|
import { createInvalidCredentialsError } from "./utils.js";
|
|
10
10
|
|
|
11
|
-
import { prisma } from '
|
|
11
|
+
import { prisma } from '../server/index.js';
|
|
12
12
|
import { createAuthUserData } from "../server/auth/user.js";
|
|
13
13
|
|
|
14
14
|
// PRIVATE API
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// todo(filip): turn into a proper import/path
|
|
2
|
-
export type { ProviderName } from '
|
|
2
|
+
export type { ProviderName } from './utils.js'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
|
-
import { deserialize } from '
|
|
3
|
-
import { useQuery, buildAndRegisterQuery } from '
|
|
4
|
-
import type { QueryFunction, Query } from '
|
|
5
|
-
import { api, handleApiError } from '
|
|
6
|
-
import { HttpMethod } from '
|
|
2
|
+
import { deserialize } from '../core/serialization/index.js'
|
|
3
|
+
import { useQuery, buildAndRegisterQuery } from '../client/operations/index.js'
|
|
4
|
+
import type { QueryFunction, Query } from '../client/operations/rpc.js'
|
|
5
|
+
import { api, handleApiError } from '../api/index.js'
|
|
6
|
+
import { HttpMethod } from '../client/index.js'
|
|
7
7
|
import type { AuthUser, AuthUserData } from '../server/auth/user.js'
|
|
8
8
|
import { makeAuthUserIfPossible } from '../auth/user.js'
|
|
9
9
|
import { UseQueryResult } from '@tanstack/react-query'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
|
-
import { api, handleApiError } from '
|
|
2
|
+
import { api, handleApiError } from '../../../api/index.js'
|
|
3
3
|
{=# usernameAndPasswordUserSignupFields.isDefined =}
|
|
4
4
|
import { type UserUsernameAndPasswordSignupFields } from '../../providers'
|
|
5
5
|
{=/ usernameAndPasswordUserSignupFields.isDefined =}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
2
|
import { hashPassword } from './password.js'
|
|
3
|
-
import { prisma, HttpError } from '
|
|
4
|
-
import { sleep } from '
|
|
3
|
+
import { prisma, HttpError } from '../server/index.js'
|
|
4
|
+
import { sleep } from '../server/utils.js'
|
|
5
5
|
import {
|
|
6
6
|
type {= userEntityUpper =},
|
|
7
7
|
type {= authEntityUpper =},
|
|
8
8
|
type {= authIdentityEntityUpper =},
|
|
9
|
-
} from '
|
|
9
|
+
} from '../entities/index.js'
|
|
10
10
|
import { Prisma } from '@prisma/client';
|
|
11
11
|
|
|
12
12
|
import { throwValidationError } from './validation.js'
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
|
-
import { StrictMode, type ReactNode } from "react";
|
|
3
|
-
import { useIsClient } from "./hooks/useIsClient.js"
|
|
2
|
+
import { StrictMode, type ReactNode, useSyncExternalStore } from "react";
|
|
4
3
|
|
|
5
4
|
export function Layout({
|
|
6
5
|
children,
|
|
@@ -11,31 +10,7 @@ export function Layout({
|
|
|
11
10
|
isFallbackPage?: boolean;
|
|
12
11
|
clientEntrySrc?: string;
|
|
13
12
|
}) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
/*
|
|
17
|
-
From the Vite SSR plugin, we inherit the concept of a "prerendered page" vs.
|
|
18
|
-
a "fallback page".
|
|
19
|
-
- A prerendered page is a page that is rendered on the server, and then
|
|
20
|
-
hydrated on the client.
|
|
21
|
-
- A fallback page is a page which only prerenders the common HTML structure
|
|
22
|
-
on the server, and then renders the actual page content on the client.
|
|
23
|
-
|
|
24
|
-
To use an analogy, a fallback page is a pluripotent stem cell that can turn
|
|
25
|
-
into any page in the client; while a prerendered page is already specialized
|
|
26
|
-
and can only render its specific content.
|
|
27
|
-
|
|
28
|
-
So, if we are prerendering a fallback page, we want to avoid rendering the
|
|
29
|
-
actual page content, so that it can turn into anything. If we're
|
|
30
|
-
prerendering a non-fallback page, we'll give it its content.
|
|
31
|
-
|
|
32
|
-
But, if we're already in the client, we always want to render the page
|
|
33
|
-
content. Whether prerendered as a fallback or not, now it's showtime, so we
|
|
34
|
-
must show the user the content.
|
|
35
|
-
|
|
36
|
-
Thus, we end up with the line below:
|
|
37
|
-
*/
|
|
38
|
-
const shouldRenderChildren = isClient || !isFallbackPage
|
|
13
|
+
const shouldRenderAppContent = useShouldRenderAppContent(isFallbackPage);
|
|
39
14
|
|
|
40
15
|
return (
|
|
41
16
|
<StrictMode>
|
|
@@ -52,34 +27,68 @@ export function Layout({
|
|
|
52
27
|
<title>{= title =}</title>
|
|
53
28
|
|
|
54
29
|
{
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
30
|
+
/*
|
|
31
|
+
This script tag's job is to load the client entry so the browser
|
|
32
|
+
downloads and runs it, hydrating the prerendered HTML.
|
|
33
|
+
|
|
34
|
+
We only need it in SSR builds, as by the time the client is
|
|
35
|
+
running this code, it doesn't need to run itself again (and could
|
|
36
|
+
lead to duplication).
|
|
37
|
+
|
|
38
|
+
Rendering it only on the server and not on the client would
|
|
39
|
+
normally cause a hydration mismatch, but React skips erroring on
|
|
40
|
+
server-only nodes if they are **direct children** of `<head>` and
|
|
41
|
+
`<body>`, to support this kind of usecase. (See
|
|
42
|
+
https://react.dev/reference/react-dom/static/prerenderToNodeStream)
|
|
43
|
+
|
|
44
|
+
We'd usually inject this via React prerender's `bootstrapModules`
|
|
45
|
+
option, but that has two problems:
|
|
46
|
+
1. React also emits a `<link rel="modulepreload"
|
|
47
|
+
href="@/wasp/client">` for the bootstrap scripts, but Vite
|
|
48
|
+
doesn't rewrite `link.href`s, so it would end up as a broken
|
|
49
|
+
link.
|
|
50
|
+
2. It hardcodes `async` on the script, which in dev races the
|
|
51
|
+
`@vitejs/plugin-react` refresh preamble (see #4258).
|
|
52
|
+
*/
|
|
59
53
|
clientEntrySrc ? (
|
|
60
|
-
// We'd usually use React prerender's `bootstrapModules` options for
|
|
61
|
-
// injecting this script, but it would also add a `<link
|
|
62
|
-
// rel="modulepreload">` tag that Vite doesn't handle correctly. So
|
|
63
|
-
// we just add the script ourselves in the regular way.
|
|
64
|
-
//
|
|
65
|
-
// https://react.dev/reference/react-dom/static/prerenderToNodeStream
|
|
66
54
|
<script type="module" src={clientEntrySrc} />
|
|
67
55
|
) : null
|
|
68
56
|
}
|
|
69
57
|
</head>
|
|
70
58
|
<body>
|
|
71
59
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
72
|
-
|
|
73
|
-
{
|
|
74
|
-
// We don't really need to wrap the app in a div nor name it "root",
|
|
75
|
-
// but we keep it for backwards compatibility with older Wasp
|
|
76
|
-
// versions.
|
|
77
|
-
}
|
|
78
|
-
<div id="root">
|
|
79
|
-
{shouldRenderChildren ? children : null}
|
|
80
|
-
</div>
|
|
60
|
+
{shouldRenderAppContent ? children : null}
|
|
81
61
|
</body>
|
|
82
62
|
</html>
|
|
83
63
|
</StrictMode>
|
|
84
64
|
);
|
|
85
65
|
}
|
|
66
|
+
|
|
67
|
+
function useShouldRenderAppContent(isFallbackPage: boolean) {
|
|
68
|
+
// We always want to render the content on the client.
|
|
69
|
+
const getOnClient = () => true;
|
|
70
|
+
|
|
71
|
+
// On the server, we only want to render the content if it's not a fallback page.
|
|
72
|
+
const getOnServer = () => !isFallbackPage;
|
|
73
|
+
|
|
74
|
+
const shouldRenderAppContent =
|
|
75
|
+
// We use `useSyncExternalStore` because it allows us to have different
|
|
76
|
+
// values on the server and client without hydration errors. The semantics
|
|
77
|
+
// also match, as in this case the fallback status is the synchronous state
|
|
78
|
+
// we are reading from, it just never changes after being first initialized.
|
|
79
|
+
useSyncExternalStore(
|
|
80
|
+
emptySubscribe,
|
|
81
|
+
getOnClient,
|
|
82
|
+
getOnServer,
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
return shouldRenderAppContent;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// The subscribe function is expected to only change when the store changes.
|
|
89
|
+
// Because our "store" is static, we make our function never change by putting
|
|
90
|
+
// it on the top.
|
|
91
|
+
function emptySubscribe() {
|
|
92
|
+
const emptyUnsubscribe = () => {};
|
|
93
|
+
return emptyUnsubscribe;
|
|
94
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{={= =}=}}
|
|
2
|
-
import type { ReactNode
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
3
|
import type { RouteObject } from 'react-router'
|
|
4
4
|
|
|
5
5
|
{=# isExternalAuthEnabled =}
|
|
@@ -10,10 +10,7 @@ import { DefaultRootErrorBoundary } from './components/DefaultRootErrorBoundary'
|
|
|
10
10
|
|
|
11
11
|
import { routes } from '../router/index'
|
|
12
12
|
|
|
13
|
-
type RouteMapping = Record<
|
|
14
|
-
string,
|
|
15
|
-
{ Component: ComponentType }
|
|
16
|
-
>;
|
|
13
|
+
type RouteMapping = Record<string, RouteObject>;
|
|
17
14
|
|
|
18
15
|
export function getRouteObjects({
|
|
19
16
|
routesMapping,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createAction } from "../operations/actions/core.js";
|
|
3
3
|
import { createQuery } from "../operations/queries/core.js";
|
|
4
4
|
import { makeUseActionFor, makeUseQueryFor } from "./operationsHelpers.js";
|
|
5
|
-
import {
|
|
5
|
+
import type {
|
|
6
6
|
{=# operations.Get =}
|
|
7
7
|
GetQueryResolved,
|
|
8
8
|
{=/ operations.Get =}
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
{=# operations.Delete =}
|
|
19
19
|
DeleteActionResolved,
|
|
20
20
|
{=/ operations.Delete =}
|
|
21
|
-
} from '
|
|
21
|
+
} from '../../server/crud/{= name =}.js'
|
|
22
22
|
|
|
23
23
|
function createCrud() {
|
|
24
24
|
{=# operations.Get =}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { _Awaited, _ReturnType } from '
|
|
1
|
+
import type { _Awaited, _ReturnType } from '../../../universal/types.js'
|
|
2
2
|
import type { OperationRpcFor, GenericBackendOperation } from '../rpc.js'
|
|
3
3
|
import { callOperation, makeOperationRoute } from '../internal/index.js'
|
|
4
4
|
import {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { api, handleApiError } from '
|
|
2
|
-
import { HttpMethod } from '
|
|
3
|
-
import { serialize, deserialize } from '
|
|
1
|
+
import { api, handleApiError } from '../../../api/index.js'
|
|
2
|
+
import { HttpMethod } from '../../index.js'
|
|
3
|
+
import { serialize, deserialize } from '../../../core/serialization/index.js'
|
|
4
4
|
|
|
5
5
|
// PRIVATE API
|
|
6
6
|
export type OperationRoute = { method: HttpMethod.Post, path: string }
|