Skip to content

Commit 744df97

Browse files
committed
Use dope.sh to generate a testable app from production template
1 parent 0ebee55 commit 744df97

File tree

18 files changed

+14446
-23
lines changed

18 files changed

+14446
-23
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ There are two ways to get help or provide feedback (and we try to always respond
7373
1. [Open an issue](https://github.com/wasp-lang/open-saas/issues)
7474
2. [Wasp Discord](https://discord.gg/aCamt5wCpS) -- please direct questions to the #🙋questions forum channel
7575

76+
## Development Tools
77+
78+
For information about the development tools used to maintain derived projects (like opensaas.sh and template-test), see [tools/README.md](./tools/README.md).
79+
7680
## Contributing
7781

7882
Note that we've tried to get as many of the core features of a SaaS app into this template as possible, but there still might be some missing features or functionality.

opensaas-sh/README.md

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,12 @@ Inception :)!
1212

1313
Since the demo app is just the open saas template with some small tweaks, and we want to be able to easily keep it up to date as the template changes, we don't version (in git) the actual demo app code, instead we version the diffs between it and the template: `app_diff/`.
1414

15-
So because we don't version the actual demo app (`app/`) but its diffs instead (`app_diff`), the typical workflow is as follows:
15+
**Quick Reference:**
1616

17-
1. Run `./tools/patch.sh` to generate `app/` from `../template/` and `app_diff/`.
18-
2. If there are any conflicts (normally due to updates to the template), modify `app/` till you resolve them. Do any additional changes also if you wish.
19-
3. Generate new `app_diff/`, based on the current updated `app/`, by running `./tools/diff.sh`.
17+
- Generate `app/` from template and diffs: `./tools/patch.sh`
18+
- Update diffs after modifying `app/`: `./tools/diff.sh`
2019

21-
**Running on MacOS**
22-
23-
If you're running the `patch.sh` or `diff.sh` scripts on Mac, you need to install:
24-
25-
- `grealpath` (packaged within `coreutils`),
26-
- `gpatch`,
27-
- and `diffutils`.
28-
29-
```sh
30-
brew install coreutils # contains grealpath
31-
brew install gpatch
32-
brew install diffutils
33-
```
20+
For detailed information about the diff/patch workflow and MacOS setup requirements, see [../tools/README.md](../tools/README.md).
3421

3522
### Blog (blog/)
3623

opensaas-sh/tools/diff.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#!/usr/bin/env bash
22

3-
TOOLS_DIR=$(dirname "$(realpath "$0")") # Assumes this script is in `tools/`.
4-
cd "${TOOLS_DIR}" && cd ../..
3+
SCRIPT_DIR=$(dirname "$(realpath "$0")") # Assumes this script is in `opensaas-sh/tools/`.
4+
ROOT_DIR="${SCRIPT_DIR}/../.."
5+
6+
cd "${ROOT_DIR}"
57

68
rm -rf opensaas-sh/app_diff
7-
"${TOOLS_DIR}/dope.sh" template/app opensaas-sh/app diff
9+
"${ROOT_DIR}/tools/dope.sh" template/app opensaas-sh/app diff

opensaas-sh/tools/patch.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#!/usr/bin/env bash
22

3-
TOOLS_DIR=$(dirname "$(realpath "$0")") # Assumes this script is in `tools/`.
4-
cd "${TOOLS_DIR}" && cd ../..
3+
SCRIPT_DIR=$(dirname "$(realpath "$0")") # Assumes this script is in `opensaas-sh/tools/`.
4+
ROOT_DIR="${SCRIPT_DIR}/../.."
5+
6+
cd "${ROOT_DIR}"
57

68
# Removes all files except for some gitignored files that we don't want to bother regenerating each time,
79
# like node_modules and certain .env files.
810
find opensaas-sh/app -mindepth 1 \( -path node_modules -o -name .env.server -o -name .env.me \) -prune -o -exec rm -rf {} +
9-
"${TOOLS_DIR}/dope.sh" template/app opensaas-sh/app patch
11+
"${ROOT_DIR}/tools/dope.sh" template/app opensaas-sh/app patch

template-test/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
app/
2+
base-app/

template-test/README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Template Testing
2+
3+
Tests the production version of the Open SaaS template that users get from `wasp new -t saas`.
4+
5+
**Why this exists:** opensaas-sh tests `template/app` (current repo state), but `main` branch may differ from the last released template. This tests what users actually get from `wasp new -t saas`.
6+
7+
**How it works:** Scripts run `wasp new -t saas` to get a fresh template, then apply minimal production patches (Dummy→SendGrid email, dotenv-vault for secrets). Tests that the template builds and runs with production email provider.
8+
9+
## Regular Usage
10+
11+
When testing a new Wasp release:
12+
13+
```bash
14+
cd template-test
15+
./tools/patch.sh
16+
cd app && npm run env:pull
17+
wasp start # or wasp build
18+
```
19+
20+
## Initial Setup
21+
22+
Only needed once to create the initial patches:
23+
24+
```bash
25+
cd template-test
26+
wasp new -t saas temp && cp -r temp/app/* app/ && rm -rf temp
27+
cd app && git init && git add .
28+
29+
# Edit main.wasp: change Dummy→SendGrid
30+
# Setup dotenv-vault with working credentials
31+
32+
cd .. && ./tools/diff.sh
33+
git add app_diff/ && git commit -m "Add template-test patches"
34+
```
35+
36+
## Requirements
37+
38+
MacOS users need: `brew install coreutils gpatch diffutils`
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--- /Users/ilakovac/dev/open-saas/template-test/tools/../../template-test/base-app/app/.env.vault
2+
+++ template-test/app/.env.vault
3+
@@ -0,0 +1,25 @@
4+
+#/-------------------.env.vault---------------------/
5+
+#/ cloud-agnostic vaulting standard /
6+
+#/ [how it works](https://dotenv.org/env-vault) /
7+
+#/--------------------------------------------------/
8+
+
9+
+# development
10+
+DOTENV_VAULT_DEVELOPMENT="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"
11+
+DOTENV_VAULT_DEVELOPMENT_VERSION=2
12+
+
13+
+# ci
14+
+DOTENV_VAULT_CI="0kVgjX4gDSFLdOkWOqXHcN6VOvVhMN5wJ9zgF3M7enHE7613DjnvWxS/Xtr2kFNv71jp+Qf51mLpmajTR4kb0whC+uLFa/7xZtXBFV0k5ac4NglcAF2dPbbi2ymqqFzjz5SwTVjQ3xzqpGbmaw/spmoapH1YEaWphA6GSOkJciI8NRqOYsLq7T1AdPrPudt6SUaroRKHD/kPk6ipt7c6sWdkMzKRF2Yv9FVLHDSRr86HCfVjW5FDfgc2eo2ITOONys72Wk/JK1RB1fntT9YIxUP2mX5rWtxsRDw5PPiu4OmrfC93p81BhwlPFMBBV7fOnJKs7jx5NPUEWlPS8xf4StQ9by2/oPmBrsFdzI84ikF6yNvoac7idj2tHsnaOjPWMmTT3Fk88Bt+K0HqMjdpNT7TilEbXbIxP4vq5SjSK9/whnsEqymWFO1aimo+Z6rzC9HNXecoryjtvDk7Y9D60V4oLyNOnSMf4v/+hvIYoAwIfnajVGUQ3y5rw1TLOEm8YQ61DgmArWDk8GhHnk/U6zVIpE8r/wuvYhn5GjMrG+5ZreUJMjRN58Fo/PGJszAciQh65gD5iTlL7qiaM5qgRA7SWuywxJc+3q8YmcHLBAKS1MeSsOw4bHMH1mphO1tSobRvZCS5T/kpCSwbAZviZq5Vx+oFgk39ymAkQ9aKwiTrHtKr0V/BxpqeUt223UC/y3M1TuaCAjs2szKckGa5FPjzWMAdHKShum4ikwGncX6CA5i+c1zimO8+7gj1qQPdZPBpcgHQ2kzX5Njg3InENowIE3RXd+a/ZmKVyP1IkThofsozOgxC+V3OTqriI4SRBIU+ZQ2xfwnsuTETpe/0Bf/pvKanxqebkouHhSUTPK8aF4HOzPbyiPpjFLtw/dmlN9MXdZag02+JGhlMCQ=="
15+
+DOTENV_VAULT_CI_VERSION=2
16+
+
17+
+# staging
18+
+DOTENV_VAULT_STAGING="JMEI1tbOz427qXvVvq9eL5gCiTE62+uCHKjt20WI80iwr2ROHrVjeS4rOXVazZ+BWlnyI8utwk1h4qLqxnqE9PlaCxH78MZX/K8Z8DV30QciubrmgnleUuO25EPlivbHqWWn0nQEMGaLemERXisx/fb/F2VG4aJwMzHd0kEGTnIWjEczGV2VlAgrEobPSZBz6BC02ioIOh6+nbJd5aDaMxaxrxuEJUFTxXDjbEigsJfaZyj2BknsUu/hHdCIPP8TNmAZdPBxmjkiu6rLEKxJ/mC8Hjdu/deZa6fiL8rfLN5ckmIJC+oWW57ectOyPMTq2Byxq/GenB1gMCpB/eOpltfXJvwqSPOrk4EsD62Ycdpr5Dxn2Ui/MN7IW0PREQwkawEmgN/hFp/AVqV5x/dQakqnpFek3qG4nl9COvHWkujd0thfjxRg+iYPEZxKvw6jXPMuG5rUAq0hz2uiiQu+sl7EoPgVtMhmHAeA0XLLPN9yAcdTRH0fzXbgv+DCHR9Xi+my/9PNNi3FCQCqcKUiMSWRqA8pL9xGP7J45LICcmHbHuXhbffSp8sGvPthAKLbCiYBEH97PPOzH6qjaU5gz0qd/tM5XhwDYrWE8i/NXCFTX++l4BOJBN9zb71Sx2KALK5c2aQKjpN5LT1bnF30OchDkFXY/p79kuvopQIEkGJlcBBLyf8hgnlgQdx0e/nXFJVTh/evhc3ndp8nATFwZtoKx1Vgvrq4ux09aaO6ErII4QJZqMBjgpGuAMj9RNE0iUFwm1S9BVVyHqndDnr+mTyKpkUEqzGQHWuZ+KuAsnYQHcOJUo1Wh3zYs0BHswBvbenWcrM/0QRRLoSKziNIRfCudT+J/5ED6v/3JOhACvfq6dD7vlLgURof4b8y9bXb27GX2ycyHZGXjlbZgg=="
19+
+DOTENV_VAULT_STAGING_VERSION=2
20+
+
21+
+# production
22+
+DOTENV_VAULT_PRODUCTION="eSIUBg42a0f0KXdMcsp1tfg3nEHp6ESJNhNOysVtT8AZC/dAQculRnSkA07aY4mNPyAB7B1Y0MayMdNnnB44drdepJYUNNwsBwCxANVl6hgjll8q6CWEgE8e+vW6jTQJDq0myaCSvCgBqfQYDATTTHVJ1Q4FZECavJlqjfNIaAy09evubbhzTmL9z/i+S7jQJCLmirLET438Hnz04/i2S3CtdtsLEtjLWbUvrSkiVALBYkCFxQcmasoit2U/0fgjGaeNuWtfAB7Iku3CSdmcO8kQBtH0j+7TbW7I0cfVTUYH9ipcQCy0vjwx1GwsHWBi5IqPfj4bD/HUTPwinn7MrEBtM2cZ3uksSeWk1x+Ks7A5sQnL7XzgUxnl070TiRZJSb0TYuzXM8ILt7gq0frgKSUKRXkeH+egxjBrMAGQ7vY0ebdBHlBHPHOeF9iiFoaujWdReBitbawHYORG8Ct8pvstiTdj98w7g7WB434/Eh0L0pi8Ydepj40/8OpA3nCES9cCIi0uaFlr+arIh3w6h5FsTqaLgh+MmbpNXnRR99/r/0zzKq3/9d1wnIbc7uHkoOSEkTlD5ceEf+IO85A4jsQFOXYJpGV8ns8z4xWLTsU+3GyWIIGDkkNR0CY8PjdkBeQJPEvZNPDnn+LK9C42Clkm1eQy4aqHaagJxFGYp/j79S7Lm4kLJZMHywKi628CsHZO/moPvkfUGrEO2KmqWHvnxWDh5PggV3TAJWOMk7p2ykuFRRb26MgMf9f8oTa+CSs2Jk5W7TF10xaYZDz7fCyUBdMK+JcguPcq0mFw9eoDf9i8FLOKF26VuK7Z14+fRTZN/YHU+u75ru6WDymRpm0ZhCBDdYy80gM45089Scp2bpnKIWg6s7bLdb9R/NRUhK1PZRDEzw3SkDZBVQ=="
23+
+DOTENV_VAULT_PRODUCTION_VERSION=2
24+
+
25+
+#/----------------settings/metadata-----------------/
26+
+DOTENV_VAULT="vlt_57f67ae090fbd4c01066b1af1342a8ba518da1296c6595b9fcd233af37a5fce4"
27+
+DOTENV_API_URL="https://vault.dotenv.org"
28+
+DOTENV_CLI="npx dotenv-vault@latest"
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
--- /Users/ilakovac/dev/open-saas/template-test/tools/../../template-test/base-app/app/.gitignore
2+
+++ template-test/app/.gitignore
3+
@@ -9,3 +9,8 @@
4+
# Don't ignore example dotenv files.
5+
!.env.example
6+
!.env.*.example
7+
+
8+
+.env*
9+
+.flaskenv*
10+
+!.env.project
11+
+!.env.vault
12+
\ No newline at end of file

template-test/app_diff/deletions

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.env.client.example
2+
.env.server.example
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--- /Users/ilakovac/dev/open-saas/template-test/tools/../../template-test/base-app/app/main.wasp
2+
+++ template-test/app/main.wasp
3+
@@ -39,7 +39,7 @@
4+
email: {
5+
fromField: {
6+
name: "Open SaaS App",
7+
- email: "me@example.com"
8+
+ email: "opensaastemplate@mg.wasp.sh"
9+
},
10+
emailVerification: {
11+
clientRoute: EmailVerificationRoute,
12+
@@ -84,14 +84,11 @@
13+
},
14+
15+
emailSender: {
16+
- // NOTE: "Dummy" provider is just for local development purposes.
17+
- // Make sure to check the server logs for the email confirmation url (it will not be sent to an address)!
18+
- // Once you are ready for production, switch to e.g. "SendGrid" or "Mailgun" providers. Check out https://docs.opensaas.sh/guides/email-sending/ .
19+
- provider: Dummy,
20+
+ provider: SMTP,
21+
defaultFrom: {
22+
name: "Open SaaS App",
23+
// When using a real provider, e.g. SendGrid, you must use the same email address that you configured your account to send out emails with!
24+
- email: "me@example.com"
25+
+ email: "opensaastemplate@mg.wasp.sh"
26+
},
27+
},
28+
}

0 commit comments

Comments
 (0)