Files
nuxt__ui/docs/app/workers/prettier.js
renovate[bot] aaa3eed68a chore(deps): update all non-major dependencies (v4) (#5618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
2025-12-08 10:37:42 +01:00

37 lines
1.1 KiB
JavaScript

/* eslint-disable no-undef */
self.onmessage = async function (event) {
self.postMessage({
uid: event.data.uid,
message: await handleMessage(event.data.message)
})
}
function handleMessage(message) {
switch (message.type) {
case 'format':
return handleFormatMessage(message)
}
}
async function handleFormatMessage(message) {
if (!globalThis.prettier) {
await Promise.all([
import('https://cdn.jsdelivr.net/npm/prettier@3.7.4/standalone.js'),
import('https://cdn.jsdelivr.net/npm/prettier@3.7.4/plugins/babel.js'),
import('https://cdn.jsdelivr.net/npm/prettier@3.7.4/plugins/estree.js'),
import('https://cdn.jsdelivr.net/npm/prettier@3.7.4/plugins/html.js'),
import('https://cdn.jsdelivr.net/npm/prettier@3.7.4/plugins/markdown.js'),
import('https://cdn.jsdelivr.net/npm/prettier@3.7.4/plugins/typescript.js')
])
}
const { options, source } = message
const formatted = await prettier.format(source, {
parser: 'markdown',
plugins: prettierPlugins,
...options
})
return formatted
}