forked from hexgrad/kokoro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
42 lines (36 loc) · 932 Bytes
/
rollup.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
import terser from "@rollup/plugin-terser";
import { nodeResolve } from "@rollup/plugin-node-resolve";
const plugins = (browser) => [nodeResolve({ browser }), terser({ format: { comments: false } })];
const OUTPUT_CONFIGS = [
// Node versions
{
file: "./dist/kokoro.cjs",
format: "cjs",
},
{
file: "./dist/kokoro.js",
format: "esm",
},
// Web version
{
file: "./dist/kokoro.web.js",
format: "esm",
},
];
const WEB_SPECIFIC_CONFIG = {
onwarn: (warning, warn) => {
if (!warning.message.includes("@huggingface/transformers")) warn(warning);
},
};
const NODE_SPECIFIC_CONFIG = {
external: ["@huggingface/transformers", "phonemizer"],
};
export default OUTPUT_CONFIGS.map((output) => {
const web = output.file.endsWith(".web.js");
return {
input: "./src/kokoro.js",
output,
plugins: plugins(web),
...(web ? WEB_SPECIFIC_CONFIG : NODE_SPECIFIC_CONFIG),
};
});