wxt-dev/wxt

Can not build when using PandaCSS

Opened this issue · 3 comments

Describe the bug

I created a WXT project with PandaCSS, it work well when developping by pnpm run dev, but when I run pnpm run build, it report an error: Error: Loading PostCSS Plugin failed: Invalid URL.

Reproduction

See the steps to reproduce.

Steps to reproduce

pnpm dlx wxt@latest init  # use solidjs
cd project
pnpm install
pnpm add -D @pandacss/dev
pnpm exec panda init --postcss
pnpm run build # reports error

System Info

System:
    OS: Linux 6.12 Arch Linux
    CPU: (32) x64 AMD Ryzen 9 7950X 16-Core Processor
    Memory: 43.61 GB / 61.88 GB
    Container: Yes
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.5.1 - ~/.local/share/pnpm/node
    Yarn: 1.22.22 - /usr/bin/yarn
    npm: 10.8.2 - ~/.local/share/pnpm/npm
    pnpm: 9.14.3 - ~/.local/share/pnpm/pnpm
    bun: 1.1.36 - ~/.local/share/bun/bin/bun
  Browsers:
    Chromium: 131.0.6778.85
  npmPackages:
    wxt: ^0.19.13 => 0.19.17

Used Package Manager

pnpm

Validations

This is caused by WXT polyfilling the document global when importing entrypoints to get their options.

Specifically, it's because ts-evaluator's code:

createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (document.currentScript && document.currentScript.src || new URL('index.cjs', document.baseURI).href)))

Specifically, document.baseURI is null, and that is causing the "invalid URL" error here:

new URL('index.cjs', document.baseURI)

This is the same as #931.

See #931 (comment) for a workaround.

Re-tested with fix from #1207, it didn't fix the issue with panda CSS. Same error.