text: const mix = require("laravel-mix");
  require("@tinypixelco/laravel-mix-wp-blocks");
  require("laravel-mix-purgecss");
  require("laravel-mix-copy-watched");
  
  require("dotenv").config();
  
  const homeUrl = process.env.WP_HOME;
  
  // BrowserSync
  mix.setPublicPath("framework/theme/dist").browserSync({
    watch: true,
    proxy: homeUrl,
    files: [
      "resources/views/**/*.php",
      "resources/assets/scripts/**/*.js",
      "resources/assets/styles/**/*",
    ],
  });
  
  // SASS/SCSS
  mix
    .sass("resources/assets/styles/app.scss", "styles")
    .sass("resources/assets/styles/editor.scss", "styles");
  
  // JavaScript
  mix
    .js("resources/assets/scripts/app.js", "scripts")
    .js("resources/assets/scripts/customizer.js", "scripts")
    .blocks("resources/assets/scripts/editor.js", "scripts")
    .extract();
  
  // Assets
  mix
    .copyWatched("resources/assets/admin/**", "framework/theme/dist/admin")
    .copyWatched("resources/assets/images/**", "framework/theme/dist/images")
    .copyWatched("resources/assets/fonts/**", "framework/theme/dist/fonts");
  
  // Options
  mix.options({
    processCssUrls: false,
    postCss: [require("tailwindcss")("./tailwind.config.js")],
  });
  
  mix.purgeCss();
  
  // Source maps when not in production.
  mix.sourceMaps(false, "source-map");
  
  // Hash and version files in production.
  if (mix.inProduction()) {
    mix.version();
  }
  