diff --git a/examples/playground/package.json b/examples/playground/package.json new file mode 100644 index 000000000..191dcb036 --- /dev/null +++ b/examples/playground/package.json @@ -0,0 +1,19 @@ +{ + "private": true, + "name": "@examples/playground", + "version": "0.0.1", + "description": "A playground for testing Trigger.dev functionality", + "dependencies": { + "@trigger.dev/integrations": "workspace:*", + "@trigger.dev/sdk": "workspace:*", + "zod": "^3.20.2" + }, + "devDependencies": { + "@trigger.dev/tsconfig": "workspace:*", + "@types/node": "^18.11.9", + "tsx": "^3.12.0" + }, + "scripts": { + "dev": "tsx src/index.ts" + } +} \ No newline at end of file diff --git a/examples/playground/src/index.ts b/examples/playground/src/index.ts new file mode 100644 index 000000000..2a4f4f07f --- /dev/null +++ b/examples/playground/src/index.ts @@ -0,0 +1,40 @@ +import { Trigger, customEvent } from "@trigger.dev/sdk"; +import { slack } from "@trigger.dev/integrations"; +import { z } from "zod"; + +const trigger = new Trigger({ + id: "playground", + name: "Trigger.dev Playground", + apiKey: "trigger_dev_zC25mKNn6c0q", + endpoint: "ws://localhost:8889/ws", + on: customEvent({ + name: "playground", + schema: z.object({ + id: z.string(), + }), + }), + run: async (event, ctx) => { + await ctx.logger.info( + "Hey there! This is the Trigger.dev Playground. You can use this to test your Trigger.dev code." + ); + + await ctx.waitFor("initial-wait", { minutes: 1 }); + + await ctx.logger.error("Error message!", { event }); + + await ctx.logger.info("Info message"); + + const response = await slack.postMessage("send-to-slack", { + channel: "test-integrations", + text: `This is a test message from the Trigger.dev Playground ${event.id}`, + }); + + await ctx.logger.debug("Debug message"); + + await ctx.logger.warn("Warning message!"); + + return response.message; + }, +}); + +trigger.listen(); diff --git a/examples/playground/tsconfig.json b/examples/playground/tsconfig.json new file mode 100644 index 000000000..c3d429f86 --- /dev/null +++ b/examples/playground/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "@trigger.dev/tsconfig/node18.json", + "include": ["src/**/*.ts"], + "compilerOptions": { + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "lib": ["esnext", "dom"], + "outDir": "lib", + "moduleResolution": "node" + }, + "exclude": ["node_modules", "**/*.test.*"] +} diff --git a/packages/emails/package.json b/packages/emails/package.json index 0a10f7787..0acc90f24 100644 --- a/packages/emails/package.json +++ b/packages/emails/package.json @@ -22,7 +22,7 @@ "@react-email/section": "^0.0.1", "@react-email/text": "^0.0.2", "react": "^18.2.0", - "react-email": "^1.5.0", + "react-email": "^1.6.0", "resend": "^0.9.1", "tiny-invariant": "^1.2.0", "zod": "^3.20.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index beff83185..89ca7a60f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -419,6 +419,23 @@ importers: '@types/node': 18.11.15 tsx: 3.12.1 + examples/playground: + specifiers: + '@trigger.dev/integrations': workspace:* + '@trigger.dev/sdk': workspace:* + '@trigger.dev/tsconfig': workspace:* + '@types/node': ^18.11.9 + tsx: ^3.12.0 + zod: ^3.20.2 + dependencies: + '@trigger.dev/integrations': link:../../packages/trigger-integrations + '@trigger.dev/sdk': link:../../packages/trigger-sdk + zod: 3.20.2 + devDependencies: + '@trigger.dev/tsconfig': link:../../config-packages/tsconfig + '@types/node': 18.11.15 + tsx: 3.12.1 + examples/send-to-slack: specifiers: '@trigger.dev/integrations': workspace:* @@ -483,7 +500,7 @@ importers: '@trigger.dev/tsconfig': workspace:* '@types/react': ^18.0.21 react: ^18.2.0 - react-email: ^1.5.0 + react-email: ^1.6.0 resend: ^0.9.1 tiny-invariant: ^1.2.0 zod: ^3.20.2