Skip to content

Commit 728c7ab

Browse files
committed
configurablecli tag for setup commands
1 parent 5f2b120 commit 728c7ab

File tree

4 files changed

+23
-9
lines changed

4 files changed

+23
-9
lines changed

apps/webapp/app/components/SetupCommands.tsx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { createContext, useContext, useState } from "react";
22
import { useAppOrigin } from "~/hooks/useAppOrigin";
33
import { useProject } from "~/hooks/useProject";
4+
import { useTriggerCliTag } from "~/hooks/useTriggerCliTag";
45
import {
56
ClientTabs,
67
ClientTabsContent,
@@ -35,8 +36,6 @@ function usePackageManager() {
3536
return context;
3637
}
3738

38-
const v3PackageTag = "latest";
39-
4039
function getApiUrlArg() {
4140
const appOrigin = useAppOrigin();
4241

@@ -69,8 +68,9 @@ export function InitCommandV3({ title }: TabsProps) {
6968
const project = useProject();
7069
const projectRef = project.externalRef;
7170
const apiUrlArg = getApiUrlArg();
71+
const triggerCliTag = useTriggerCliTag();
7272

73-
const initCommandParts = [`trigger.dev@${v3PackageTag}`, "init", `-p ${projectRef}`, apiUrlArg];
73+
const initCommandParts = [`trigger.dev@${triggerCliTag}`, "init", `-p ${projectRef}`, apiUrlArg];
7474
const initCommand = initCommandParts.filter(Boolean).join(" ");
7575

7676
const { activePackageManager, setActivePackageManager } = usePackageManager();
@@ -118,6 +118,7 @@ export function InitCommandV3({ title }: TabsProps) {
118118
}
119119

120120
export function TriggerDevStepV3({ title }: TabsProps) {
121+
const triggerCliTag = useTriggerCliTag();
121122
const { activePackageManager, setActivePackageManager } = usePackageManager();
122123

123124
return (
@@ -139,30 +140,31 @@ export function TriggerDevStepV3({ title }: TabsProps) {
139140
variant="secondary/medium"
140141
iconButton
141142
className="mb-4"
142-
value={`npx trigger.dev@${v3PackageTag} dev`}
143+
value={`npx trigger.dev@${triggerCliTag} dev`}
143144
/>
144145
</ClientTabsContent>
145146
<ClientTabsContent value={"pnpm"}>
146147
<ClipboardField
147148
variant="secondary/medium"
148149
iconButton
149150
className="mb-4"
150-
value={`pnpm dlx trigger.dev@${v3PackageTag} dev`}
151+
value={`pnpm dlx trigger.dev@${triggerCliTag} dev`}
151152
/>
152153
</ClientTabsContent>
153154
<ClientTabsContent value={"yarn"}>
154155
<ClipboardField
155156
variant="secondary/medium"
156157
iconButton
157158
className="mb-4"
158-
value={`yarn dlx trigger.dev@${v3PackageTag} dev`}
159+
value={`yarn dlx trigger.dev@${triggerCliTag} dev`}
159160
/>
160161
</ClientTabsContent>
161162
</ClientTabs>
162163
);
163164
}
164165

165166
export function TriggerLoginStepV3({ title }: TabsProps) {
167+
const triggerCliTag = useTriggerCliTag();
166168
const { activePackageManager, setActivePackageManager } = usePackageManager();
167169

168170
return (
@@ -184,23 +186,23 @@ export function TriggerLoginStepV3({ title }: TabsProps) {
184186
variant="secondary/medium"
185187
iconButton
186188
className="mb-4"
187-
value={`npx trigger.dev@${v3PackageTag} login`}
189+
value={`npx trigger.dev@${triggerCliTag} login`}
188190
/>
189191
</ClientTabsContent>
190192
<ClientTabsContent value={"pnpm"}>
191193
<ClipboardField
192194
variant="secondary/medium"
193195
iconButton
194196
className="mb-4"
195-
value={`pnpm dlx trigger.dev@${v3PackageTag} login`}
197+
value={`pnpm dlx trigger.dev@${triggerCliTag} login`}
196198
/>
197199
</ClientTabsContent>
198200
<ClientTabsContent value={"yarn"}>
199201
<ClipboardField
200202
variant="secondary/medium"
201203
iconButton
202204
className="mb-4"
203-
value={`yarn dlx trigger.dev@${v3PackageTag} login`}
205+
value={`yarn dlx trigger.dev@${triggerCliTag} login`}
204206
/>
205207
</ClientTabsContent>
206208
</ClientTabs>

apps/webapp/app/env.server.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -856,6 +856,9 @@ const EnvironmentSchema = z.object({
856856

857857
// Machine presets
858858
MACHINE_PRESETS_OVERRIDE_PATH: z.string().optional(),
859+
860+
// CLI package tag (e.g. "latest", "v4-beta", "4.0.0") - used for setup commands
861+
TRIGGER_CLI_TAG: z.string().default("latest"),
859862
});
860863

861864
export type Environment = z.infer<typeof EnvironmentSchema>;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { useTypedRouteLoaderData } from "remix-typedjson";
2+
import { type loader } from "~/root";
3+
4+
export function useTriggerCliTag() {
5+
const routeMatch = useTypedRouteLoaderData<typeof loader>("root");
6+
7+
return routeMatch!.triggerCliTag;
8+
}

apps/webapp/app/root.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export const loader = async ({ request }: LoaderFunctionArgs) => {
5656
features,
5757
appEnv: env.APP_ENV,
5858
appOrigin: env.APP_ORIGIN,
59+
triggerCliTag: env.TRIGGER_CLI_TAG,
5960
kapa,
6061
},
6162
{ headers: { "Set-Cookie": await commitSession(session) } }

0 commit comments

Comments
 (0)