We introduce a SendMessage protocol.
We implement it in the CLI as that knows how to send messages. We also pass it into the generator so that it can reach the setup phase. There we use it to emit messages on the CLI.
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.
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
* 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.
* 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>
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>
- `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.