Skip to content

Commit

Permalink
chore: nice output for worker dev
Browse files Browse the repository at this point in the history
  • Loading branch information
poyoho committed Mar 11, 2022
1 parent 71fe7b5 commit a167395
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 24 deletions.
2 changes: 1 addition & 1 deletion packages/playground/worker/__tests__/worker.spec.ts
Expand Up @@ -64,7 +64,7 @@ if (isBuild) {
// assert correct files
test('inlined code generation', async () => {
const files = fs.readdirSync(assetsDir)
expect(files.length).toBe(14)
expect(files.length).toBe(15)
const index = files.find((f) => f.includes('index'))
const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8')
const worker = files.find((f) => f.includes('my-worker'))
Expand Down
4 changes: 2 additions & 2 deletions packages/playground/worker/classic-worker.js
Expand Up @@ -13,7 +13,7 @@ let classicWorker = new Worker(
classicWorker = new Worker(new URL('./newUrl/classic-worker.js', import.meta.url))

classicWorker.addEventListener('message', ({ data }) => {
text('.classic-worker', data)
text('.classic-worker', JSON.stringify(data))
})
classicWorker.postMessage('ping')

Expand All @@ -26,7 +26,7 @@ const classicSharedWorker = new SharedWorker(
classicSharedWorker.port.addEventListener('message', (ev) => {
text(
'.classic-shared-worker',
ev.data
JSON.stringify(ev.data)
)
})
classicSharedWorker.port.start()
75 changes: 54 additions & 21 deletions packages/playground/worker/index.html
Expand Up @@ -20,21 +20,53 @@
<span class="tick-count">0</span>
</div>

<p>new Worker(new Url('path', import.meta.url), { type: 'module' })</p>
<div class="worker-import-meta-url"></div>

<p>new SharedWorker(new Url('path', import.meta.url), { type: 'module' })</p>
<div class="shared-worker-import-meta-url"></div>

<p>nested worker</p>
<div class="nested-worker"></div>
<div class="nested-worker-dynamic-import"></div>
<p>new Worker(new Url('path', import.meta.url))</p>
<div class="classic-worker"></div>

<p>new Worker(new Url('path', import.meta.url), { type: 'classic' })</p>
<div class="classic-shared-worker"></div>

<p>
new Worker(new Url('./newUrl/url-worker.js', import.meta.url), { type:
'module' })
<span class="classname">.worker-import-meta-url</span>
</p>
<code class="worker-import-meta-url"></code>

<p>
new SharedWorker(new Url('./newUrl/url-shared-worker.js', import.meta.url), {
type: 'module' })
<span class="classname">.shared-worker-import-meta-url</span>
</p>
<code class="shared-worker-import-meta-url"></code>

<p>
import NestedWorker from './worker-nested-worker?worker' - nested worker
<span class="classname">.nested-worker</span>
</p>
<code class="nested-worker"></code>

<p>
import NestedWorker from './worker-nested-worker?worker' - nested worker
(after dynamic import msg)
<span class="classname">.nested-worker-dynamic-import</span>
</p>
<code class="nested-worker-dynamic-import"></code>

<p>
new Worker(new Url('./newUrl/classic-worker.js', import.meta.url))
<span class="classname">.classic-worker</span>
</p>
<code class="classic-worker"></code>

<p>
new SharedWorker(new Url('./newUrl/classic-shared-worker.js',
import.meta.url), { type: 'classic' })
<span class="classname">.classic-shared-worker</span>
</p>
<code class="classic-shared-worker"></code>
<style>
p {
background: rgba(0, 0, 0, 0.1);
}
.classname {
color: green;
}
</style>
<script type="module">
import myWorker from './my-worker?worker'
import InlineWorker from './my-worker?worker&inline'
Expand All @@ -44,6 +76,10 @@
import { mode } from './workerImport'
import './classic-worker'

function text(el, text) {
document.querySelector(el).textContent = text
}

document.querySelector('.mode-true').textContent = mode

const worker = new myWorker()
Expand Down Expand Up @@ -86,17 +122,14 @@
tsOutputWorker.postMessage('ping')
})

function text(el, text) {
document.querySelector(el).textContent = text
}
const workerOptions = { type: 'module' }
// url import worker
const w = new Worker(
new URL('./newUrl/url-worker.js', import.meta.url),
/* @vite-ignore */ workerOptions
)
w.addEventListener('message', (ev) =>
text('.worker-import-meta-url', ev.data)
text('.worker-import-meta-url', JSON.stringify(ev.data))
)

const genWorkerName = () => 'module'
Expand All @@ -109,15 +142,15 @@
}
)
w2.port.addEventListener('message', (ev) => {
text('.shared-worker-import-meta-url', ev.data)
text('.shared-worker-import-meta-url', JSON.stringify(ev.data))
})
w2.port.start()

const nestedWorker = new NestedWorker()
nestedWorker.addEventListener('message', (ev) => {
console.log(ev)
if (typeof ev.data === 'string') {
text('.nested-worker', ev.data)
text('.nested-worker', JSON.stringify(ev.data))
} else {
text('.nested-worker-dynamic-import', JSON.stringify(ev.data))
}
Expand Down

0 comments on commit a167395

Please sign in to comment.