4.2 KiB
Contributing to Trigger.dev
Thank you for taking the time to contribute to Trigger.dev. Your involvement is not just welcomed, but we encourage it! 🚀
Please take some time to read this guide to understand contributing best practices for Trigger.dev.
Thank you for helping us make Trigger.dev even better! 🤩
Developing
The development branch is main. This is the branch that all pull
requests should be made against. The changes on the main
branch are tagged into a release monthly.
Prerequisites
- Node.js version >=16.x
- pnpm package manager version 7
- Docker
Setup
-
Clone the repo into a public GitHub repository or fork the repo. If you plan to distribute the code, keep the source code public to comply with the Apache Licence 2.0.
git clone https://github.com/triggerdotdev/trigger.dev.gitIf you are on windows, run the following command on gitbash with admin privileges:
git clone -c core.symlinks=true https://triggerdotdev/trigger.dev.git -
Navigate to the project folder
cd trigger.dev -
Install the required packages using pnpm.
pnpm i -
Create your
.envfilescp .env.example .env && cp packages/database/.env.example packages/database/.env -
Open the root
.envfile and fill in the required values Magic Link:Both of these secrets should be random strings, which you can easily generate (and copy into your pasteboard) with the following command:
openssl rand -hex 16 | pbcopyThen set them here:
SESSION_SECRET=<string> MAGIC_LINK_SECRET=<string> -
Start Docker. This starts the required services like Postgres. If this is your first time using Docker, consider going through this guide
pnpm run docker -
Migrate the database
pnpm run db:migrate -
Build the app
pnpm run build --filter webapp -
Run the seed script
pnpm run db:seed -
Run the app. See the section below.
Running
-
You can run the app with:
pnpm run dev --filter webappIt should run on port
3030: http://localhost:3030 -
Once the app is running click the magic link button and enter your email.
-
Check your terminal, the magic link email should have printed out as following:
webapp:dev: Log in to Trigger.dev webapp:dev: webapp:dev: Click here to log in with this magic link webapp:dev: [http://localhost:3030/magic?token=U2FsdGVkX18OvB0JxgaswTLCSbaRz%2FY82TN0EZWhSzFyZYwgG%2BIzKVTkeiaOtWfotPw7F8RwFzCHh53aBpMEu%2B%2B%2FItb%2FcJYh89MSjc3Pz92bevoEjqxSQ%2Ff%2BZbks09JOpqlBbYC3FzGWC8vuSVFBlxqLXxteSDLthZSUaC%2BS2LaA%2BJgp%2BLO7hgjAaC2lXbCHrM7MTgTdXOFt7i0Dvvuwz6%2BWY25RnfomZOPqDsyH0xz8Q2rzPTz0Xu53WSXrZ1hd] webapp:dev: webapp:dev: If you didn't try to log in, you can safely ignore this email. -
Paste the magic link shown in your terminal into your browser to login.
Making a pull request
If you get errors, be sure to fix them before committing.
- Be sure to check the "Allow edits from maintainers" option while creating you PR.
- If your PR refers to or fixes an issue, be sure to add
refs #XXXorfixes #XXXto the PR description. ReplacingXXXwith the respective issue number. See more about Linking a pull request to an issue . - Be sure to fill the PR Template accordingly.
Troubleshooting
EADDRINUSE: address already in use :::3030
When receiving the following error message:
webapp:dev: Error: listen EADDRINUSE: address already in use :::3030
The process running on port 3030 should be destroyed.
- Get the
PIDof the process running on PORT3030lsof -i :3030 - Kill the process
sudo kill -9 <PID>