<p dir="auto">I'd like the ability to extend the default playwright <code class="notranslate">tsconfig.json</code> beyond just the currently allowed <code class="notranslate">compilerOptions</code> of <code class="notranslate">baseUrl</code> and <code class="notranslate">path</code>.</p>
<p dir="auto">I am using playwright to test a charting library in a mono repo and I'd like the ability to import constants from the library to facilitate testing. However, any typescript import from outside of the playwright base directory throws a typescript error.</p>
<p dir="auto">The current <a href="https://playwright.dev/docs/test-typescript" rel="nofollow">ability</a> to transpile the tests, and whatever else, before running the playwright tests would work but makes it difficult to store the screenshots in the desired directory.</p>
<p dir="auto">I'd like the ability to provide a path to a <code class="notranslate">tsconfig.json</code> or extend a current <code class="notranslate">tsconfig.json</code>. I realize this may open up issues errors when transpiling playwright with an incompatible <code class="notranslate">tsconfig.json</code> but there may be a way to safeguard against this.</p>
<h3 dir="auto">System info</h3>
<ul dir="auto">
<li>Playwright Version: 1.28.1</li>
<li>Operating System: Win 10</li>
<li>Browser: Chrome</li>
<li>Coding Lang: Java</li>
</ul>
<p dir="auto"><strong>Steps</strong></p>
<p dir="auto">On the page:</p>
<ul dir="auto">
<li>
<p dir="auto">Make sure the element in question is not displayed visually and by running the code:<br>
<code class="notranslate">page.frameLocator("frame1Selector").frameLocator("frame2Selector").frameLocator("frame3Selector").frameLocator("frame4Selector").locator("spinnerSelector").isHidden() // it returns true</code></p>
</li>
<li>
<p dir="auto">Then, do the waiting:<br>
<code class="notranslate">page.frameLocator("frame1Selector").frameLocator("frame2Selector").frameLocator("frame3Selector").frameLocator("frame4Selector").locator("spinnerSelector").waitFor(new WaitForOptions().setState(WaitForSelectorState.HIDDEN))</code></p>
</li>
</ul>
<p dir="auto">NOTE: the locators chain is same as above.</p>
<p dir="auto"><strong>Expected</strong></p>
<p dir="auto">Waiting quickly ends without any error</p>
<p dir="auto"><strong>Actual</strong></p>
<p dir="auto">The error gets thrown:</p>
<p dir="auto">Error {<br>
  message='Timeout 30000ms exceeded.<br>
=========================== logs ===========================<br>
waiting for frameLocator("frame1Selector").frameLocator("frame2Selector").frameLocator("frame3Selector").frameLocator("frame4Selector")        .locator("spinnerSelector") to be hidden<br>
  waiting for frameLocator("frame1Selector")</p>