* 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.
* Make waspc/todoApp return tasks in consistent order
(cherry picked from commit 57606c74e4)
* Reduce duplication in frontend actions and queries
* Fix formatting
* Update e2e tests to include queries/core
* 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
* Added 'context' field to our telemetry, specifically to recognize when Wasp is running on Gitpod.
* Telemetry user id can now be specified via ENV var.
* Improved user signature obtaining code a bit.
* Added fromMaybeM.
* Apply minor syntax fixes to templates
* Fix Wasp react app warnings
* Fix small bug in waspc todo app
* Rearrange functions in RouterGenerator
* Migrate react-query to v3
* Collapse config in react query
* Update e2e tests after react-query migration
* Rename function in RouterGenerator
* Update job tests
* 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
* 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
* 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>
Use cliSendMessage everywhere in CLI
Instead of using waspSays and friends, we use the new cliSendMessage protocol everywhere to
send messages. For convenience we introduce a cliSendMessageC that's lifted to commands.
We handle CommandErrors specially now, and have a special way to display errors (failures) and warnings
with a heading.
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
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