<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: [v1.32.3]</li>
<li>Operating System: [All]</li>
<li>Browser: [All]</li>
<li>Other info: Typescript version is ^5.0</li>
</ul>
<h3 dir="auto">Source code</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I provided exact source code that allows reproducing the issue locally.</li>
</ul>




<p dir="auto"><strong>Link to the GitHub repository with the repro</strong></p>
<p dir="auto"><a href="https://github.com/mattjennings/playwright-ts-export-type-bug">https://github.com/mattjennings/playwright-ts-export-type-bug</a></p>
<p dir="auto"><strong>Steps</strong></p>
<ul dir="auto">
<li>Run <code class="notranslate">npm install</code></li>
<li>Run <code class="notranslate">npm run typecheck</code> and note that there are no errors</li>
<li>Run <code class="notranslate">npm run test</code></li>
</ul>
<p dir="auto"><strong>Expected</strong></p>
<p dir="auto">Test runs with no compile errors</p>
<p dir="auto"><strong>Actual</strong></p>
<p dir="auto"><code class="notranslate">playwright test</code> errors with:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Error: /Users/mattjennings/tmp/tspw/tests/utils/index.ts: Unexpected token (1:12)

&gt; 1 | export type * from './types'
    |             ^
  2 | export { something } from './types'

   at example.spec.ts:2

  1 | import { test, expect } from '@playwright/test';
&gt; 2 | import { something } from './utils'
    | ^
  3 |
  4 | test('has title', async ({ page }) =&gt; {
  5 |   something()"><pre class="notranslate"><code class="notranslate">Error: /Users/mattjennings/tmp/tspw/tests/utils/index.ts: Unexpected token (1:12)

&gt; 1 | export type * from './types'
    |             ^
  2 | export { something } from './types'

   at example.spec.ts:2

  1 | import { test, expect } from '@playwright/test';
&gt; 2 | import { something } from './utils'
    | ^
  3 |
  4 | test('has title', async ({ page }) =&gt; {
  5 |   something()
</code></pre></div>
<p dir="auto">This syntax is supported as of <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#support-for-export-type" rel="nofollow">Typescript 5.0</a>, and Playwright seems to be using Typescript ^5.0.0, so I'm unsure why this error is thrown.</p>
<p dir="auto">Hi! <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aslushnikov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aslushnikov">@aslushnikov</a> sorry to bother,  Just linked to this issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1389776186" data-permission-text="Title is private" data-url="https://github.com/microsoft/playwright/issues/17670" data-hovercard-type="issue" data-hovercard-url="/microsoft/playwright/issues/17670/hovercard" href="https://github.com/microsoft/playwright/issues/17670">#17670</a> - I could see it stopped happening when using less workers. I was using 8 and setting only 2 or 4 the tests pass constantly.</p>
<p dir="auto">Is there any where I can look at ? Could that be due to the application not behaving properly when running multiple tests at same time or could be a bug ?</p>
<p dir="auto">I know it's hard as I Can't share the repo, but the tests are pretty simple and can share info (I hope it helps), if it does not help at all, please feel free to just close it, no problem at all!:</p>
<p dir="auto"><a href="https://github.com/microsoft/playwright/files/9723447/playwright.txt">playwright.txt</a></p>
<p dir="auto">And the config I am using:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="projects:[
  {
     name: 'chromium',
     use: {
        headless: true,
        ...devices['Desktop Chrome'],
        launchOptions: {
             proxy: {
                server: myserver,
                username: myuser,
                password: mypassword
             }
        }
     }
  }
]"><pre class="notranslate">projects:<span class="pl-kos">[</span>
  <span class="pl-kos">{</span>
     <span class="pl-c1">name</span>: <span class="pl-s">'chromium'</span><span class="pl-kos">,</span>
     <span class="pl-c1">use</span>: <span class="pl-kos">{</span>
        <span class="pl-c1">headless</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span>
        ...<span class="pl-s1">devices</span><span class="pl-kos">[</span><span class="pl-s">'Desktop Chrome'</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
        <span class="pl-c1">launchOptions</span>: <span class="pl-kos">{</span>
             <span class="pl-c1">proxy</span>: <span class="pl-kos">{</span>
                <span class="pl-c1">server</span>: <span class="pl-s1">myserver</span><span class="pl-kos">,</span>
                <span class="pl-c1">username</span>: <span class="pl-s1">myuser</span><span class="pl-kos">,</span>
                <span class="pl-c1">password</span>: <span class="pl-s1">mypassword</span>
             <span class="pl-kos">}</span>
        <span class="pl-kos">}</span>
     <span class="pl-kos">}</span>
  <span class="pl-kos">}</span>
<span class="pl-kos">]</span></pre></div>
<p dir="auto">I triggered them using DEBUG=pw:test but I could not see any issues in the logs:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pw:test test finished &quot;@MODALERROR @COMPONENT Should show duplicate error&quot; +10s
…um] › components\modal\modalError.spec.js:102:5 › Modal Error Popup › @MODALERROR @COMPONENT Should show duplicate error  
  pw:test teardown page +0ms
  pw:test teardown context +0ms
  pw:test teardown _contextFactory +0ms

  4) [chromium] › components\modal\modalError.spec.js:102:5 › Modal Error Popup › @MODALERROR @COMPONENT Should show duplicate error  
  
Test timeout of 30000ms exceeded while tearing down &quot;context&quot;."><pre class="notranslate"><code class="notranslate">pw:test test finished "@MODALERROR @COMPONENT Should show duplicate error" +10s
…um] › components\modal\modalError.spec.js:102:5 › Modal Error Popup › @MODALERROR @COMPONENT Should show duplicate error  
  pw:test teardown page +0ms
  pw:test teardown context +0ms
  pw:test teardown _contextFactory +0ms

  4) [chromium] › components\modal\modalError.spec.js:102:5 › Modal Error Popup › @MODALERROR @COMPONENT Should show duplicate error  
  
Test timeout of 30000ms exceeded while tearing down "context".
</code></pre></div>
<p dir="auto">And with DEBUG=pw:browser:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  pw:browser writing frame 1665048293.218038 +48ms
  pw:browser writing frame 1665048293.237627 +57ms
  pw:browser writing frame 1665048293.257545 +18ms
  pw:browser writing frame 1665048293.273618 +29ms
  3) [chromium] › components\modal\modalError.spec.js:59:5 › Bank Modal Error Popup › @MODALERROR @COMPONENT Should show redirect to forgot password page

  Test timeout of 30000ms exceeded while tearing down &quot;context&quot;."><pre class="notranslate"><code class="notranslate">  pw:browser writing frame 1665048293.218038 +48ms
  pw:browser writing frame 1665048293.237627 +57ms
  pw:browser writing frame 1665048293.257545 +18ms
  pw:browser writing frame 1665048293.273618 +29ms
  3) [chromium] › components\modal\modalError.spec.js:59:5 › Bank Modal Error Popup › @MODALERROR @COMPONENT Should show redirect to forgot password page

  Test timeout of 30000ms exceeded while tearing down "context".
</code></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Thanks!"><pre class="notranslate"><code class="notranslate">Thanks!
</code></pre></div>