fade22015f
* Adds new features table to top of v4 upgrade guide * Adds wait idempotency to wait-until, wait-for, and wait-for-token pages * Adds new priority docs page and updates the v4 upgrade guide * Adds new task lifecycle hooks * Removes the message about requiring tasks to be exported * Adds new global lifecycle hooks section * Moves sections from upgrade guide into the table * Adds hidden task page * Improves the global lifecycle hooks section * Updates middleware and locals section * Adds new useWaitToken page to the react hooks section * Adds a new ai.tool section * Moves Docker (legacy) page into self-hosting section * Removes known issues from v4 upgrade guide * Replace “toolTask” with “ai.tool” in the Streams page example * Renames guide to “Migrating from v3” and adds redirect * Remove references to v4 * Removes changelog from migration guide * The installation guide now references `@latest update` * Changes all references from `/sdk/v3` to `/sdk` * Updates @v4-beta to @latest * Fixed broken link * Fixes broken link * Adds an upgrade to v4 using AI section * Fixes 2 broken links * Adds an entry for targetting preview branches * Updates the run statuses * Adds boolean helpers section to the runs and realtime pages * Updates the concurrency page * Updates the test page to include the new options * Adds SDK and curl options for the preview branch targeting * Updates new bulk actions page * Remove the releasing concurrency section * Got rid of some more @v4-beta mentions * Improved rate limit docs * Improved migrating docs * Removed commented sections of the docs * useWaitToken hook * Fixed the description * Fix for missing test image --------- Co-authored-by: Matt Aitken <matt@mattaitken.com> Co-authored-by: Dan <8297864+D-K-P@users.noreply.github.com>
67 lines
3.7 KiB
Plaintext
67 lines
3.7 KiB
Plaintext
---
|
|
title: "Build extensions"
|
|
sidebarTitle: "Overview"
|
|
description: "Customize how your project is built and deployed to Trigger.dev with build extensions"
|
|
---
|
|
|
|
Build extensions allow you to hook into the build system and customize the build process or the resulting bundle and container image (in the case of deploying).
|
|
|
|
You can use pre-built extensions by installing the `@trigger.dev/build` package into your `devDependencies`, or you can create your own.
|
|
|
|
Build extensions are added to your `trigger.config.ts` file under the `build.extensions` property:
|
|
|
|
```ts
|
|
import { defineConfig } from "@trigger.dev/sdk";
|
|
|
|
export default defineConfig({
|
|
project: "my-project",
|
|
build: {
|
|
extensions: [
|
|
{
|
|
name: "my-extension",
|
|
onBuildStart: async (context) => {
|
|
console.log("Build starting!");
|
|
},
|
|
},
|
|
],
|
|
},
|
|
});
|
|
```
|
|
|
|
If you are using a pre-built extension, you can import it from the `@trigger.dev/build` package:
|
|
|
|
```ts
|
|
import { defineConfig } from "@trigger.dev/sdk";
|
|
import { ffmpeg } from "@trigger.dev/build/extensions/core";
|
|
|
|
export default defineConfig({
|
|
project: "my-project",
|
|
build: {
|
|
extensions: [ffmpeg()],
|
|
},
|
|
});
|
|
```
|
|
|
|
## Built-in extensions
|
|
|
|
Trigger.dev provides a set of built-in extensions that you can use to customize how your project is built and deployed. These extensions are available out of the box and can be configured in your `trigger.config.ts` file.
|
|
|
|
| Extension | Description |
|
|
| :-------------------------------------------------------------------- | :----------------------------------------------------------------------------- |
|
|
| [prismaExtension](/config/extensions/prismaExtension) | Using prisma in your Trigger.dev tasks |
|
|
| [pythonExtension](/config/extensions/pythonExtension) | Execute Python scripts in your project |
|
|
| [puppeteer](/config/extensions/puppeteer) | Use Puppeteer in your Trigger.dev tasks |
|
|
| [ffmpeg](/config/extensions/ffmpeg) | Use FFmpeg in your Trigger.dev tasks |
|
|
| [aptGet](/config/extensions/aptGet) | Install system packages in your build image |
|
|
| [additionalFiles](/config/extensions/additionalFiles) | Copy additional files to your build image |
|
|
| [additionalPackages](/config/extensions/additionalPackages) | Install additional npm packages in your build image |
|
|
| [syncEnvVars](/config/extensions/syncEnvVars) | Automatically sync environment variables from external services to Trigger.dev |
|
|
| [syncVercelEnvVars](/config/extensions/syncEnvVars#syncVercelEnvVars) | Automatically sync environment variables from Vercel to Trigger.dev |
|
|
| [esbuildPlugin](/config/extensions/esbuildPlugin) | Add existing or custom esbuild extensions to customize your build process |
|
|
| [emitDecoratorMetadata](/config/extensions/emitDecoratorMetadata) | Enable `emitDecoratorMetadata` in your TypeScript build |
|
|
| [audioWaveform](/config/extensions/audioWaveform) | Add Audio Waveform to your build image |
|
|
|
|
## Custom extensions
|
|
|
|
If one of the built-in extensions doesn't meet your needs, you can create your own custom extension. See our [guide on creating custom build extensions](/config/extensions/custom) for more information.
|