title: tailwind.config.js purge option doesn't recognise PHP files and causes infinite recompiling
body: <p>I'm building out a custom WordPress theme with Tailwind and compiling assets with Laravel Mix 6.</p>
  <p>In my <code>tailwind.config.js</code> file I have the following <code>purge</code> configuration:</p>
  <pre><code>  purge: {
      enabled: true,
      content: [
        './assets/**/*.{.js|.scss}',
        // './*.php',
        // './*/*.php',
        // './*/*/*.php',
      ],
      safelist: [
        // list any Tailwind classes which should never be purged, for example classes added via WordPress which are stored in the database
        // 'classname',
      ],
    },
  </code></pre>
  <p>Now, my first line works absolutely perfectly. It looks for any <code>.scss</code> or <code>.js</code> files inside my <code>assets</code> folder or subfolders and compiles on change. However if I uncomment any of the <code>.php</code> lines Laravel Mix constantly recompiles in the terminal even when I'm not making changes - it's completely endless.</p>
  <p><a href="https://i.stack.imgur.com/rcaBa.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/rcaBa.png" alt="enter image description here" /></a></p>
  <p>I've narrowed the issue down to these lines, if they're not added it works fine, but I need them added so TailWind knows what classes are being used.</p>
  <p>My <code>webpack.mix.js</code> for reference also:</p>
  <pre><code>const mix = require(&quot;laravel-mix&quot;);
  
  mix.js(&quot;assets/js/main.js&quot;, &quot;build/scripts.js&quot;)
      .sass(&quot;assets/scss/main.scss&quot;, &quot;build&quot;)
      .sourceMaps()
      .browserSync(&quot;wordpressthemedev.local&quot;)
      .options({
          processCssUrls: false,
          postCss: [
              require(&quot;postcss-import&quot;),
              require(&quot;tailwindcss&quot;),
              require(&quot;postcss-nested&quot;),
              require(&quot;autoprefixer&quot;),
          ],
      });
  </code></pre>
  <p>Additionally, if I do this:</p>
  <pre><code>  purge: {
      enabled: true,
      content: [
        './assets/**/*.{.js|.scss}',
        './parts/**/*.php',
        './functions/**/*.php',
        './404.php',
        './footer.php',
        './functions.php',
        './header.php',
        './index.php',
        './page.php',
        './search.php',
        './single.php',
        // './*/*/*.php',
      ],
      safelist: [
        // list any Tailwind classes which should never be purged, for example classes added via WordPress which are stored in the database
        // 'classname',
      ],
    },
  </code></pre>
  <p>Mix doesn't compile forever and does run fine, but I would rather avoid having to declare every PHP file at root level if possible</p>