Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
31 lines
708 B
JavaScript
31 lines
708 B
JavaScript
import * as shiki from 'shiki'
|
|
|
|
let highlighter = null
|
|
|
|
async function init() {
|
|
if (highlighter) {
|
|
return highlighter
|
|
}
|
|
|
|
highlighter = await shiki.createHighlighter({
|
|
themes: ['material-theme-darker'],
|
|
langs: ['html', 'js', 'jsx', 'ts', 'tsx', 'css', 'vue-html', 'vue', 'scss'],
|
|
})
|
|
|
|
return highlighter
|
|
}
|
|
|
|
// oxlint-disable-next-line
|
|
self.addEventListener('message', async event => {
|
|
init().then(async () => {
|
|
const { code, language } = event.data
|
|
|
|
await highlighter.loadLanguage(language)
|
|
|
|
const html = highlighter.codeToHtml(code, { lang: language, theme: 'material-theme-darker' })
|
|
|
|
// oxlint-disable-next-line
|
|
self.postMessage({ code, language, html })
|
|
})
|
|
})
|