Skip to content

Commit c65d482

Browse files
Feat: Extension puppeteer (#1323)
* feat: add puppeteer extension * chore: update package and config * feat: add puppeteer task * Create little-donkeys-protect.md --------- Co-authored-by: Eric Allam <[email protected]>
1 parent b4be736 commit c65d482

File tree

7 files changed

+394
-11
lines changed

7 files changed

+394
-11
lines changed

.changeset/little-donkeys-protect.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@trigger.dev/build": patch
3+
---
4+
5+
Feat: puppeteer build extension

packages/build/package.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
"./extensions/core": "./src/extensions/core.ts",
2828
"./extensions/prisma": "./src/extensions/prisma.ts",
2929
"./extensions/audioWaveform": "./src/extensions/audioWaveform.ts",
30-
"./extensions/typescript": "./src/extensions/typescript.ts"
30+
"./extensions/typescript": "./src/extensions/typescript.ts",
31+
"./extensions/puppeteer": "./src/extensions/puppeteer.ts"
3132
},
3233
"sourceDialects": [
3334
"@triggerdotdev/source"
@@ -49,6 +50,9 @@
4950
],
5051
"extensions/typescript": [
5152
"dist/commonjs/extensions/typescript.d.ts"
53+
],
54+
"extensions/puppeteer": [
55+
"dist/commonjs/extensions/puppeteer.d.ts"
5256
]
5357
}
5458
},
@@ -145,6 +149,17 @@
145149
"types": "./dist/commonjs/extensions/typescript.d.ts",
146150
"default": "./dist/commonjs/extensions/typescript.js"
147151
}
152+
},
153+
"./extensions/puppeteer": {
154+
"import": {
155+
"@triggerdotdev/source": "./src/extensions/puppeteer.ts",
156+
"types": "./dist/esm/extensions/puppeteer.d.ts",
157+
"default": "./dist/esm/extensions/puppeteer.js"
158+
},
159+
"require": {
160+
"types": "./dist/commonjs/extensions/puppeteer.d.ts",
161+
"default": "./dist/commonjs/extensions/puppeteer.js"
162+
}
148163
}
149164
},
150165
"main": "./dist/commonjs/index.js",
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { BuildManifest } from "@trigger.dev/core/v3";
2+
import { BuildContext, BuildExtension } from "@trigger.dev/core/v3/build";
3+
4+
export function puppeteer() {
5+
return new PuppeteerExtension();
6+
}
7+
8+
class PuppeteerExtension implements BuildExtension {
9+
public readonly name = "PuppeteerExtension";
10+
11+
async onBuildComplete(context: BuildContext, manifest: BuildManifest) {
12+
if (context.target === "dev") {
13+
return;
14+
}
15+
16+
context.logger.debug(`Adding ${this.name} to the build`);
17+
18+
const instructions = [
19+
`RUN apt-get update && apt-get install curl gnupg -y \
20+
&& curl --location --silent https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
21+
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
22+
&& apt-get update \
23+
&& apt-get install google-chrome-stable -y --no-install-recommends \
24+
&& rm -rf /var/lib/apt/lists/*`,
25+
];
26+
27+
context.addLayer({
28+
id: "puppeteer",
29+
image: {
30+
instructions,
31+
},
32+
});
33+
}
34+
}

0 commit comments

Comments
 (0)