Commit Graph

269 Commits

Author SHA1 Message Date
Shayne Czyzewski
6dcfb290d9
Cast server setupFn for backwards compatibility (#1038) 2023-03-02 08:34:51 -05: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
Mihovil Ilakovac
799db73f34
Increase clickable area for auth buttons (#1027) 2023-02-23 14:30:33 +01:00
Mihovil Ilakovac
5e1c025bd1
Invalidate queries after oAuth login (#1024) 2023-02-23 14:11:02 +01:00
Mihovil Ilakovac
19841401ac
Updates social auth button styles (#1018) 2023-02-22 21:50:07 +01:00
Shayne Czyzewski
1515d04b5a
Fix server env validation during deploy (#1022) 2023-02-22 14:16:30 -05: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
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
Shayne Czyzewski
b14ed945fc
Adds wasp deploy CLI command for Fly.io (#961) 2023-02-07 10:29:25 -05:00
Matija Sosic
5d6b229d6a
Fix for misaligned contents of auth buttons. (#966) 2023-01-25 10:19:01 +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
Martin Sosic
231f48ea3d Fixed Dockerfile. 2022-12-14 23:53:52 +01:00
Shayne Czyzewski
752ece369c
Fix Google login button height for use with Tailwind (#858) 2022-12-13 13:00:43 -05:00
Martin Sosic
6ba114ecbe Fixed failing Dockerfile (openssl3 + prisma). 2022-12-13 14:41:46 +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ć
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
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
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
Ankesh
ac625d964f
Remove trailing slash from Wasp backend URL (#749)
* 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>
2022-10-18 01:31:39 +02:00
Filip Sodić
8cd5220293
Remove rudandant aboslute API URLs (#755)
* Remove rudandant aboslute API URLs

* Remove redundant imports from js files

* Update e2e tests
2022-10-14 15:16:35 +02:00
Shayne Czyzewski
8fc6fd1836
Adds support for Dockerfile customization (#732) 2022-10-13 12:46:07 -04:00
Shayne Czyzewski
a84f3547fa
Fixes login issue for uppercase usernames (#751) 2022-10-13 12:04:45 -04:00
Filip Sodić
fbf6de0d4d
Fix flickering UI in optimistic updates (#668)
* 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
2022-09-22 00:17:00 +02:00
Filip Sodić
4a94c9851e
Implement optimistic updates
* 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

* Further document optimistic update mechanisms

* 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

* Move updateFn change to optimistic update instantiation

* Extract common functionality in actions/index

* Fix formatting in actions/index

* Add jsdoc types to actions/index

* Revise jsdoc in actions/index

* Address PR comments

* Update e2e tests

* Mention optimistic updates in cache invalidation
2022-09-21 17:40:06 +02:00
Shayne Czyzewski
b965dfeb30
Works around sodium-native bug to support Heroku deploys (#729) 2022-09-20 10:51:47 -04:00
Shayne Czyzewski
6cd38b0f94
Adds Google as an authentication method (#669) 2022-09-06 14:35:59 -04:00
Shayne Czyzewski
bc92b024e1
Renames auth method EmailAndPassword to UsernameAndPassword (#696) 2022-08-24 10:32:46 -04:00
Shayne Czyzewski
d827d05d96
Jobs callback function updates (#676) 2022-08-17 13:53:05 -04:00
Filip Sodić
67562e32cc
Remove undefined values from query keys (#671)
* Remove undefined values from query keys

* Update e2e tests
2022-07-18 14:18:06 +02:00
Shayne Czyzewski
9f7d212b8c
Fix User model name assumption (#660) 2022-07-01 08:18:40 -04:00
Martin Šošić
62f0a76937
Limited Wasp version to ^16.0.0 && <=16.15.0 (#634)
* 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.
2022-06-17 17:02:54 +02:00
Filip Sodić
fdd8e47b25
Reduce duplication when creating frontend queries and actions (#633)
* 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
2022-06-17 14:35:01 +02:00
Filip Sodić
0b78f658be
Implement support for query client configuration (#612)
* Implement support for query client configuration

* Make sure query client is always initialized

* Fix formatting

* Fix formatting

* Add missing await in index.js

* Separate query client setup into two functions

* Introduce default query client config

* Fix missing export in docs

* Fix missing field warnings

* Add query client setup docs

* Update e2e tests for query client config
2022-06-09 10:37:19 +02:00
Filip Sodić
59c714111e
Support for the client setup function (#595)
* 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
2022-05-20 14:49:26 +02:00
Shayne Czyzewski
4de7d16331
Adds cron support to pg-boss Jobs and documentation (#586) 2022-05-13 12:30:55 -04:00
Shayne Czyzewski
f14be11fc3
Add pg-boss as a Job executor (#582)
Note: This does not provide cron support, that is coming in the next PR.
2022-05-03 14:34:25 -04:00
Shayne Czyzewski
a5f86524e0
Changes python to python3 in Dockerfile (#577) 2022-04-21 08:33:49 -04:00
Filip Sodić
50d806daa6
Update React Query to v3 (#554)
* 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
2022-04-15 11:23:15 +02:00
Shayne Czyzewski
adcb15a41c
Adds a simple pass-through Jobs implementation. (#553) 2022-04-13 12:30:29 -04:00
Filip Sodić
8a3fba8831
Require LTS version of Node for Wasp (#504)
* 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>
2022-03-21 15:00:19 +01:00
Martijn Faassen
2b050fb9c7 Fix error handling bug
Errors were not properly handled as `error` was not bound
2022-02-16 18:42:11 +01:00
Martijn Faassen
27b3c83f7a Introduce combinePackageDependencies
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
2022-02-11 11:05:02 +01:00
Martin Šošić
8d2c33ab28
Replace Wasp with AppSpec and Parser with Analyzer. (#423) 2022-01-20 11:45:14 +01:00
Shayne Czyzewski
f444eaae47
feat(auth): Added flexible validation checks for User entity email and password (#376)
Adds an additional Prisma middleware for User entity validation checks that the user can disable and/or extend

Closes #88 and fixes #100
2021-12-07 13:22:56 -05:00
Giovanni Garufi
dcd1549211
auth: Add onAuthSucceededRedirectTo option (#350)
Allows a user to specify a redirect target in case of successful authentication.
This used to be hardcoded to /, and the current implementation will fallback to that if the property is not specified.

Change-type: minor
Signed-off-by: Giovanni Garufi <nazrhom@gmail.com>
2021-11-22 14:23:19 +01:00
ShawSumma
70ba7f0608 fix spelling mistake in react component 2021-10-06 22:17:25 +02:00
Saatvik Shah
347cca6d9b
Move bash completion logic to Haskell (#305)
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>
2021-09-06 13:09:03 +02:00
Martin Šošić
d86b53cb24
Merge pull request #279 from saatvikshah/auth_opt_out
Allow operations to opt out of auth middleware
2021-07-21 16:28:18 +02:00
Martin Sosic
748dfb5725 feat: Wasp can now run custom setup code on server start (#199). 2021-07-21 16:14:38 +02:00
Saatvik Shah
d0c5114a52 Address review comments 2021-07-09 08:04:29 +02:00
Saatvik Shah
a85b408b60 Allow operations to opt out of auth middleware
This patch allows operations to individually specify whether they want
to use or opt out of auth middleware, via an additional `auth` argument
under the actions/queries sections. If left unspecified it is assumed to
be true.

This is addressed by removing the current global auth middleware
registration, and adding it instead to individual operation route
specification.
2021-07-05 21:20:56 +02:00
Trieu Huy Vu
a18be1ab27
feat(cli): CLI now supports bash completion (#224)
Co-authored-by: Trieu Vu <trieuv@strategicdata.com.au>
2021-06-16 13:40:31 +02:00
tolarianwiz
2d54d005e5
refactor: extract server npm dev dependencies
Now dev dependencies in package.json are no more hardcoded, instead they are generated (like dependencies) from ServerGenerator.hs and inserted as devDepsChunk.
2021-05-31 20:30:08 +02:00
caz-gh
df619ff943 feat: add 'helmet' to node server dependencies 2021-05-19 16:40:56 +02:00
Martin Sosic
8d3e3830f4 fix: bumped Prisma version to 2.22.1. 2021-05-18 21:18:05 +02:00
Martin Šošić
f9e8f88b66
Upgraded to Prisma 2.21 (stable migrations) + postgre can be used in local dev.
- `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.
2021-04-21 14:06:25 +02:00
Martin Šošić
92937b5e65
Implemented support for dotenv file. (#208) 2021-04-16 12:43:57 +02:00
Martin Šošić
ad3bdd32ae
Implemented PSL model parser, used it for Entity. (#201) 2021-03-15 17:10:01 +01:00
Trieu Vu
2bb96cf9fb missing mustache delimiter 2021-02-23 12:08:02 +01:00
Trieu Vu
4e95c4dcda remove createNewUser, use a direct call to prisma 2021-02-23 12:08:02 +01:00
Jack Carroll
01642db6fa
Handle case when JWT token verification fails (#177)
* handle case when JWT token verification fails

* added more verbose error handling to to jwt verify

* updated error handling to throw unknown errors

* Fix

Co-authored-by: Martin Sosic <sosic.martin@gmail.com>
2021-02-09 17:00:31 +01:00
Martin Sosic
80ab13d4e4 Improved error message when node is missing or too low version. 2021-02-09 15:49:48 +01:00
Martin Sosic
693cf13d69 Polished 'wasp new' template a little bit. 2021-02-09 14:31:00 +01:00
Matija Sosic
0207276a01
Added welcome page to the newly created app. (#178) 2021-02-09 13:13:51 +01:00
Martin Sosic
ecd2fd36f2 Fixed places where auth stuff was used even when no auth. 2021-02-04 14:18:59 +01:00
Matija Sosic
316c727a8c
Implemented app.head property. (#170) 2021-02-04 11:42:01 +01:00
Martin Šošić
cfa6985abd
Added support for manual deployment of generated code (backend and frontend) (#167) 2021-02-03 19:26:14 +01:00
Matija Sosic
647814e920
Implemented "wasp build" cmd - generates different schema.prisma. (#166)
* Implemented "wasp build" cmd - generates different schema.prisma.

* PR fixes.
2021-02-01 17:37:42 +01:00
Matija Sosic
68155711e8
Implemented FE ACL & updated the examples. (#165)
* Implemented FE ACL & updated the examples.

* PR fixes, fixed tests.
2021-02-01 16:32:07 +01:00
Matija Sosic
242c51f6a8
Made auth more flexible - not generating pages & routes anymore, just the forms. (#161) 2021-01-25 19:39:50 +01:00
Martin Sosic
2d0eb0a967 Fix #159: error if 'auth' not defined. 2020-12-18 11:25:43 +01:00
Martin Sosic
f52b719291 Fixed prisma version to 2.12.1 . 2020-12-10 15:54:17 +01:00
Martin Sosic
6a4469c370 Merge branch 'master' into realworld 2020-12-01 11:54:57 +01:00
Matija Sosic
6527319581
Added password hashing middleware to Prisma instance - dev cannot change/update password without it being hashed. (#149) 2020-11-27 18:11:54 +01:00
Martin Sosic
57412b8b3c Added favorited articles. 2020-11-26 22:48:35 +01:00
Martin Sosic
609bb19846 Added popular tags to homepage. 2020-11-26 16:35:38 +01:00
Matija Sosic
4ac627e652
Generating simple login & signup pages when auth is enabled. (#145) 2020-11-23 16:51:46 +01:00
Matija Sosic
8e451dbe6c
Implemented simple signup function for Wasp developer to use out-of-the-box. (#142) 2020-11-19 16:28:42 +01:00
Matija Sosic
4ea507312c
Fixed #103: app crashes when no auth. (#106) 2020-10-28 18:12:27 +01:00
Martin Sosic
3ab248b584 Removed redundant old templates and code (redux). 2020-10-21 17:41:04 +02:00
Matija Sosic
6a59804a46
Authentication generation (#74) 2020-10-19 14:45:54 +02:00
Martin Sosic
6edad656c2 Queries are now auto-invalidated based on entities they use. 2020-10-07 15:56:23 +02:00
Martin Sosic
54b994bb0a Entities are now injected into operations (if declared in Wasp). 2020-10-07 15:29:21 +02:00
Martin Sosic
ca039304f9 Wasper can now specify npm dependencies. 2020-09-29 13:46:48 +02:00
Martin Sosic
5a0ddf71f5 Set node version of generated project to current LTS version. 2020-09-22 14:56:32 +02:00
Matija Sosic
08f224d03d
Implemented migrate-save and migrate-up cli db commands. (#41) 2020-09-18 16:14:14 +02:00
Martin Sosic
a4d56b41df Added check of node version when running node commands. 2020-09-17 13:04:19 +02:00
Matija Sosic
0bc5b2eec8
Added npm packages needed for using Prisma. (#37) 2020-09-11 15:06:38 +02:00
Matija Sosic
ef5adc40ff Renamed prisma.schema to schema.prisma. 2020-09-09 15:56:39 +02:00
Matija Sosic
06bb7b97a8
Implemented generation of prisma.schema. (#33) 2020-09-07 16:33:47 +02:00
Martin Sosic
bc5caef944 Implemented new Action and removed old Action and Button. 2020-09-07 13:26:53 +02:00
Martin Sosic
69f45c40a7 Added HttpError on server, to be used in operations. 2020-09-04 15:14:06 +02:00
Martin Sosic
faf34a7d26 Added react-query, implemented useQuery wrapper for it, refactored Todo
example app to use new queries, removed old Wasp code from it.
2020-09-03 17:52:34 +02:00
Martin Sosic
f5fe865193 Implemented simple Query generator on both FE and BE. 2020-09-01 16:58:34 +02:00
Matija Sosic
bcfeb9b350 Page now accepts an external component instead of inline content. 2020-08-31 14:20:40 +02:00
Matija Sosic
25d7051c6d
Route is now a separate Wasp element. Implemented both parser and generator. (#24) 2020-07-31 14:26:10 +02:00
Martin Sosic
8bec4c8e20 Implemented generation of simple node server. 2020-07-27 17:44:21 +02:00
Martin Sosic
e45d077f54 Added Button and Action<entity>, also updated Todo app to use them. 2020-03-10 16:24:41 +01:00
Matija Sosic
fd39e5b658 Added support for entity-list mutex filters. 2020-03-10 14:01:29 +01:00
Matija Sosic
08445b4df6 Bumped react-scripts to 3.4.0, was incompatible with react-dev-utils. 2020-02-27 16:10:05 +01:00
Martin Sosic
aa1072b20f Moved all code into waspc directory. 2020-02-20 12:30:58 +01:00