Commit Graph

324 Commits

Author SHA1 Message Date
Mihovil Ilakovac
cb88dfc618
Adding support for Postgres Extensions (#1443) 2023-09-12 13:03:57 +02:00
Mihovil Ilakovac
092ff2acaf
Type safe async jobs (#1400) 2023-09-07 16:32:55 +02:00
Mihovil Ilakovac
792c014551
Implement type safe links (#1235) 2023-08-30 14:40:17 +02:00
Mihovil Ilakovac
b34ab5dc8b
Fixes .env.client copying (#1391) 2023-08-10 11:20:33 +02:00
Craig McIlwrath
ea70a8e4bb
[waspls] fix client directory module resolution (#1372)
Previously, waspls incorrectly thought that importing `@client/file.jsx` could be referencing the file `src/client/file.tsx`. But this JS/TS "merging" is only correct on the server (for reasons that are not explained by the TS documentation on module resolution). This commit fixes that by requiring exact matches for external imports beginning with `@client`.

This incorrect behavior manifested as several different bugs:
- Not reporting missing `.jsx` files when a `.tsx` file with the same name exists.
- Go-to definition going to the `.tsx` file instead of the `.jsx` file when the external import ends in `.jsx`.
- Scaffold actions suggestions scaffolding in both the `.jsx` and `.tsx`files.

This commit fixes all of these buggy behaviors.
2023-07-28 10:49:09 -04:00
Craig McIlwrath
76d9fc4213
[waspls] Add code actions for scaffolding external code (#1316)
When an external import tries to import a symbol from a TypeScript/JavaScript file, waspls now offers quickfix code actions to scaffold a function in that file.

It uses the surrounding context of the external import to determine what code to write for the code action. See [`ScaffoldTsSymbol.hs`](457911d5e9/waspc/waspls/src/Wasp/LSP/Commands/ScaffoldTsSymbol.hs) for a detailed description of how it works. At a high level, there is a `templateForFile` function in `Wasp.LSP.Commands.ScaffoldTsSymbol` that selects the correct template from `data/lsp/templates/ts`. For example, `action.fn.ts` contains a template for scaffolding an `action` function in a TypeScript file and would be used when a code action is requested with the cursor at the location marked by `|`:

```wasp
action createTask {
  fn: import { createTask } from "@server/actions.js"|
}
```

The scaffold action runs as a [LSP command](https://microsoft.github.io/language-server-protocol/specifications/specification-3-16/#workspace_executeCommand). To prepare for wanting to define more commands in waspls in the future, this PR also introduces the concept of `Commands` (`Wasp.LSP.Commands.Command`) that define some properties about each command waspls wants to handle.
2023-07-26 08:00:16 -04:00
Craig McIlwrath
8b1d6a96ab
[waspls] implement goto definition for declarations (#1310) 2023-07-18 08:16:26 -04:00
Filip Sodić
af9d7992b3
Add support for Prisma preview features (#1315) 2023-07-12 17:08:57 +02:00
Craig McIlwrath
2d3f0e116c
[waspls] cleanup extimport code (#1292)
mainly refactoring. also updates CI workflow to run packages/ts-inspect tests.
2023-07-07 08:21:33 -04:00
Craig McIlwrath
c1d86b1f91
Show multiple parse errors from Wasp Analyzer (#1298)
* allow multiple errors to come out of analyzer

basically just plumbing. does add one new thing: all the concrete parse
errors get reported now 🥳

* add statement level error recovery to abstract parser

* add expression level parse recovery

recovers from errors inside dict entries, lists,
and tuples.

* document parser error recovery

* run formatter
2023-06-29 12:34:31 +02:00
Craig McIlwrath
7c0d13d242
[waspls] diagnostics for external imports and goto definition (#1268) 2023-06-22 15:37:07 -04:00
Craig McIlwrath
066b832127
Adjust how dictionary types are displayed (#1280) 2023-06-22 14:13:18 -04:00
Craig McIlwrath
802e0c5e5d
show error message when database is not running (#1218)
Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
Co-authored-by: Mihovil Ilakovac <mihovil@ilakovac.com>
2023-06-20 14:34:14 -04:00
Shayne Czyzewski
3e85b0f067
Adds WebSocket support (#1203) 2023-06-19 10:49:57 +02:00
Filip Sodić
fb4001a5a0
Update axios and tanstack-query to latest versions (#1260) 2023-06-16 18:26:45 +02:00
Filip Sodić
90bbff3b64
Ensure Auth entity has a unique username (#1257) 2023-06-16 17:01:55 +02:00
Mihovil Ilakovac
b37cc22fc4
Adds support for a client public folder (#1229) 2023-06-15 15:17:10 +02:00
Martin Šošić
590a08bb14
Upgrade React to v18 and Vite accordingly (#1248) 2023-06-14 21:56:26 +02:00
Mihovil Ilakovac
3faee611ac
Automatic CRUD (#1197) 2023-06-14 16:55:07 +02:00
Filip Sodić
89dbb49160
Ensure operation payloads are serializable (#1252) 2023-06-14 15:53:39 +02:00
Filip Sodić
b6cf4ec8ae
Update TypeScript to version 5.1 (#1143) 2023-06-14 15:42:19 +02:00
Mihovil Ilakovac
e840835d4b
Auth UI component refactor (#1216) 2023-06-13 12:24:13 +02:00
Craig McIlwrath
ec307d0a3d
move Wasp/Generator/Node/Version -> Wasp/Node/Version (#1226) 2023-06-05 07:52:51 -04:00
Craig McIlwrath
00e4966f06
Add test framework for language server autocompletion (#1223) 2023-06-01 11:03:01 -04:00
Craig McIlwrath
ce587a9fad
Improve waspc node version checking and error messages (#1210)
* increase minimum version of process dependency

* improve node version error messages
2023-05-26 08:47:58 -04:00
Filip Sodić
29889a9c37
Expose Sanitized User on the frontend (#1190) 2023-05-04 11:47:56 +02:00
Shayne Czyzewski
d1614372bf
Propagates error exit code for wasp deploy (#1165) 2023-05-03 10:05:35 -04:00
Mihovil Ilakovac
3f218fbbc5
Improve the scaffolding experience (#1140) 2023-05-03 12:57:17 +02:00
Shayne Czyzewski
013a13dee2
Adds middleware customization (#1092) 2023-04-24 12:16:54 -04:00
Mihovil Ilakovac
6b9adf80b2
Fixes Haskell list to JS array utility (#1147) 2023-04-19 00:34:27 +02:00
Mihovil Ilakovac
ae85d1a285
Registers User entity as dependency of getMe (#1116) 2023-04-11 18:25:30 +02:00
Martin Sosic
da71a3ca60 Small doc fixes, updated Prisma to 4.12.0 2023-04-07 18:26:24 +02:00
Martin Sosic
06ad8a0b55 Made prefixed output of underlying processes a bit nicer. 2023-04-07 18:26:24 +02:00
Filip Sodić
945d777133
Add full-stack compile-time type safety (#1090) 2023-04-06 21:12:18 +02:00
Mihovil Ilakovac
5be9d1fa5e
Auth UI integration with email & polish (#1107) 2023-04-06 20:29:05 +02:00
Mihovil Ilakovac
809eb90386
Adds scaffolding based on giget (#1105) 2023-04-06 16:15:34 +02:00
Mihovil Ilakovac
7f32a4ccb9
Adding e-mail auth (e-mail verfication, password reset) (#1087) 2023-04-05 23:25:03 +02:00
Matija Sosic
8ad582ac7b
Implemented Auth UI. (#1093) 2023-04-05 22:56:05 +02:00
Martin Šošić
0e5aa85014
Implement database seeding via 'wasp db seed' 2023-04-05 11:33:52 +02:00
Shayne Czyzewski
89f12ea35b
Relax dependency between oauth and usernameAndPassword fields (#1102) 2023-04-04 14:35:14 -04:00
Shayne Czyzewski
5d2b278e75
Adds vitest for testing client code (#1055) 2023-03-30 12:22:40 -04:00
Mihovil Ilakovac
6dbeedca60
Adds support for e-mail sending (#1050) 2023-03-24 12:42:22 +01:00
Shayne Czyzewski
3e90323da2
Upgrade pg-boss to 8.4.2 (#1078) 2023-03-23 08:52:24 -04:00
Mihovil Ilakovac
a86f3fdb7c
Fixes localstorage clearing bug (#1058) 2023-03-22 14:05:39 +01:00
Martin Šošić
91a8063081
Implemented wasp start db (managed dev db) (#1044)
Implemented 'wasp start db' + docs + e2e tests + refactoring.
2023-03-21 16:37:20 +01:00
Mihovil Ilakovac
326737759d
Refactor auth to conform to providers interface (#998) 2023-03-16 10:42:57 +01:00
Shayne Czyzewski
9f3f5234ef
Adds api for defining custom HTTP routes (#1043) 2023-03-14 14:04:51 -04:00
Mihovil Ilakovac
4c60f3c5b7
Vite related docs and changelog update (#1037) 2023-03-02 16:31:53 +01:00
Mihovil Ilakovac
7a0f8b5d58
Replaces Create React App with Vite (#1019) 2023-03-01 17:14:14 +01:00
Shayne Czyzewski
8991043eed
Add Express app and http server to server setupFn (#1017) 2023-02-27 12:19:17 -05:00