Commit Graph

277 Commits

Author SHA1 Message Date
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
Filip Sodić
3264b7c66b
Fix environment variable overriding in processes (#1028) 2023-02-24 14:00:10 +01:00
Mihovil Ilakovac
5e1c025bd1
Invalidate queries after oAuth login (#1024) 2023-02-23 14:11:02 +01: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
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
b139a0bcff Merge branch 'main' into release-with-main 2023-02-14 23:04:01 +01:00
Filip Sodić
2327a8f9d9
Stop weakening the AST (#628) 2023-02-14 10:09:21 +01:00
Mihovil Ilakovac
a8daaf4dd7
Updates type for relative import paths (#1004) 2023-02-13 21:58:36 +01:00
Shayne Czyzewski
b080f7be0b
Fixes a locked file error on latest Macs (#1000) 2023-02-13 12:13:44 -05: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
Shayne Czyzewski
b14ed945fc
Adds wasp deploy CLI command for Fly.io (#961) 2023-02-07 10:29:25 -05:00
Mihovil Ilakovac
1017e20bf4
Adding uninstall command (#953)
* Adding uninstall command

* Updates docs and changelog related to the uninstall command
2023-02-01 11:18:24 +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
2182b9088d
Adds GitHub login and refactors Passport.js (#872) 2022-12-20 09:12:08 -05:00
Shayne Czyzewski
a16aa73753
Add support for --create-only migrations (#862) 2022-12-13 13:55:01 -05: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ć
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ć
a73870c0a1
Fix database setup after NPM install (#839)
* Fix database setup after installation

* Change function name
2022-11-26 15:27:10 +01:00
Martin Sosic
3078d9831b Quick additional improvement of npm installation progress indicator. 2022-11-25 21:46:01 +01:00
Martin Sosic
d5d2c53d7e npm installation now has nice progress indicator. 2022-11-25 21:32:55 +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ć
784c47c317
Server-side TypeScript support (#827) 2022-11-24 14:38:39 +01:00
Filip Sodić
31df276a25
Client-side TypeScript support (#824)
* Add typescript support to generator

* Change jsconfig to tsconfig for client

* Change Main.js to Main.tsx

* Implement TypeScript support on client

* Fix formatting

* Fixes in actions/index.ts

* Remove extra types from comments

* Update waspc/src/Wasp/Generator/ServerGenerator.hs

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

* Remove server-specific typescript stuff

* Fix useQuery type

* Add typeroots to client tsconfig

* Improve TypeScript support on client

* Remove tsx extension from template wasp file

* Format code

Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
2022-11-24 14:28:37 +01:00
Martin Sosic
ccf3c7199f Npm install now prints more information during wasp start. 2022-11-23 17:46:07 +01:00
Shayne Czyzewski
8b4d21ec4c
Update Prisma to latest version (#806) 2022-11-16 09:11:22 -05: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
Martin Šošić
d9fc27bcde
Improved how Wasp prints output of underlying processes. (#794) 2022-11-04 19:57:34 +01:00
Martin Šošić
26f45942f8
If wrong wasp version, message gives instructions how to install correct one. (#799)
* If wrong wasp version, message gives instructions how to install correct one.

* fix
2022-11-04 19:24:51 +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
Shayne Czyzewski
51b7f0d42c
Updates node/npm to current LTS (#788) 2022-10-31 08:08:50 -04:00
Filip Sodić
1b129188b0
Update React Query to version 4 (#782)
* Update to React Query 4, pass 1

* Fix array key for React Query 4

* Fix logout bug after React Query 4 update

* Update e2e tests
2022-10-25 11:41:03 +02:00
Martin Sosic
bbb0f36879 Revert "Add user-friendly error when DATABASE_URL envar is not set (#743)"
We are doing this because we forgot to account for .env files,
so we redundant warnings.

This reverts commit f6da4f8899.
2022-10-21 18:17:29 +02:00
Shayne Czyzewski
dc036f56cd
Updates CRA from v4 to v5 (#771) 2022-10-19 10:39:45 -04:00
Steven Garcia
f6da4f8899
Add user-friendly error when DATABASE_URL envar is not set (#743)
Co-authored-by: sgarcia <sgarcia@pop-os.localdomain>
2022-10-18 11:58:21 +02:00
InfiniteVerma
c6b61ce573
Checks for duplicate FileDraft _dstPath during generation (#733) 2022-10-17 10:59:24 -04:00
Shayne Czyzewski
8fc6fd1836
Adds support for Dockerfile customization (#732) 2022-10-13 12:46:07 -04:00
Shayne Czyzewski
4cdc06dd13
Warn if .env file found (#746) 2022-10-06 13:23:40 +02:00
Peter Reshetin
3f63340fc1
feat: separate env vars for server and client (#683) 2022-10-06 12:51:28 +02:00
Filip Sodić
b470d50be8
Generalize WriteableMonad (#742)
* Fix unused variable warning (#736)

* Generalize WriteableMonad functions

* Format code and remove redundant imports

* Improve MockWriteableMonad with RankNTypes
2022-10-04 11:05:52 +02:00