<p dir="auto">I have a quasar/vue3 app but upgrading all realease after the 0.21.1 infinite cycle of request start<br>
I made two simple codepen where you can see the problem<br>
<a href="https://codepen.io/mila76/pen/wvexgoE" rel="nofollow">1.21.1</a><br>
<a href="https://codepen.io/mila76/pen/abwjpdd" rel="nofollow">1.21.2</a></p>
<p dir="auto">I can't figure out what's is the root cause of that , maybe related to other "similar" bug<br>
Sorry if is a sort of duplicate</p>
<h4 dir="auto">Describe the bug</h4>
<p dir="auto">I updated from axios <code class="notranslate">0.21.1</code> to <code class="notranslate">0.22.0</code> but typescript started giving me strange errors</p>
<p dir="auto">I then noticed that the types declarations changed and they do not make much sense.</p>
<p dir="auto">I can see that the <code class="notranslate">post</code> signature is:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="post&lt;T = never, R = AxiosResponse&lt;T&gt;&gt;(url: string, data?: T | undefined, config?: AxiosRequestConfig&lt;T&gt; | undefined): Promise&lt;R&gt;"><pre class="notranslate"><code class="notranslate">post&lt;T = never, R = AxiosResponse&lt;T&gt;&gt;(url: string, data?: T | undefined, config?: AxiosRequestConfig&lt;T&gt; | undefined): Promise&lt;R&gt;
</code></pre></div>
<p dir="auto">I don't really get why the response data object should be, by default, equal to the object passed as body, there is really no sense for that as a default behaviour. It should be AxiosResponse instead.</p>
<p dir="auto">For the <code class="notranslate">axios</code> function, the returned object is even a <code class="notranslate">never</code>, in <code class="notranslate">axios(config: AxiosRequestConfig&lt;any&gt;): AxiosPromise&lt;never&gt;</code>.</p>
<p dir="auto">Of course I can just put the types specifications, but it makes the code longer and ugly when there would be many times no reason for that.</p>
<h4 dir="auto">To Reproduce</h4>
<p dir="auto">To reproduce it, just try to make a post request</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const response = await axios.post(
                CONFIG.API_UNITN.CLESIUS.SECURITY.AUTH_SERVICE_URL,
                data.toString()
            ); // the response has AxiosResponse&lt;string&gt; type"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">response</span> <span class="pl-c1">=</span> <span class="pl-k">await</span> <span class="pl-s1">axios</span><span class="pl-kos">.</span><span class="pl-en">post</span><span class="pl-kos">(</span>
                <span class="pl-c1">CONFIG</span><span class="pl-kos">.</span><span class="pl-c1">API_UNITN</span><span class="pl-kos">.</span><span class="pl-c1">CLESIUS</span><span class="pl-kos">.</span><span class="pl-c1">SECURITY</span><span class="pl-kos">.</span><span class="pl-c1">AUTH_SERVICE_URL</span><span class="pl-kos">,</span>
                <span class="pl-s1">data</span><span class="pl-kos">.</span><span class="pl-en">toString</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
            <span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// the response has AxiosResponse&lt;string&gt; type</span></pre></div>
<h4 dir="auto">Expected behavior</h4>
<p dir="auto">There should not be types assumptions such as the one made</p>
<h4 dir="auto">Environment</h4>
<ul dir="auto">
<li>Axios Version 0.22.0</li>
<li>Adapter http</li>
<li>Browser any</li>
<li>Browser Version any</li>
<li>Node.js Version any</li>
<li>OS: Linux Ubuntu 20</li>
<li>Additional Library Versions none</li>
</ul>
<h4 dir="auto">Additional context/Screenshots</h4>
<p dir="auto">Add any other context about the problem here. If applicable, add screenshots to help explain.</p>