forked from dmnsgn/canvas-record
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsnowdev.config.js
72 lines (67 loc) · 1.72 KB
/
snowdev.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import { copyFile } from "node:fs/promises";
import { rollup } from "rollup";
import { importMetaAssets } from "@web/rollup-plugin-import-meta-assets";
try {
await copyFile(
"./node_modules/@ffmpeg/core/dist/esm/ffmpeg-core.wasm",
"./example/ffmpeg-core.wasm",
);
// await copyFile(
// "./node_modules/@ffmpeg/core-mt/dist/esm/ffmpeg-core.wasm",
// "./example/ffmpeg-core-mt.wasm"
// );
// await copyFile(
// "./node_modules/@ffmpeg/core-mt/dist/esm/ffmpeg-core.worker.js",
// "./example/ffmpeg-core-mt.worker.js"
// );
} catch (error) {
console.error(error);
}
export default {
eslint: {
ignorePatterns: ["src/encoders/mp4.embed.js"],
},
dependencies: [
"@ffmpeg/ffmpeg",
"@ffmpeg/core",
"@ffmpeg/core-mt",
"@ffmpeg/util",
"canvas-screenshot",
"gifenc",
"h264-mp4-encoder",
"media-codecs",
"mp4-muxer",
"webm-muxer",
"canvas-context",
"es-module-shims",
"tweakpane",
],
// resolve: {
// exclude: [
// "**/rollup/dist/**",
// "**/@web/rollup-plugin-import-meta-assets/**",
// ],
// },
crossOriginIsolation: true,
rollup: {
extraPlugins: [
importMetaAssets({
include: ["**/@ffmpeg/ffmpeg/**"],
async transform(_, assetPath) {
// Bundle worker
// https://github.com/rollup/rollup/issues/3842
if (assetPath.endsWith("worker.js")) {
const bundle = await rollup({ input: assetPath });
const { output } = await bundle.generate({
format: "iife",
manualChunks: () => "_",
});
await bundle.close();
return output[0].code;
}
return null;
},
}),
],
},
};