Skip to content

Commit 889bb5d

Browse files
committed
feat: add deno to run scripts in backend
Signed-off-by: Guillaume Hivert <[email protected]>
1 parent d740e92 commit 889bb5d

File tree

11 files changed

+196
-8
lines changed

11 files changed

+196
-8
lines changed

.gitignore

+5-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ priv/
55
erl_crash.dump
66
node_modules/
77

8-
.terraform/
9-
terraform.tfstate*
10-
env.tfvars
11-
config.ts
8+
.env*
9+
10+
.DS_Store
11+
Thumbs.db
12+
*~

apps/backend/.gitignore

-4
This file was deleted.

apps/backend/deno.jsonc

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"tasks": {
3+
"db:init": "deno run --allow-run --allow-write --allow-read scripts/database/init.ts",
4+
"db:drop": "deno run --allow-run --allow-write --allow-read scripts/database/drop.ts",
5+
"db:reset": "deno run --allow-run --allow-write --allow-read scripts/database/reset.ts"
6+
}
7+
}

apps/backend/deno.lock

+87
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/backend/gleam.toml

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ gleam_stdlib = "~> 0.34 or ~> 1.0"
99
mist = "1.0.0-rc2"
1010
radiate = {path = "../../packages/gleam-radiate"}
1111
wisp = "~> 0.14"
12+
simplifile = "~> 1.7"
13+
gleam_pgo = "~> 0.7"
1214

1315
[dev-dependencies]
1416
gleeunit = "~> 1.0"

apps/backend/manifest.toml

+8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# You typically do not need to edit this file
33

