1a4952720f
* Early work defining CLI framework support * WIP moving CLI init logic to the Framework class * Installing files should now work for Nextjs * Some fixes * WIP creating unit tests for Next.js project detection * Delete old jest config * Latest lockfile * Detect use of src directory test * Tests for detection pages/app directory * Correct detection of Next.js project * Renamed test file * Create install files from template files with replacements. With tests * Added multiple uses of the same replacement * Created a test for the install step (it fails right now with JS) * Removed unused import * Another test that should pass but currently fails… * Path alias fixed and now has tests * New pathAlias function used * Nextjs page install tests * Fixed app directory install (with tests) * Removed e2e CLI test, switched to unit testing strategy instead * Latest lockfile * The install files are now actual files that are copied and transformed * Got the template files working correctly after building * Next steps are now framework specific * createFileFromTemplate now works with a path again. Uses mock if specified. * Renamed apiRoute.js to pagesApiRoute.js * Simplified pages file generation * Next.js app API route template * Next.js App routing support, with common files logic shared * Dev command now uses framework default values if they exist and aren’t overridden * Unused import * pathAlias now works for all frameworks * Added a test to detect Next from the next.config.js * WIP on Remix framework support * Tests for Remix install * Replaced references to Next.js * Use a green ✔️ instead of ✅ in the CLI * Support for multiple hostnames * Tunneling can now use the hostname and port * Work on multiple ports * Improved the error messages. Added some extra pots to Next.js * Update the Remix templates to have .server in the imports * Remix updated to use server-runtime instead of node. Node v18+ * Frameworks can specify the watch paths and ignore paths * Define the watch variables above, so we can easily log them for debugging * Don’t wait for outdated package checking when running the dev command * Improved the Remix manual setup guide * Rewriting docs for quickstart * Updated the Next.js quickstart * Remix quick start * Added a changeset * Improved the Next.js manual setup
27 lines
1.3 KiB
Plaintext
27 lines
1.3 KiB
Plaintext
```typescript
|
|
// Your first job
|
|
// This Job will be triggered by an event, log a joke to the console, and then wait 5 seconds before logging the punchline
|
|
client.defineJob({
|
|
// This is the unique identifier for your Job, it must be unique across all Jobs in your project
|
|
id: "example-job",
|
|
name: "Example Job: a joke with a delay",
|
|
version: "0.0.1",
|
|
// This is triggered by an event using eventTrigger. You can also trigger Jobs with webhooks, on schedules, and more: https://trigger.dev/docs/documentation/concepts/triggers/introduction
|
|
trigger: eventTrigger({
|
|
name: "example.event",
|
|
}),
|
|
run: async (payload, io, ctx) => {
|
|
// This logs a message to the console
|
|
await io.logger.info("🧪 Example Job: a joke with a delay");
|
|
await io.logger.info("How do you comfort a JavaScript bug?");
|
|
// This waits for 5 seconds, the second parameter is the number of seconds to wait, you can add delays of up to a year
|
|
await io.wait("Wait 5 seconds for the punchline...", 5);
|
|
await io.logger.info("You console it! 🤦");
|
|
await io.logger.info(
|
|
"✨ Congratulations, You just ran your first successful Trigger.dev Job! ✨"
|
|
);
|
|
// To learn how to write much more complex (and probably funnier) Jobs, check out our docs: https://trigger.dev/docs/documentation/guides/create-a-job
|
|
},
|
|
});
|
|
```
|