Commit Graph

355 Commits

Author SHA1 Message Date
Martijn Faassen
830bb43be1 We can compare PackageJsonDependencies independent of dependency order
Use an explicit Ord to enforce dependencies are compared by name.
2022-02-11 11:05:02 +01:00
Martijn Faassen
27b3c83f7a Introduce combinePackageDependencies
This is the base operation used now to combine package dependencies. It
knows about dev dependencies too. I've adjusted the code for
both web app and server to use this.

I've factored out commonalities in error handling into PackageJsonGenerator

We now support devDependencies for web app and in the deps command

We also have nicer functions to generate the package json entries
directly from the PackageJsonDependencies structure
2022-02-11 11:05:02 +01:00
Shayne Czyzewski
f0ec477dbd
fix: error when running prisma generate without entities (#457) 2022-02-10 07:24:50 -05:00
Martijn Faassen
55d9e1bbd8
Resolve dependencies refactor (#449)
Create a new resolveDependencies

Use Map to do differences between Wasp and user package.json dependencies.

This is now used internally in resolveNpmDeps.

Also fixes a bug in the conflict error message, where the wasp and user dependency
were previously not properly distinguished.

Add .vscode and move everything that appears text editor related to a section
2022-02-09 14:02:19 +01:00
Martijn Faassen
8a97732c71
Merge pull request #450 from wasp-lang/269-compile-and-npm-install
269 compile and npm install
2022-02-08 17:12:53 +01:00
Martin Sosic
a0b7477d19 Renamed all references to master branch into main branch. 2022-02-08 15:34:32 +01:00
Martijn Faassen
91a40a6105 Revert to the previous behavior for now.
Leave comments in place on what to do once we can skip `npm install`.
2022-02-08 11:00:24 +01:00
Shayne Czyzewski
2ccc0408c4
Adds Prisma client generation during app generation (#444)
Closes #427
2022-02-07 15:09:22 -05:00
Martijn Faassen
55d9bd1ef1 We now run compile and install each time the wasp file changes 2022-02-07 12:56:46 +01:00
Martijn Faassen
988929fbdc Factor out this function into its own module
We also need to reuse it during watch
2022-02-07 12:56:41 +01:00
Martijn Faassen
ae5f498b65 Rename to compileAndSetup
Until (and if) we ever rename setup, we should use this simpler name.

And it involves npm install of two projects, not one one anyway.
2022-02-07 12:55:24 +01:00
Martijn Faassen
4f1088ddf5 Remove commented out code 2022-02-07 12:55:24 +01:00
Martijn Faassen
901a9b9f0e Factor out a compileAndInstall 2022-02-07 12:55:24 +01:00
Martijn Faassen
a93269c88a Add .vscode local config to gitignore 2022-02-07 12:55:24 +01:00
Martin Sosic
2e9c9c63e1 Updated wasp version to 0.3.0.0. 2022-02-04 11:52:30 +01:00
Martin Sosic
f59b432269 Added CHANGELOG entry for 0.3.0.0 version, added simple error when 'app' is missing. 2022-02-04 11:51:58 +01:00
Shayne Czyzewski
c2f9eff3b8
fix: todo example error from missing entity (#446)
Co-authored-by: shayneczyzewski <shayne.czyzewski@gmail.com>
2022-02-02 19:38:47 +01:00
Martijn Faassen
cb33f2d545 When we build, do not generate .env 2022-01-31 14:09:07 +01:00
Shayne Czyzewski
c516113f11
feat: Warns user if Prisma needs to be migrated because of schema.prisma changes (#424)
Closes #214
2022-01-27 15:14:29 -05:00
Shayne Czyzewski
82cb481c96
feat: Adds Generator monad for more flexible error and warning handling (#433)
Closes #123
2022-01-23 09:21:31 -05:00
Martin Šošić
8d2c33ab28
Replace Wasp with AppSpec and Parser with Analyzer. (#423) 2022-01-20 11:45:14 +01:00
Shayne Czyzewski
b74eb88ff0
Makes DbGenerator responsible for movement of migrations dir (#420)
Closes #105
2022-01-12 11:28:21 -05:00
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