Commit Graph

80 Commits

Author SHA1 Message Date
Martin Sosic
6756fa4d88 Added tuple to Wasp language. 2021-12-07 15:05:41 +01:00
Martin Šošić
880cd39226
Added support for custom evaluation to Analyzer. (#375) 2021-12-07 14:44:01 +01:00
Martin Šošić
bb3964ae6f
Made Dependencies and Entity full-featured (in AppSpec and Analyzer) (#374) 2021-11-26 15:26:03 +01:00
Martin Sosic
4eb5fac817 Added Server and Database to AppSpec / Analyzer. 2021-11-25 14:09:46 +01:00
Martin Sosic
c86ecdf62c Added Dependencies to AppSpec and Analyzer. 2021-11-25 14:09:46 +01:00
Martin Sosic
032e57a46b Added Action to AppSpec and Analyzer. 2021-11-25 14:09:46 +01:00
Martin Sosic
637e2e20aa Added Query to AppSpec and Analyzer. 2021-11-25 14:09:46 +01:00
Martin Šošić
18c5165df8
Added Route to AppSpec. (#372) 2021-11-25 12:02:02 +01:00
Martin Šošić
ee30923f7a
Added support for Page in Analyzer. (#371) 2021-11-25 10:47:50 +01:00
Martin Šošić
8d946b9ed7
Added support in Analyzer for AppSpec to have record as dict field. (#369) 2021-11-24 23:18:25 +01:00
Giovanni Garufi
dcd1549211
auth: Add onAuthSucceededRedirectTo option (#350)
Allows a user to specify a redirect target in case of successful authentication.
This used to be hardcoded to /, and the current implementation will fallback to that if the property is not specified.

Change-type: minor
Signed-off-by: Giovanni Garufi <nazrhom@gmail.com>
2021-11-22 14:23:19 +01:00
Martin Sosic
ff2543b42f Reviewed remaining hlint rules. 2021-11-17 12:24:39 +01:00
Phil de Joux
89c9d6a1db
ref: Fixed most of the hlint suggestions. (#366) 2021-11-17 00:36:46 +01:00
Martin Šošić
3feeed555f
Moved all src/ modules into Wasp module, and all cli/ modules into Wasp.Cli module. 2021-11-11 13:26:20 +01:00
Martin Šošić
4773ae36e3
Wrote initial version of new Wasp AST: AppSpec (#353)
* Introduced AppSpec, replacement for previous Wasp.hs as a core IR in Wasp.

* Organized AppSpec into Core and Domain.

* Removed Domain from AppSpec.

* Moved ExternalCode.File to AppSpec.

* Added some TODOs.

* Added IsDecl to AppSpec.

* Removed ExternalCode File reexports.

* Added comments.
2021-11-10 16:27:27 +01:00
Martin Šošić
a7a69ff207
[Analyzer] Instead of directly embedding Declarations into AST, now they are referenced via Ref (#343) 2021-10-22 11:59:51 +02:00
Martin Sosic
074529d79c Made TypeDefinitions implementation Internal. 2021-09-18 00:08:42 +02:00
Martin Sosic
cb50008b98 fix 2021-09-14 17:08:53 +02:00
craigmc08
9686eaf4dc Add test for Analyzer module 2021-08-22 13:33:44 -04:00
craigmc08
2507a71abe Add evaluation for import, json, psl 2021-08-05 15:22:21 -04:00
craigmc08
4120bc53dc Add TH generation for IsDeclType, IsEnumType instances 2021-08-05 13:25:13 -04:00
craigmc08
d043548ecc Get evaluation working a bit
Code is probably not great, but passing tests for generating haskell
data structures exist!

Still have to hand write IsDeclType and IsEnumType instances, but it's cool
2021-08-05 13:25:13 -04:00
craigmc08
96450aa31d Suggestions from code review 2021-08-05 13:17:49 -04:00
craigmc08
6f178115dc Suggestions from code review 2021-08-05 13:17:49 -04:00
craigmc08
d335562263 Suggestions from code review 2021-08-05 13:17:49 -04:00
craigmc08
31a4ebaee3 Refactor typechecker tests 2021-08-05 13:17:49 -04:00
craigmc08
e1e062479e Suggestions from code review 2021-08-05 13:17:49 -04:00
Craig McIlwrath
46206c3fb3 Apply suggestions from code review
Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2021-08-05 13:17:49 -04:00
craigmc08
c456ca8d2e Reorganize typechecker tests
Now matches typechecker module structure, and a couple more tests were added to
test more behavior.
2021-08-05 13:17:49 -04:00
craigmc08
f25f206b91 Remove some useless comments 2021-08-05 13:17:49 -04:00
craigmc08
cf55594eda Refactor typechecker module
Move code into Analyzer.TypeChecker.Internal to clean up interface, change lots of
names to be more readable, add comments to explain the complex parts of typechecker
code.
2021-08-05 13:17:49 -04:00
craigmc08
5ab608b8f1 Refactor TypeError
Instead of just a string, now the possible errors are enumerated. Recursive
error structures are used for dictionary/list type errors. Tests are updated
to check behavior of the new type errors.
2021-08-05 13:17:49 -04:00
craigmc08
51b6cda07a Implement Decl, Enum type checking 2021-08-05 13:17:49 -04:00
craigmc08
0357921162 Implement type checking for lists and dictionaries
Currently fails to type check empty lists, because the requisite type
inference has not been added yet.
2021-08-05 13:17:49 -04:00
craigmc08
ce7ee253bd Implement type checking of literal expressions
Type checks literal expressions + variables. Tests are included for all of
these cases as well.
2021-08-05 13:17:49 -04:00
Martin Šošić
d86b53cb24
Merge pull request #279 from saatvikshah/auth_opt_out
Allow operations to opt out of auth middleware
2021-07-21 16:28:18 +02:00
Martin Sosic
748dfb5725 feat: Wasp can now run custom setup code on server start (#199). 2021-07-21 16:14:38 +02:00
Martin Sosic
0b02e45354 Formatted tests with ormolu. 2021-07-21 16:13:21 +02:00
Saatvik Shah
3791b0ee7c Merge remote-tracking branch 'upstream/master' into auth_opt_out 2021-07-18 18:46:18 +02:00
Craig McIlwrath
be03c2a153
feat(analyzer): add new Analyzer module and implement parser
Implements the parser for the new wasp Analyzer. Additionally fixes some ambiguities/inconsistencies in the wasplang document.

Closes #274
2021-07-16 09:34:12 -04:00
Saatvik Shah
d0c5114a52 Address review comments 2021-07-09 08:04:29 +02:00
Saatvik Shah
c71eb58ea9 Merge remote-tracking branch 'upstream/master' into auth_opt_out 2021-07-05 21:26:47 +02:00
Saatvik Shah
a85b408b60 Allow operations to opt out of auth middleware
This patch allows operations to individually specify whether they want
to use or opt out of auth middleware, via an additional `auth` argument
under the actions/queries sections. If left unspecified it is assumed to
be true.

This is addressed by removing the current global auth middleware
registration, and adding it instead to individual operation route
specification.
2021-07-05 21:20:56 +02:00
Martin Sosic
eae7b20938 Replaced couple of last usages of Path with StrongPath. 2021-07-05 17:47:28 +02:00
Martin Sosic
7c7eaa5409 Updated StrongPath to 1.0.0.0, from Hackage. 2021-07-05 17:47:28 +02:00
Martin Sosic
1219a57bc9 Formatted whole codebase with ormolu. 2021-04-28 17:44:00 +02:00
Martin Šošić
f9e8f88b66
Upgraded to Prisma 2.21 (stable migrations) + postgre can be used in local dev.
- `wasp db migrate-save` and `wasp db migrate-up` got replaced with `wasp db migrate-dev`.
- Wasp now has a declarative way to express which db is used, postgresql or sqlite: `db { system: PostgreSQL }`.
- Prisma is now at the latest version, 2.21. PSL parser was upgraded to work with this.
- PostgreSQL can now be used for local development.
- We migrated examples/realworld to work with this new version of Wasp.
2021-04-21 14:06:25 +02:00
Martin Šošić
92937b5e65
Implemented support for dotenv file. (#208) 2021-04-16 12:43:57 +02:00
Martin Šošić
ad3bdd32ae
Implemented PSL model parser, used it for Entity. (#201) 2021-03-15 17:10:01 +01:00
Craig McIlwrath
82ea947981
Add ext/.waspignore file (#196) 2021-03-03 09:35:27 +01:00