Move terser off of the main thread

This commit is contained in:
Jade Ellis
2024-05-13 19:25:51 +01:00
parent 844164bda9
commit f23e0417ed
7 changed files with 206 additions and 4 deletions
@@ -3,7 +3,7 @@
import SvelteSeo from "svelte-seo";
import { bookmarkify, parseMeta } from "./bookmarklets";
import type { Config } from "./config";
import { init } from "$lib/workers/terser";
import { SITE_URL } from '$lib/metadata';
/** @type {import('./$types').Snapshot<string>} */
@@ -12,12 +12,14 @@
restore: (v: string) => (value = v),
};
let minify = init().minify
let value = "";
let output = "";
let options: Config = {};
async function process(str: string) {
options = await parseMeta(str);
let res = await bookmarkify(str, options);
let res = await bookmarkify(str, options, minify);
if (typeof res == "string") {
output = res;
}
@@ -2,14 +2,17 @@
import MagicString from "magic-string";
import { Parser } from "acorn";
import { minify } from "terser";
import { type MinifyOptions, type MinifyOutput } from "terser";
let sourceMap = false;
import { configSchema } from "./config.schema";
import type { Config } from "./config";
// console.log(configSchema)
export async function bookmarkify(code: string, options: Config) {
export async function bookmarkify(code: string, options: Config, minify: (files: string | string[] | {
[file: string]: string;
}, options?: MinifyOptions | undefined) => Promise<MinifyOutput>
) {
// try {
if (options.script) {