Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VS Code extension: "Please install Playwright" notification appears when Playwright is already installed #30480

Open
OliverJAsh opened this issue Apr 23, 2024 · 1 comment

Comments

@OliverJAsh
Copy link

OliverJAsh commented Apr 23, 2024

Version

1.43.1

Steps to reproduce

This issue occurs when using Nix together with direnv, however I've also shared a reduced test case that reproduces the issue without these tools.

Test case using Nix and direnv

  1. Clone https://github.com/OliverJAsh/playwright-vscode-install-notification
  2. Run echo "use flake" > ./.envrc
  3. Run direnv allow
  4. Run npm install
  5. Open VS Code

Standalone test case (no Nix/direnv)

  1. Clone https://github.com/OliverJAsh/playwright-vscode-install-notification
  2. Run git checkout no-nix
  3. Run npm install
  4. Open VS Code

Expected behavior

  • The tests appear in the sidebar.
  • Playwright does not show a notification for "Please install Playwright".

Actual behavior

  • The tests correctly appear in the sidebar.
  • Playwright shows a notification for "Please install Playwright", even though the tests loaded and run just fine.
image

Additional context

This is similar to #29358 however in this case we're not using Yarn PnP.

It seems that the extension first discovers /.foo/playwright.config.ts and then fails when it attempts to resolve @playwright/test. The extension then continues and finds /playwright.config.ts in the root directory and this time succeeds, however the error message from the first attempt is still being raised and shown as a notification.

The extension should not show any error if the tests load successfully, even if it takes a couple of attempts.

Environment

System:
    OS: macOS 14.4.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 507.78 MB / 16.00 GB
  Binaries:
    Node: 20.12.2 - /nix/store/9zli090ri6wlhjla6bb51dg326ann92x-nodejs-20.12.2/bin/node
    npm: 10.5.0 - /nix/store/9zli090ri6wlhjla6bb51dg326ann92x-nodejs-20.12.2/bin/npm
  IDEs:
    VSCode: 1.88.1 - /etc/profiles/per-user/oliver/bin/code
  Languages:
    Bash: 5.2.26 - /nix/store/lp3ginchcanhcj4dgw6yzdgv8bgdkm1v-bash-5.2p26/bin/bash
  npmPackages:
    @playwright/test: ^1.43.1 => 1.43.1 
@weyert
Copy link

weyert commented Apr 24, 2024

I have a similar issue. I think it's related that it doesn't like playwright configs being in a workspace instead of the root of the project/repository.

Appears to work fine when you install playwright in the root package.json instead of the workspace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants