Commit Graph

333 Commits

Author SHA1 Message Date
Martin Šošić
fe915158d9
Polished AppSpec: added missing fields + deps are not tuples. (#417) 2022-01-11 13:59:13 +01:00
Martin Šošić
5f534f7bcf
Added concept of SourceRegion to Ctx. (#409) 2022-01-08 23:55:52 +01:00
Martin Šošić
424def31d6
TypeError now uses WithCtx internally. (#408) 2022-01-08 23:54:32 +01:00
Martin Šošić
7a0f75b539
Enriched Evaluation errors with parse context + made them showable. (#407) 2022-01-08 23:52:26 +01:00
Martin Šošić
82bec83769
Better type error messages (and context). (#400)
- Enriched Parser.AST, TypeChecker.AST and TypeError with Ctx.
2022-01-08 23:50:48 +01:00
Shayne Czyzewski
cdee0ff0d3
feature: Makes CLI output easier to see success and failure (#418)
Closes #212
2022-01-05 09:15:38 -05:00
Martin Sosic
c7ce883b5a Improved parse errors (added expected tokens, nicer error messages).
- Added expected tokens.
- Nice error messages + source position.
2021-12-21 16:36:49 +01:00
Shayne Czyzewski
081f3c149a
feature: Delays recompilation until no file changes in last 1s (#403)
Closes #191
2021-12-17 08:39:59 -05:00
Shayne Czyzewski
4156cebb20
fix: Propagates deletion of DB migrations dir from Wasp src to the generated project (#383)
Fixes #211
2021-12-13 12:06:42 -05:00
Shayne Czyzewski
f444eaae47
feat(auth): Added flexible validation checks for User entity email and password (#376)
Adds an additional Prisma middleware for User entity validation checks that the user can disable and/or extend

Closes #88 and fixes #100
2021-12-07 13:22:56 -05:00
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 Sosic
41f8c531e5 Added TODO for AppSpec.Entity. 2021-11-25 12:06:29 +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 Sosic
a1abc2e6d5 Ormolu and hlint are now managed via stack and can be run via ./run script. 2021-11-16 21:28:17 +01:00
Martin Šošić
2d09576af6
./run script can now run stan - static analyzer. (#365) 2021-11-16 20:43:55 +01:00
Phil de Joux
ace42b360e
Get set up to run stan for static analysis (#364)
* fix: Get set up to run stan with its default setup.

Show how to install stan with stack.

* Use the same resolver by way of a snapshot.
2021-11-16 17:22:30 +01:00
Martin Sosic
2064b9a3e7 Updated .hlint.yaml so it contains correct list of default extensions. 2021-11-15 19:23:17 +01:00
Martin Sosic
95e71eb48e Renamed wasp cli executable from wasp to wasp-cli. 2021-11-12 18:13:59 +01:00
Phil de Joux
41077ea2bd fix: flag when new project name is a reserved word.
fixes #354.
2021-11-11 19:45:14 +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
Vinícius Andrade
dfd6773cc1
Fixed lint errors in Todo Tutorial (#349)
* Fixed lint errors in waspc Todo example

Signed-off-by: Vini Andrade <vini.andrade.dev@gmail.com>

* Fixed lint errors in example TodoApp

Signed-off-by: Vini Andrade <vini.andrade.dev@gmail.com>

* Fixed lint errors in todo app docs

Signed-off-by: Vini Andrade <vini.andrade.dev@gmail.com>
2021-11-08 14:19:15 +01:00
Phil de Joux
422c354abc
Bump resolver to the latest LTS version, lts-18.15 for ghc-8.10.7. (#351) 2021-11-04 22:39:26 +01:00
(´⌣`ʃƪ)
2ce24cdfa0
refactor: convert functions in Util.IO to use StrongPath instead of Path (#346)
* refactor: convert functions in Util.IO to use StrongPath instead of Path

* Clean up import in IO

* Updated version of strong-path to the newest one, that doesn't cause version conflicts.

* Tightened types a bit in Util/IO.hs

Co-authored-by: Martin Sosic <sosic.martin@gmail.com>
2021-10-28 14:07:26 +02: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
07f111903c Removed install.sh script and updated links to download installer script. 2021-10-12 12:41:19 +02:00
ShawSumma
70ba7f0608 fix spelling mistake in react component 2021-10-06 22:17:25 +02:00
Martin Šošić
a5f2eb03c8
Merge pull request #300 from wasp-lang/analyzer-evaluator
feat: Implement evaluator for new type checker
2021-09-22 23:39:45 +02:00
Martin Sosic
a25f8fc809 Renamed Evaluation.Core to Evaluation.Internal. 2021-09-22 23:30:42 +02:00
Martin Sosic
84f32b0e67 fixed ormolu 2021-09-21 21:16:34 +02:00
Martin Sosic
70fc06ee15 IsEnumType now has enumEvaluate method. 2021-09-21 21:04:10 +02:00
Martin Sosic
08eec6f1c7 Added declEvaluate function. 2021-09-21 19:43:59 +02:00
Martin Sosic
074529d79c Made TypeDefinitions implementation Internal. 2021-09-18 00:08:42 +02:00
Martin Sosic
11f494df81 fix 2021-09-17 23:28:38 +02:00
Martin Sosic
22c00d6310 Refactored TH.hs into multiple files. 2021-09-17 13:35:18 +02:00
Martin Sosic
60e8574f9d fix 2021-09-17 12:20:21 +02:00
Martin Sosic
674c3ec3a7 fix 2021-09-17 12:09:44 +02:00
Martin Sosic
dd96f724e1 Refactored Evaluator.Combinators into more structured code. 2021-09-17 11:52:41 +02:00
Martin Sosic
123765c494 fix 2021-09-17 10:10:36 +02:00
Martin Sosic
5c19d42ed1 fix 2021-09-16 16:08:43 +02:00
Martin Sosic
5a1ba5017a fix 2021-09-16 14:47:34 +02:00
Martin Sosic
cb50008b98 fix 2021-09-14 17:08:53 +02:00
Martin Sosic
147d1d6466 Separated EvalCtx from evaluation input in Evaluator.Combinators and
removed duplication.
2021-09-14 14:05:12 +02:00
Martin Šošić
7a32aa38c4
IsDeclType and IsEnumType now have toDeclType and toEnumType functions. (#304) 2021-09-14 11:57:48 +02:00
Martin Šošić
9455697c51
Added IsDeclType constraint to Decl, hidden its internal representation. (#303) 2021-09-14 11:19:12 +02:00
Martin Šošić
d283aabdaf
Added some general Analyzer docs. (#302) 2021-09-14 11:13:54 +02:00
Saatvik Shah
347cca6d9b
Move bash completion logic to Haskell (#305)
This patch moves majority of the bash completion logic from Bash to
Haskell taking advantage of the environment variables exposed by the
`complete` builtin to infer and suggest possible outputs.

Co-authored-by: sshah1 <saatvik.shah@imc.com>
2021-09-06 13:09:03 +02:00
craigmc08
c99e9a9050 Suggestions from code review 2021-08-24 12:00:06 -04:00
Craig McIlwrath
d37cfed9f9
Apply suggestions from code review
Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2021-08-24 11:53:22 -04:00
zant
76acbfd52a
feat: Implement wasp info command (#295) 2021-08-23 18:13:04 +02:00
craigmc08
43450647c7 Fix some comments 2021-08-22 14:19:38 -04:00
craigmc08
9686eaf4dc Add test for Analyzer module 2021-08-22 13:33:44 -04:00
craigmc08
b294e42889 Refactor EvaluationError type 2021-08-22 13:18:12 -04:00
Martin Sosic
af201435be Updated wasp version to 0.2.2.2. 2021-08-20 17:50:57 +02:00
Martin Sosic
0a33598b7f fix: Fixed compiler thinking auth is enabled per operation when it is not. 2021-08-20 17:47:55 +02:00
craigmc08
923a9ad35a Refactoring 2021-08-07 09:22:52 -04:00
craigmc08
2507a71abe Add evaluation for import, json, psl 2021-08-05 15:22:21 -04:00
craigmc08
5f3f845416 More cleanup in TH 2021-08-05 14:34:46 -04:00
craigmc08
865a5196aa Refactor evaluator TH code and add more comments 2021-08-05 13:25:13 -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
a65a964b76 Add TODO for tests in Util.Control.Monad 2021-08-05 13:17:49 -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
Craig McIlwrath
5d013fab6d 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
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
2f173bc8b7 Refactor TypeChecker unifyTypes
The dicttype case is more clear now
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 Sosic
b1ff2566a1 Updated wasp version to 0.2.2.1. 2021-07-22 17:18:03 +02:00
Martin Sosic
7d73f4969b fix: Improved error message when route points to non-existing page (#286). 2021-07-22 17:13:49 +02:00
Martin Šošić
f7b203ed5c
Added more details on how we use ormolu for formatting 2021-07-22 15:43:47 +02:00
Martin Sosic
1ae8887a71 Updated wasp version to 0.2.2.0. 2021-07-22 13:43:27 +02: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
Martin Sosic
29fd18dbcc Formatted with ormolu. 2021-07-21 16:05:55 +02:00
Saatvik Shah
d8bd9ce674 Add task counter to ToDo app 2021-07-20 21:37:35 +02:00
Saatvik Shah
3791b0ee7c Merge remote-tracking branch 'upstream/master' into auth_opt_out 2021-07-18 18:46:18 +02:00
Martin Sosic
d9d4ae378c docs: Design doc for custom server setup code. 2021-07-16 17:31:07 +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