Use comlink without vite-plugin-comlink
For some reason the vite-plugin-comlink doesn't seem to work in this constellation. I tried to reproduce in a new vite project and there it did work. But also, the plugin does some horrible magic by replacing a non-existant constructor `ComLinkWorker()` with the `wrap()` method and then the only real benefit is, that we wouldn't need to write the `expose()` method in the worker. So for that reason I'm removing the plugin and using the comlink package directly.main
parent
ff9f3517ec
commit
0701303563
|
@ -69,7 +69,6 @@
|
|||
"@vitejs/plugin-react": "^4.0.2",
|
||||
"babel-plugin-formatjs": "^10.5.3",
|
||||
"typescript": "^4.9.5",
|
||||
"vite": "^4.4.1",
|
||||
"vite-plugin-comlink": "^3.0.5"
|
||||
"vite": "^4.4.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { expose } from "comlink";
|
||||
import * as methods from ".";
|
||||
import { OpenAIMessage } from "../chat/types";
|
||||
import { ChatHistoryTrimmer, ChatHistoryTrimmerOptions } from "./chat-history-trimmer";
|
||||
|
@ -14,3 +15,5 @@ export function countTokensForText(text: string) {
|
|||
export function countTokensForMessages(messages: OpenAIMessage[]) {
|
||||
return methods.countTokensForMessages(messages);
|
||||
}
|
||||
|
||||
expose({ runChatTrimmer, countTokensForText, countTokensForMessages });
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import { wrap } from "comlink";
|
||||
import { OpenAIMessage } from "../chat/types";
|
||||
import type { ChatHistoryTrimmerOptions } from "./chat-history-trimmer";
|
||||
// @ts-ignore
|
||||
import tokenizer from "./worker?worker&url";
|
||||
|
||||
const worker = new ComlinkWorker<typeof import("./worker")>(
|
||||
new URL(tokenizer, import.meta.url)
|
||||
const worker = wrap<typeof import("./worker")>(
|
||||
new Worker(new URL(tokenizer, import.meta.url), { type: "module" })
|
||||
);
|
||||
|
||||
export async function runChatTrimmer(
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import react from "@vitejs/plugin-react";
|
||||
import { defineConfig } from "vite";
|
||||
import { comlink } from "vite-plugin-comlink";
|
||||
|
||||
export default defineConfig(() => {
|
||||
return {
|
||||
|
@ -35,10 +34,6 @@ export default defineConfig(() => {
|
|||
],
|
||||
},
|
||||
}),
|
||||
comlink(),
|
||||
],
|
||||
worker: {
|
||||
plugins: [comlink()],
|
||||
},
|
||||
};
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue