devenv tweaks

This commit is contained in:
2026-06-02 12:34:32 +02:00
parent df0e78d9ba
commit d33b9c5467
39 changed files with 42 additions and 32 deletions

View File

@@ -62,6 +62,7 @@ const render = createRenderer(z.object({
name: z.string(), name: z.string(),
goprefix: z.string(), goprefix: z.string(),
frontend: z.string(), frontend: z.string(),
mobile: z.string()
}) })
})) }))
const destDir = path.join("./", project.name); const destDir = path.join("./", project.name);

View File

@@ -1,10 +1,4 @@
<@if(neq(context.project.frontend,"none"))> { pkgs, lib, config, inputs, ... }:
bundev = {
exec = "bun dev";
cwd = "./apps/web";
after= ["devenv:processes:air@started"];
};
<@endif>{ pkgs, lib, config, inputs, ... }:
{ {
packages = [ packages = [
@@ -19,9 +13,6 @@
pkgs.protoc-gen-connect-go pkgs.protoc-gen-connect-go
pkgs.protoc-gen-es pkgs.protoc-gen-es
pkgs.cobra-cli pkgs.cobra-cli
<@if(eq(context.project.mobile,"expo"))>
pkgs.glib
<@endif>
]; ];
<@if(eq(context.project.mobile,"expo"))> <@if(eq(context.project.mobile,"expo"))>
android = { android = {
@@ -53,47 +44,65 @@
} }
]; ];
}; };
<@if(eq(context.project.mobile,"expo"))> scripts.create-avd.exec = ''
enterShell = '' if [ ! -f .avd-created ]; then
export LD_LIBRARY_PATH=$ANDROID_HOME/emulator/lib64:$LD_LIBRARY_PATH avdmanager create avd
-n "Pixel_5_API34"
-k "system-images;android-34;google_apis_playstore;x86_64"
-d "pixel_5"
fi
''; '';
tasks.'<@var(context.project.name)>:create-avd'.exec = ''
avdmanager create avd
-n "Pixel_5_API34"
-k "system-images;android-34;google_apis_playstore;x86_64"
-d "pixel_5"
'';
tasks.'<@var(context.project.name)>:run-emulator' = {
exec = "emulator -avd Pixel_5_API34";
after = [ "<@var(context.project.name)>:create-avd" ]
};
<@endif> <@endif>
processes = { processes = {
<@if(neq(context.project.frontend,"none"))>
bundev = {
exec = "bun dev";
cwd = "./apps/web";
after= ["devenv:processes:air@started"];
};
<@endif>
air = { air = {
exec = "air"; exec = "air";
cwd = "./services/api"; cwd = "./services/api";
after = ["devenv:processes:postgres"]; after = ["devenv:processes:postgres"];
}; };
protowatcher = { protowatcher = {
exec = "watchexec -r -e proto buf generate"; exec = "buf generate";
cwd = "./packages/proto"; cwd = "./packages/proto";
watch = {
paths = [ ./ ];
extensions = [ "proto" ];
};
after= ["devenv:processes:air@started"]; after= ["devenv:processes:air@started"];
}; };
protojswatcher = { protojswatcher = {
exec = "watchexec -e js,ts -w ./packages/rpc/src -r bun run ./scripts/gen-rpc-index.ts"; exec = "bun run ./scripts/gen-rpc-index.ts";
cwd = "./"; cwd = "./packages/rpc/src";
after= ["devenv:processes:protowatcher@started"]; watch = {
paths = [ ./ ];
extensions = ["js","ts"];
};
after= ["devenv:processes:protowatcher@after"];
}; };
<@if(eq(context.project.mobile,"expo"))>
createavd = {
exec = "create-avd"
};
emulator = {
exec = "emulator -avd Pixel_5_API34"
after = ["devenv:processes:createavd@after"]
};
bundev = {
exec = "bunx expo run:android";
cwd = "./apps/mobile";
after= ["devenv:processes:emulator@started"];
};
<@endif>
sqlwatcher = { sqlwatcher = {
exec = "watchexec -w ./db/migrations -w ./db/query -r -e sql sqlc generate"; exec = "watchexec -w ./db/migrations -w ./db/query -r -e sql sqlc generate";
cwd = "./services/api"; cwd = "./services/api";
after= ["devenv:processes:air@started"]; after= ["devenv:processes:air@started"];
}; };
<@if(eq(context.project.mobile,"expo"))>
emulator = {
exec
}
<@endif>
}; };
} }