The kitchen-sink app serves two main purposes:
- The primary purpose of the
kitchen-sinkapp is for contributors to test the development version of the Wasp CLI easily. - The secondary purpose is to demonstrate as many Wasp features as possible.
Not all features can be included at once (e.g.,
emailvsusernameAndPasswordauth are mutually exclusive), but the goal is to cover as many as we can.
The kitchen-sink app is also the main playground for Wasp’s e2e application tests.
Any new or modified features should be added and tested here whenever possible.
To run the app with minimal setup:
cp .env.server.example .env.serverThis command creates a .env.server file with basic env variables set to dummy values.
The app will run, but not all features will work unless you provide the genuine API keys.
Check the Wasp docs for instructions on configuring supported providers such as Google Auth or GitHub Auth.
You can use the shared .env.server with genuine API keys:
npm run env:pullTo persist the local changes back to the shared config:
npm run env:pushThe kitchen-sink app runs like any other Wasp application.
- Start the database:
wasp start db- Migrate the database (if needed, in a separate terminal):
wasp db migrate-dev- Start the app (in a separate terminal):
wasp start- Open
localhost:3000in the browser to see the app!
To run the application with the development version of Wasp, please use the ./run wasp-cli script located in the waspc/ directory.
For example:
# From inside the kitchen-sink directory:
../../waspc/run wasp-cli start db
# Or use an alias with the absolute path to the script:
wrun wasp-cli start db
# Or if you installed the development `waspc` binary globally:
wasp-cli start dbWe use playwright for e2e tests.
To run the tests:
- Install
playwright's browser dependencies:
npx playwright install --with-deps- Run the tests:
npm run test