44
packages = [
5+
{ name = "backoff", version = "1.1.6", build_tools = ["rebar3"], requirements = [], otp_app = "backoff", source = "hex", outer_checksum = "CF0CFFF8995FB20562F822E5CC47D8CCF664C5ECDC26A684CBE85C225F9D7C39" },
56
{ name = "birl", version = "1.6.1", build_tools = ["gleam"], requirements = ["gleam_stdlib", "ranger"], otp_app = "birl", source = "hex", outer_checksum = "976CFF85D34D50F7775896615A71745FBE0C325E50399787088F941B539A0497" },
67
{ name = "exception", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "exception", source = "hex", outer_checksum = "F5580D584F16A20B7FCDCABF9E9BE9A2C1F6AC4F9176FA6DD0B63E3B20D450AA" },
78
{ name = "filepath", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "filepath", source = "hex", outer_checksum = "EFB6FF65C98B2A16378ABC3EE2B14124168C0CE5201553DE652E2644DCFDB594" },
@@ -12,13 +13,18 @@ packages = [
1213
{ name = "gleam_http", version = "3.6.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_http", source = "hex", outer_checksum = "8C07DF9DF8CC7F054C650839A51C30A7D3C26482AC241C899C1CEA86B22DBE51" },
1314
{ name = "gleam_json", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "thoas"], otp_app = "gleam_json", source = "hex", outer_checksum = "8B197DD5D578EA6AC2C0D4BDC634C71A5BCA8E7DB5F47091C263ECB411A60DF3" },
1415
{ name = "gleam_otp", version = "0.10.0", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_stdlib"], otp_app = "gleam_otp", source = "hex", outer_checksum = "0B04FE915ACECE539B317F9652CAADBBC0F000184D586AAAF2D94C100945D72B" },
16+
{ name = "gleam_pgo", version = "0.7.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "pgo"], otp_app = "gleam_pgo", source = "hex", outer_checksum = "0EF5061A2D7FC063AFDF8B4E796D5B3E866C1E5D674111F4C8CF3A7E24D40270" },
1517
{ name = "gleam_stdlib", version = "0.36.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "C0D14D807FEC6F8A08A7C9EF8DFDE6AE5C10E40E21325B2B29365965D82EB3D4" },
1618
{ name = "gleeunit", version = "1.1.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "72CDC3D3F719478F26C4E2C5FED3E657AC81EC14A47D2D2DEBB8693CA3220C3B" },
1719
{ name = "glisten", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_otp", "gleam_stdlib"], otp_app = "glisten", source = "hex", outer_checksum = "CF3A9383E9BA4A8CBAF2F7B799716290D02F2AC34E7A77556B49376B662B9314" },
1820
{ name = "hpack_erl", version = "0.3.0", build_tools = ["rebar3"], requirements = [], otp_app = "hpack", source = "hex", outer_checksum = "D6137D7079169D8C485C6962DFE261AF5B9EF60FBC557344511C1E65E3D95FB0" },
1921
{ name = "logging", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "logging", source = "hex", outer_checksum = "82C112ED9B6C30C1772A6FE2613B94B13F62EA35F5869A2630D13948D297BD39" },
2022
{ name = "marceau", version = "1.1.0", build_tools = ["gleam"], requirements = [], otp_app = "marceau", source = "hex", outer_checksum = "1AAD727A30BE0F95562C3403BB9B27C823797AD90037714255EEBF617B1CDA81" },
2123
{ name = "mist", version = "1.0.0", build_tools = ["gleam"], requirements = ["birl", "gleam_erlang", "gleam_http", "gleam_otp", "gleam_stdlib", "glisten", "hpack_erl", "logging"], otp_app = "mist", source = "hex", outer_checksum = "7765E53DCC9ACCACF217B8E0CA3DE7E848C783BFAE5118B75011E81C2C80385C" },
24+
{ name = "opentelemetry_api", version = "1.3.0", build_tools = ["rebar3", "mix"], requirements = ["opentelemetry_semantic_conventions"], otp_app = "opentelemetry_api", source = "hex", outer_checksum = "B9E5FF775FD064FA098DBA3C398490B77649A352B40B0B730A6B7DC0BDD68858" },
25+
{ name = "opentelemetry_semantic_conventions", version = "0.2.0", build_tools = ["rebar3", "mix"], requirements = [], otp_app = "opentelemetry_semantic_conventions", source = "hex", outer_checksum = "D61FA1F5639EE8668D74B527E6806E0503EFC55A42DB7B5F39939D84C07D6895" },
26+
{ name = "pg_types", version = "0.4.0", build_tools = ["rebar3"], requirements = [], otp_app = "pg_types", source = "hex", outer_checksum = "B02EFA785CAECECF9702C681C80A9CA12A39F9161A846CE17B01FB20AEEED7EB" },
27+
{ name = "pgo", version = "0.14.0", build_tools = ["rebar3"], requirements = ["backoff", "opentelemetry_api", "pg_types"], otp_app = "pgo", source = "hex", outer_checksum = "71016C22599936E042DC0012EE4589D24C71427D266292F775EBF201D97DF9C9" },
2228
{ name = "radiate", version = "0.3.0", build_tools = ["gleam"], requirements = ["filespy", "gleam_otp", "gleam_stdlib", "shellout"], source = "local", path = "../../packages/gleam-radiate" },
2329
{ name = "ranger", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "ranger", source = "hex", outer_checksum = "1566C272B1D141B3BBA38B25CB761EF56E312E79EC0E2DFD4D3C19FB0CC1F98C" },
2430
{ name = "shellout", version = "1.6.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "shellout", source = "hex", outer_checksum = "E2FCD18957F0E9F67E1F497FC9FF57393392F8A9BAEAEA4779541DE7A68DD7E0" },
@@ -31,8 +37,10 @@ packages = [
3137
gleam_erlang = { version = "~> 0.25" }
3238
gleam_http = { version = "~> 3.6" }
3339
gleam_json = { version = "~> 1.0" }
40+
gleam_pgo = { version = "~> 0.7"}
3441
gleam_stdlib = { version = "~> 0.34 or ~> 1.0" }
3542
gleeunit = { version = "~> 1.0" }
3643
mist = { version = "1.0.0-rc2" }
3744
radiate = { path = "../../packages/gleam-radiate" }
45+
simplifile = { version = "~> 1.7" }
3846
wisp = { version = "~> 0.14" }

apps/backend/scripts/database/drop.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import * as helpers from '../helpers.ts'
2+
3+
const id = await helpers.getDatabaseID()
4+
if (id) {
5+
await helpers.dropDatabase()
6+
} else {
7+
console.info("🤔 It looks like you don't have a local setup, exiting…")
8+
}

apps/backend/scripts/database/init.ts

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import * as helpers from '../helpers.ts'
2+
3+
const id = await helpers.getDatabaseID()
4+
if (!id) {
5+
await helpers.createDatabases()
6+
await helpers.writeDotEnv()
7+
console.info("🎉 Database successfully initiated!")
8+
} else {
9+
console.info("🤔 It looks like you already have a local setup, are you sure you want to relaunch setup? Then, run yarn db:reset.")
10+
}
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import * as helpers from '../helpers.ts'
2+
3+
const id = await helpers.getDatabaseID()
4+
if (id) {
5+
await helpers.dropDatabase()
6+
await helpers.createDatabases()
7+
console.info("🎉 Database successfully resetted!")
8+
} else {
9+
console.info("🤔 It looks like you don't have a local setup, creating it instead of resetting…")
10+
await helpers.createDatabases()
11+
await helpers.writeDotEnv()
12+
}

0 commit comments

Comments
 (0)