Commit Graph

82 Commits

Author SHA1 Message Date
Filip Sodić
945d777133
Add full-stack compile-time type safety (#1090) 2023-04-06 21:12:18 +02:00
Mihovil Ilakovac
7f32a4ccb9
Adding e-mail auth (e-mail verfication, password reset) (#1087) 2023-04-05 23:25:03 +02:00
Martin Šošić
0e5aa85014
Implement database seeding via 'wasp db seed' 2023-04-05 11:33:52 +02:00
Shayne Czyzewski
5d2b278e75
Adds vitest for testing client code (#1055) 2023-03-30 12:22:40 -04:00
Mihovil Ilakovac
6dbeedca60
Adds support for e-mail sending (#1050) 2023-03-24 12:42:22 +01:00
Mihovil Ilakovac
a86f3fdb7c
Fixes localstorage clearing bug (#1058) 2023-03-22 14:05:39 +01:00
Martin Šošić
91a8063081
Implemented wasp start db (managed dev db) (#1044)
Implemented 'wasp start db' + docs + e2e tests + refactoring.
2023-03-21 16:37:20 +01:00
Mihovil Ilakovac
326737759d
Refactor auth to conform to providers interface (#998) 2023-03-16 10:42:57 +01:00
Mihovil Ilakovac
7bd217595a
Opens React app by default when running wasp start (#1059) 2023-03-15 14:46:37 +01:00
Shayne Czyzewski
9f3f5234ef
Adds api for defining custom HTTP routes (#1043) 2023-03-14 14:04:51 -04:00
Mihovil Ilakovac
6d979c1c7f
Adds support for FE listening on multiple addresses (#1048) 2023-03-10 11:30:48 +01:00
Martin Sosic
81f0eeae15 Bumped Wasp version to 0.9.0. 2023-03-08 23:09:29 +01:00
Mihovil Ilakovac
cb691c8dd7
Fixes tsconfig.json use of extends (#1045) 2023-03-07 22:52:21 +01:00
Mihovil Ilakovac
4c60f3c5b7
Vite related docs and changelog update (#1037) 2023-03-02 16:31:53 +01:00
Mihovil Ilakovac
7a0f8b5d58
Replaces Create React App with Vite (#1019) 2023-03-01 17:14:14 +01:00
Shayne Czyzewski
8991043eed
Add Express app and http server to server setupFn (#1017) 2023-02-27 12:19:17 -05:00
Shayne Czyzewski
1515d04b5a
Fix server env validation during deploy (#1022) 2023-02-22 14:16:30 -05:00
Mihovil Ilakovac
85b3e3480a
Add missing dotenv dependency (#1021) 2023-02-22 15:30:22 +01:00
Mihovil Ilakovac
75b3d7db01
Adds env validation and shared templates folder (#994) 2023-02-21 11:52:37 +01:00
Mihovil Ilakovac
9665571c63
Moves root component inside of Router (#1016) 2023-02-21 11:52:14 +01:00
Mihovil Ilakovac
9b2c8ca0a5
Fixes user query cache invalidation (#1014) 2023-02-20 16:28:26 +01:00
Mihovil Ilakovac
c2a3e04283
Adds support for root component (#1009) 2023-02-20 11:15:54 +01:00
Shayne Czyzewski
bfbb57ecd0
Build server during Docker build, not when starting app (#1008) 2023-02-17 13:33:25 -05:00
Mihovil Ilakovac
2622f3c4cd
Bumps Wasp to 0.8.2 (#1010) 2023-02-16 10:49:18 +01:00
Mihovil Ilakovac
b139a0bcff Merge branch 'main' into release-with-main 2023-02-14 23:04:01 +01:00
Mihovil Ilakovac
07b03fec5d
Generate all JS import statements in Haskell (#956) 2023-02-13 16:57:31 +01:00
Mihovil Ilakovac
0fce66f21e
Drop the npm version requirement (#1002) 2023-02-13 16:10:40 +01:00
Filip Sodić
b79f694eef
Fix structural typing bug with operation types (#982)
* Support typing backend queries

* Implement types for actions and extract entities

* Add Prisma entities to the frontend

* Add frontend types to internal todoApp

* Undo moving for easier review

* Revert back to generating a query.js file

* Rename buildEntityData

* Fix structural typing bug

* Rename function for making entity json data

* Expand EntityMap to improve readability

* Remove leftover testing artifacts

* Remove wasp prefix from _entityName

* Remove solved todo in schema template

* Fix docs in method

* Adding uninstall command (#953)

* Adding uninstall command

* Updates docs and changelog related to the uninstall command

* Use StrongPath instead of FilePath

* Fix review feedback

* Move prisma client generation messages

* Generalize FileDraft functions

* Generate prisma clients using ENV

* Fix schema checksum check

* Small refactor in db generator

* Run prisma generate from server root dir

* Fix types for useAction

* Fix type error for useAction

* Fix schema generation in Dockerfile

* Refactor passing env vars to prisma schema

* Fix useAction types

* Replace Prelude readFile with SP readFile

* Add comment for prisma/client in web app

* Replace Prelude writeFile with SP writeFile

* Replace do and if with ifM

* Rename readProjectTelemetryFile

* Refactor readOrCreateUserSignatureFile

* Remove redundant comment

* Fix typo in variable name

* Simulate unions with a type class

* Further improve strongpath types

* Add expand types to types index

* Remove redundant comment

* Organize internal type modules

* Fix formatting

* Remove leftover code

* Generate prisma clients after migration

* Change ModuleRootDir to ComponentRootDir

* Remove solved todo

* Improve naming

* Remove redundant env variable

* Improve formatting

* Fix errors after merging

* Include input and output types

* Temporarily delete _types

* Restore _types index

* Add types to queries

* Rename WaspEntity to Entity

* Change local function name

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

* Rename local function again

* Update changelog

* Fix error type in useQuery

* Rename Component to AppComponent

* Refactor DbGenerator

* Explain Abs paths in SP helpers

* Update e2e tests

* Fix formatting

* Change signature for doesFileExist

* Change signature for SP functions

* Remove redundant do block

* Fix formatting

* Reorder functions

* Rename module to appComponent in functions

* Rename module to component in functions

* Rename telemetry cache function

* Fix formatting

* Update changelog

* Remove redundant import

* Update e2e tests

---------

Co-authored-by: Mihovil Ilakovac <mihovil@ilakovac.com>
Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2023-02-13 15:17:08 +01:00
Filip Sodić
c41f065ef4
Bring Prisma entities to the frontend (#962)
* Support typing backend queries

* Implement types for actions and extract entities

* Add Prisma entities to the frontend

* Add frontend types to internal todoApp

* Undo moving for easier review

* Revert back to generating a query.js file

* Rename buildEntityData

* Remove solved todo in schema template

* Fix docs in method

* Adding uninstall command (#953)

* Adding uninstall command

* Updates docs and changelog related to the uninstall command

* Use StrongPath instead of FilePath

* Fix review feedback

* Move prisma client generation messages

* Generalize FileDraft functions

* Generate prisma clients using ENV

* Fix schema checksum check

* Small refactor in db generator

* Run prisma generate from server root dir

* Fix types for useAction

* Fix type error for useAction

* Fix schema generation in Dockerfile

* Refactor passing env vars to prisma schema

* Fix useAction types

* Replace Prelude readFile with SP readFile

* Add comment for prisma/client in web app

* Replace Prelude writeFile with SP writeFile

* Replace do and if with ifM

* Rename readProjectTelemetryFile

* Refactor readOrCreateUserSignatureFile

* Remove redundant comment

* Fix typo in variable name

* Simulate unions with a type class

* Further improve strongpath types

* Generate prisma clients after migration

* Change ModuleRootDir to ComponentRootDir

* Remove solved todo

* Improve naming

* Remove redundant env variable

* Improve formatting

* Fix errors after merging

* Change local function name

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

* Rename local function again

* Update changelog

* Fix error type in useQuery

* Rename Component to AppComponent

* Refactor DbGenerator

* Explain Abs paths in SP helpers

* Update e2e tests

* Fix formatting

* Change signature for doesFileExist

* Change signature for SP functions

* Remove redundant do block

* Fix formatting

* Reorder functions

* Rename module to appComponent in functions

* Rename module to component in functions

* Rename telemetry cache function

* Fix formatting

---------

Co-authored-by: Mihovil Ilakovac <mihovil@ilakovac.com>
Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2023-02-13 14:31:49 +01:00
Bas Dirks
e4e29eec0b
Add Input type to operations (#989)
* feat: add type variable for operation input argument

* Pass where object by name.

* Change default type of operator input to `never`.

* Update e2e checksums.

* Rename operation Result type to Output, remove redundant default types.

---------

Co-authored-by: Bas Dirks <bas.dirks@bettyblocks.com>
2023-02-10 16:56:53 +01:00
Filip Sodić
71038c277d
Add automatic TypeScript support for operations (#952)
* Support typing backend queries

* Implement types for actions and extract entities

* Automatically generate specific operation types

* Eta reduce functions

* Add CR fixes

* Add type to imports and exports for entities

* Change query extensions back to .js

* Tidy up default arguments for operation types

* Don't throw syntax error when there are no entities

* Update e2e tests

* Fix formatting

* Address CR comments

* Fix typo in comment

* Add duplication comment

* Update e2e tests

* Fix duplication comments

* Update changelog and bump project version

* Update changelog

* Update e2e tests
2023-01-24 15:12:57 +01:00
Filip Sodić
81ffa6c27c
Add manual TypeScript support for Operations (#945)
* Support typing backend queries

* Implement types for actions and extract entities

* Add CR fixes

* Add type to imports and exports for entities

* Change query extensions back to .js

* Tidy up default arguments for operation types

* Don't throw syntax error when there are no entities

* Update e2e tests

* Fix formatting

* Fix typo in comment

* Update changelog and bump project version
2023-01-24 14:45:35 +01:00
Shayne Czyzewski
e8a142f155
Bump version for 0.8.0 release (#917) 2023-01-02 10:44:24 -05:00
Martin Sosic
67761dcfb6 Updated e2e tests. 2022-12-14 23:53:52 +01:00
shayneczyzewski
a678c41d7e update wasp version in e2e 2022-12-13 19:20:34 +01:00
Martin Sosic
6ba114ecbe Fixed failing Dockerfile (openssl3 + prisma). 2022-12-13 14:41:46 +01:00
Filip Sodić
5efa40f871 Update version to 0.7.1 and edit changelog 2022-12-01 01:24:23 +01:00
Filip Sodić
0433ebbd37
Add TS compile step when running production (#861)
* Fix missing compile step on production start

* Update e2e tests
2022-11-30 18:43:07 +01:00
Filip Sodić
1f7f9005b0
Update Todo app tutorial (#840)
* Update todo app tutorial

* Remove trailing spaces from clocks

* Match MainPage with tutorial

* Add newline to end of action.js

* Fix newline at the end of action.js

* Fix typo in tutorial

* Update web/docs/tutorials/todo-app/creating-new-project.md

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

* Update web/docs/tutorials/todo-app/creating-new-project.md

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

* Fix jsx typo in tutorial

* Remove React import from e2e tests

Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2022-11-26 19:32:43 +01:00
Filip Sodić
b468f72576
Fix version issue for React-related types (#838)
* Fix react version mismatch

* Update e2e tests
2022-11-26 17:39:11 +01:00
Filip Sodić
5da642e8eb
TypeScript fixes before Beta (#831)
* Change typescript modules to esnext

* Fix tsconfigs and use recommended settings

* Fix server not loading env variables

* Fix TS output overwriting error

* Fix wrong types

* Change MainPage.tsx to MainPage.jsx

* Remove duplication for Node tsconfig

* Update e2e tests for TS fixes

* Fix formatting
2022-11-25 20:10:10 +01:00
Filip Sodić
24fb75ffd0
Update e2e tests after supporting TypeScript (#828) 2022-11-24 15:03:19 +01:00
Martin Sosic
a8c2bd0e80 fixed e2e tests, fixed release script. 2022-11-22 19:31:43 +01:00
Shayne Czyzewski
8b4d21ec4c
Update Prisma to latest version (#806) 2022-11-16 09:11:22 -05:00
Shayne Czyzewski
52e710494f
Update default favicon (#815) 2022-11-16 06:57:18 -05:00
Filip Sodić
67eca7ecf6
Add peek and go to definition for JS files (#795)
* Separate ext code to client and server

* Use skeleton in createNewProject and refactor

* Refactor Lib.hs to use ExceptT

* Fix formatting

* Pop up returns

* Extract liftIO and add a do block

Co-authored-by: Shayne Czyzewski <523636+shayneczyzewski@users.noreply.github.com>

* Address some review comments

* Add skeleton comment

* Extract common CommandError message

* Separate skeleton comment into two rows

* Move server and client dirs into src

* Simplify maybeToEither

* Further refactor Lib.hs

* Further simplify skeleton comment

* Add shared code directory to project structure

* Update e2e test inputs

* Update e2e test outputs

* Fix formatting

* Fix bug in compile function

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

* Change map to fmap in compile function

* Fix formatting

* Force git to include empty directories

* Remove extra empty line from .gitkeep files

* Add .jsconfig to enable go-to-definition

* Watch shared directory for changes

* Add final newline to jsconfigs

* Fix regular and e2e tests

* Update e2e tests

* Fix cli template packaging and update todoApp

* Add a shared function demo to todoApp

* Update waspc and e2e tests

* Fix compiler warnings and rename function

* Rename mkError to mkParserError

* Remove redundant empty line

* Fix test warnings

* Fix formatting

* Update waspc.cabal with jsconfigs

* Minimize jsconfig.json files

* Add jsconfigs to waspc todoApp

* Update e2e tests

* Update e2e tests

* Fix directory tree watching on wasp start

* Implement review feedback

Co-authored-by: Shayne Czyzewski <523636+shayneczyzewski@users.noreply.github.com>
Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2022-11-11 17:38:38 +01:00
Filip Sodić
86e0893d6f
Separate user code into client, server, shared (#753)
* Separate ext code to client and server

* Use skeleton in createNewProject and refactor

* Refactor Lib.hs to use ExceptT

* Fix formatting

* Pop up returns

* Extract liftIO and add a do block

Co-authored-by: Shayne Czyzewski <523636+shayneczyzewski@users.noreply.github.com>

* Address some review comments

* Add skeleton comment

* Extract common CommandError message

* Separate skeleton comment into two rows

* Move server and client dirs into src

* Simplify maybeToEither

* Further refactor Lib.hs

* Further simplify skeleton comment

* Add shared code directory to project structure

* Update e2e test inputs

* Update e2e test outputs

* Fix formatting

* Fix bug in compile function

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

* Change map to fmap in compile function

* Fix formatting

* Force git to include empty directories

* Remove extra empty line from .gitkeep files

* Watch shared directory for changes

* Fix regular and e2e tests

* Fix cli template packaging and update todoApp

* Add a shared function demo to todoApp

* Update waspc and e2e tests

* Fix compiler warnings and rename function

* Rename mkError to mkParserError

* Remove redundant empty line

* Fix test warnings

* Fix formatting

* Fix directory tree watching on wasp start

* Implement review feedback

Co-authored-by: Shayne Czyzewski <523636+shayneczyzewski@users.noreply.github.com>
Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2022-11-11 17:20:49 +01:00
Shayne Czyzewski
fa9f487e2a
Adds opt-in support for Tailwind (#777) 2022-11-04 09:39:13 -04:00
Martin Šošić
7c45475601
Detect when jobs quiet down and print compiler warnings/errors. (#781)
Co-authored-by: Shayne Czyzewski <523636+shayneczyzewski@users.noreply.github.com>

Co-authored-by: Shayne Czyzewski <523636+shayneczyzewski@users.noreply.github.com>
2022-11-01 22:43:39 +01:00
Anthony Suárez
0cde880f24
Feat: Validate wasp version from spec (#786)
* 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
2022-10-31 23:00:03 +01:00