Skip to content

Commit 54f21a8

Browse files
committed
feat: add libreoffice extension
1 parent 67542a5 commit 54f21a8

File tree

6 files changed

+1242
-3
lines changed

6 files changed

+1242
-3
lines changed

packages/build/package.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
"./extensions/prisma": "./src/extensions/prisma.ts",
2929
"./extensions/audioWaveform": "./src/extensions/audioWaveform.ts",
3030
"./extensions/typescript": "./src/extensions/typescript.ts",
31-
"./extensions/puppeteer": "./src/extensions/puppeteer.ts"
31+
"./extensions/puppeteer": "./src/extensions/puppeteer.ts",
32+
"./extensions/libreoffice": "./src/extensions/libreoffice.ts"
3233
},
3334
"sourceDialects": [
3435
"@triggerdotdev/source"
@@ -53,6 +54,9 @@
5354
],
5455
"extensions/puppeteer": [
5556
"dist/commonjs/extensions/puppeteer.d.ts"
57+
],
58+
"extensions/libreoffice": [
59+
"dist/commonjs/extensions/libreoffice.d.ts"
5660
]
5761
}
5862
},
@@ -160,6 +164,17 @@
160164
"types": "./dist/commonjs/extensions/puppeteer.d.ts",
161165
"default": "./dist/commonjs/extensions/puppeteer.js"
162166
}
167+
},
168+
"./extensions/libreoffice": {
169+
"import": {
170+
"@triggerdotdev/source": "./src/extensions/libreoffice.ts",
171+
"types": "./dist/esm/extensions/libreoffice.d.ts",
172+
"default": "./dist/esm/extensions/libreoffice.js"
173+
},
174+
"require": {
175+
"types": "./dist/commonjs/extensions/libreoffice.d.ts",
176+
"default": "./dist/commonjs/extensions/libreoffice.js"
177+
}
163178
}
164179
},
165180
"main": "./dist/commonjs/index.js",
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { BuildManifest } from "@trigger.dev/core/v3";
2+
import { BuildContext, BuildExtension } from "@trigger.dev/core/v3/build";
3+
4+
export function libreoffice() {
5+
return new LibreOfficeExtension();
6+
}
7+
8+
class LibreOfficeExtension implements BuildExtension {
9+
public readonly name = "LibreOfficeExtension";
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 -y \
20+
libreoffice \
21+
--no-install-recommends \
22+
&& rm -rf /var/lib/apt/lists/*`,
23+
];
24+
25+
context.addLayer({
26+
id: "libreoffice",
27+
image: {
28+
instructions,
29+
},
30+
});
31+
}
32+
}

0 commit comments

Comments
 (0)