Commit Graph

107 Commits

Author SHA1 Message Date
Martin Šošić
62f0a76937
Limited Wasp version to ^16.0.0 && <=16.15.0 (#634)
* Limited Wasp node version to ^16.0.0 && <=16.15.0.

In the process, I removed .nvmrc files from generated code and
refactored SemanticVersion to follow npm spec.
I also updated CI to use node 16.15.0, and not any 16.
I also updated docs.
2022-06-17 17:02:54 +02:00
Filip Sodić
0b78f658be
Implement support for query client configuration (#612)
* Implement support for query client configuration

* Make sure query client is always initialized

* Fix formatting

* Fix formatting

* Add missing await in index.js

* Separate query client setup into two functions

* Introduce default query client config

* Fix missing export in docs

* Fix missing field warnings

* Add query client setup docs

* Update e2e tests for query client config
2022-06-09 10:37:19 +02:00
Filip Sodić
59c714111e
Support for the client setup function (#595)
* Add clientSetup support to analyzer and tidy up generator

* Add clientSetup support to generator

* Add tests for client setup function and tidy up

* Address PR comments for client setup function

* Clean up server and web app generators

* Document react query invalidation on logout

* Update e2e tests after query client cache clean

* Fix syntax error in exmaple app

* Remove leftover todos

* Fix formatting

* Fix formatting

* Fix tests for client setup function

* Update e2e test

* Fix todos in templates

* Add docs for client setup

* Fix docs typo

* Fix docs typo

* Fix docs typo

* Fix docs typo

* Update e2e test
2022-05-20 14:49:26 +02:00
Shayne Czyzewski
4de7d16331
Adds cron support to pg-boss Jobs and documentation (#586) 2022-05-13 12:30:55 -04:00
Shayne Czyzewski
f14be11fc3
Add pg-boss as a Job executor (#582)
Note: This does not provide cron support, that is coming in the next PR.
2022-05-03 14:34:25 -04:00
Shayne Czyzewski
302fcc11d8
Adds support for basic Wasp job DSL parsing (#540) 2022-04-06 10:07:45 -04:00
Filip Sodić
b3d9014e37
Allow Wasp identifiers for project names (#520)
* Allow Wasp identifiers for project names

* Rename initialState to makeInitialState

* Fix formatting

* Use parser to parse Wasp identifiers

* Add newline at the end of Wasp.Analyzer.Parser

* Fix newline at the end of Wasp.Analyzer.Parser

* Clean up and rename parsing

* Fix newline at the end of Wasp.Analyzer.Parser

* Add tests for new parser functions

* Fix formatting

* Fix formatting

* Reformat where statement

* Address PR comments and remove redundant module

* Remove keywords from error message

* Fix formatting in CreateNewProject.hs

* Remove redundant note on duplication
2022-03-30 01:25:56 +02:00
Shayne Czyzewski
52ec8d7232
Improve performance of writing FileDrafts (#506)
Closes #503 

Co-authored-by: Martijn Faassen <martijn@wasp-lang.dev>
2022-03-29 08:53:28 -04:00
Filip Sodić
52badd651e
[Analyzer] Reverse the order of Wasp error messages (#500)
* Reverse the order for TypeError messages

* Remove redundant import and unused pragma

* Remove redundant import and unused pragma

* Reverse additional type error messages

* Remove redundant import

* Format util test file

* Address PR comments

* Add empty line to TypeError.hs

* Address PR comments

* Format TypeError.hs

* Reverse message order in evaluation errors

* Extract common error message functions

* Add tests for EvaluationErrors

* Improve naming in Wasp.ErrorMessage

* Fix formatting

* Fix formatting

* Format code

* Change naming and syntax in ErrorMessage

* hange names in EvaluationError tests

* Add full stops to documentation

* Fix formatting in tests
2022-03-23 13:18:43 +01:00
Filip Sodić
8a3fba8831
Require LTS version of Node for Wasp (#504)
* Require LTS node and npm on client and server

* Update node and npm versions in the docs

* Add npmrc and nvmrc to WebAppGenerator

* Change function name in test

* Add newline to nvmrc

* Add newline to Common.hs

* Remove extra empty line in nvmrc

* Remove extra empty line in Common.hs

* Update end to end tests for node LTS

* Add newline at the end of server/nvmrc

* Ensure Node version 16 in CI

* Fix broken ci file

* Change how Wasp specifies required versions

* Fix formatting

* Use type alias for semantic versions

* Remove incorrect comment on Prisma LTS

* Update e2e checksums

* Fix typo in gitignore

Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>

* Sort e2e checksums

* Extract semantic version to its module

* Fix formatting

* Fix formatting again

* Add comment explaining nvmrc

* Add tests and change semver naming

* Add natural numbers and formatting to semver

* Add newline at the end of semver module

* Add missing space to node mismatch message

Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2022-03-21 15:00:19 +01:00
Phil de Joux
08704f4117
Follow hlint suggestions. (#513) 2022-03-18 12:33:37 +01:00
Martin Šošić
2a16bfd3cf
App spec validation (#459) 2022-03-17 12:36:36 +01:00
Shayne Czyzewski
8bc004ef29
Makes Wasp smarter when writing over existing generated files (#486)
Closes #209
2022-03-15 07:43:52 -04:00
Martijn Faassen
540a4d0ded
Do npm install as part of generation process, only when needed (#464)
Create a seperate runSetup function

This does the `npm install` (if required) and the database setup.

Since this is now happening in the generation phase, this means we don't need
`compileAndSetup` anymore.

Since compile now sets up the dependencies, we only need to compile in any db command

Reworked the naming and types of combining the various dependencies.
2022-02-18 17:23:14 +01:00
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
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
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
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
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