* Add wasp field to AppSpec.App
* Validate app.wasp.version in AppSpec.Valid
* Add app.wasp.version field on .wasp file generated by CreateNewProject
* Add app.wasp.version to .wasp files of e2e tests
* Add app.wasp.version to examples' .wasp files
* Add app.wasp.version to docs
* Change waspc version from 0.6.0.0 to 0.6.0
* Change app.wasp.version validation to use regular semver
* Format code
* Refactor app.wasp.version validation
* Refactor app.wasp.version validation
* Update supported app.wasp.version format in docs
* Add TODO to validateWaspVersion
* Refactor app.wasp.version using toEnum
* Create Wasp.Version module with waspVersion constant
* Fix parseWaspVersionRange regex
Fixed:
- The regex wasn't checking the string *starts* with ^.
- The . symbols were not escaped.
- The $ token is not specified as supported in the regex-tdfa docs.
\' is used instead.
* Add comment explaining wasp version validation restrictions
* Use Wasp.Version.waspVersion instead of Paths_wasp.version
* Add trailing slash note in deploying document
* Remove trailing slash, if present in the wasp backend URL
* e2e-test for trailing slash fix
* e2e test for trailing slash in wasp backend url
* Fix e2e-tests checksums
Co-authored-by: Filip Sodić <filip.sodic@gmail.com>
* Fix query cache key generation issue
* Make waspc/todoApp return tasks in consistent order
* Implement basic support for optimistic updates
* Fix query cache key generation issue again
* Add action counter to prevent flickering updates
* Add remove todo to action counter
* Count only optimistically updated cache keys
* Make waspc/todoApp return tasks in consistent order
(cherry picked from commit 57606c74e4)
* Reduce duplication in frontend actions and queries
* Fix formatting
* Fix optimistic updates after merge
* Experimenting
* Hash queries before counting
* Rename parameters in counter
* Add task done toggling to task page
* Fixes after merge
* Fix wrong condition in example todo app
* Simplify counter with react-query's internal hash
* Remove console log and add notes
* Clear up some todos and tidy up
* Fix formatting
* Remove leftover todo
* Fix a bug that caused double action calls
* Simplify query key hashing function
* Revert accidental blog changes
* Revert accidental blog changes
* Apply optimistic updates on each query response
* Clean up code for optimistic updates
* Clean up more code for optimistic updates
* Remove redundant optimistic update tuple list
* Rename query to queryKey
* Return previous data from onMutate
* Move counter into the constructor function
* Move updatesHandler into the constructor function
* Remove debug logs from optimisticUpdatesMap
* Rename and refactor optimistic updates
* Fix typo in comments
* Remove the option to directly specify query key
* Remove flickering fixes for optimistic updates
* Add optimistic updates to Task.js
* First round of code review feedback
* Remove react query's additional options from hook
* Futher review feedback and code docs
* Fix and document error handling for optimistic updates
* Fix formatting and remove comment
* Further document optimistic update mechanisms
* Fix memory leak in updates handler map
* Update optimistic update docs
* Improve comment for useAction
* Further improve comments in actions/index
* Heavily comment actions/index
* Fix capitalization in action/index
* Add types to actions/index
* Fix jsdoc types in actions/index
* Comment testing sleeps
* Comment sleep function in todoApp/ext/actions
* Properly handle type errors in actions/index
* Fix formatting in actions/index
* Rename an argument in actions/index
* Move updateFn change to optimistic update instantiation
* Extract common functionality in actions/index
* Reuse common functionality for optimistic updates
* Fix formatting in actions/index
* Comment the internal action mechanism
* Add jsdoc types to actions/index
* Revise jsdoc in actions/index
* Document makeOptimisticUpdateMutationFn
* Add updateQuery constraints
* Address PR comments
* Update e2e tests
* Mention optimistic updates in cache invalidation
* Further elaborate updateQuery constraints
* Update e2e tests
* Add support for kebab-case in project name (#590)
* clean up kebab case naming (#590)
* clean up code for create new project (#590)
* clean up code for kebab-name project (#590)
Co-authored-by: Prat T <pt2121@users.noreply.github.com>
* First try.
* first version that compiles.
* Added range function.
* fixed tests.
* Fixed order of funcions in the code.
* fix
* Simplify semantic version module
* Change qualified import name for SV
Co-authored-by: Filip Sodić <filip.sodic@fer.hr>
* Add CST parsing code into waspc
* Implement CST -> AST conversion
* Implement parseExpression & isValidWaspIdentifier
* Implement golden tests for Parser
* Configure CI git checkout to always use LF line endings
* 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>