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

Regression on package.json finding behavior for globally installed prettier with vscode extension #3045

Closed
wxf-contentgroove opened this issue Jun 28, 2023 · 27 comments
Labels
locked Please open a new issue and fill out the template instead of commenting.

Comments

@wxf-contentgroove
Copy link

wxf-contentgroove commented Jun 28, 2023

Summary

The prettier vscode extension seems to have had a behavior regression in version 9.16.0. It is no longer able to load the package.json for a globally installed prettier on macOS

Steps To Reproduce:

  1. Set prettier path to the globally installed version of prettier, typically: /usr/local/lib/node_modules/prettier on macOS
  2. Try to format a file with the "Format document" command

Expected result

The file is formatted with prettier

Actual result

The document is not formatted and the prettier extension throws an error.

Additional information

Behavior works as expected on extension version 9.15.0. Additionally, prettier is present in the path and can be run as expected from the command line.

I have not checked if this behavior regression is also present on Windows or Linux.

EDIT: as per this reply to the issue, it appears to also effect windows

Here's the ls of the prettier install location ( /usr/local/lib/node_modules/prettier )

➜  ~ ls  /usr/local/lib/node_modules/prettier
LICENSE              parser-angular.js    parser-meriyah.js
README.md            parser-babel.js      parser-postcss.js
bin-prettier.js      parser-espree.js     parser-typescript.js
cli.js               parser-flow.js       parser-yaml.js
doc.js               parser-glimmer.js    standalone.js
esm                  parser-graphql.js    third-party.js
index.js             parser-html.js
package.json         parser-markdown.js

All the correct files appear to be present

VS Code Version:

Version: 1.77.3
Commit: 704ed70d4fd1c6bd6342c436f1ede30d1cff4710
Date: 2023-04-12T09:19:37.325Z (2 mos ago)
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: 10.2.154.26-electron.0
OS: Darwin x64 22.3.0
Sandboxed: No

Prettier Extension Version:

v9.16.0

OS and version:
macOS Ventura Version 13.2.1 (22D68)

Prettier Log Output

["DEBUG" - 3:22:59 PM] Local prettier module path: '/usr/local/lib/node_modules/prettier'
["INFO" - 3:22:59 PM] Attempted to load Prettier module from /usr/local/lib/node_modules/prettier
["ERROR" - 3:22:59 PM] Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`
["ERROR" - 3:22:59 PM] Cannot find Prettier package.json
Error: Cannot find Prettier package.json
	at t.ModuleResolver.loadPrettierVersionFromPackageJson (/Users/user/.vscode/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:3693)
	at t.ModuleResolver.getPrettierInstance (/Users/user/.vscode/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:5087)
	at t.default.handleActiveTextEditorChanged (/Users/user/.vscode/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:10688)
	at t.default.handleActiveTextEditorChangedSync (/Users/user/.vscode/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:10290)
	at t.default.registerDisposables (/Users/user/.vscode/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:13133)
	at /Users/user/.vscode/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:81225
@leejanmorado
Copy link

experiencing this even on local installation

@PawelBorys
Copy link

I am experiencing the same issue on Windows with globally installed prettier

Version: 1.79.2 (user setup)
Commit: 695af097c7bd098fbf017ce3ac85e09bbc5dda06
Date: (2 wks ago)
Electron: 22.5.7
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: 10.8.168.25-electron.0
OS: Windows NT x64 10.0.22621

Prettier version v9.16.0

["INFO" - 1:35:15 PM] Attempted to load Prettier module from C:\Users\***\AppData\Roaming\npm\node_modules\prettier
["ERROR" - 1:35:15 PM] Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`
["ERROR" - 1:35:15 PM] Cannot find Prettier package.json
Error: Cannot find Prettier package.json
	at t.ModuleResolver.loadPrettierVersionFromPackageJson (c:\Users\***\.vscode\extensions\esbenp.prettier-vscode-9.16.0\dist\extension.js:1:3693)
	at t.ModuleResolver.getPrettierInstance (c:\Users\***\.vscode\extensions\esbenp.prettier-vscode-9.16.0\dist\extension.js:1:5087)
	at t.default.format (c:\Users\***\.vscode\extensions\esbenp.prettier-vscode-9.16.0\dist\extension.js:1:14402)
	at async t.PrettierEditProvider.provideEdits (c:\Users\***\.vscode\extensions\esbenp.prettier-vscode-9.16.0\dist\extension.js:1:12274)
	at async U.provideDocumentFormattingEdits (c:\Users\***\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:101:45790)

@wxf-contentgroove
Copy link
Author

I think this might be the change that broke it: d04b294

@hediet
Copy link

hediet commented Jun 30, 2023

It also broke for me in 9.16 with the same error message (windows). 9.15 works.

@ntotten
Copy link
Member

ntotten commented Jun 30, 2023

The change d04b294 from 9.16 was reverted. 9.19 is rolling out now. Thanks for reporting.

@ntotten ntotten closed this as completed Jun 30, 2023
@garyking
Copy link
Contributor

9.19 is still broken. 9.15 is still good.

@leejanmorado
Copy link

Still broken

@wxf-contentgroove
Copy link
Author

@ntotten Appears to still be broken on 9.19, requesting re-open of the issue. Just tested. and it's throwing the same error.

@93Akkord
Copy link

@ntotten Appears to still be broken on 9.19, requesting re-open of the issue. Just tested. and it's throwing the same error.

Yes, same here. Still broken.

@azat-io
Copy link

azat-io commented Jul 1, 2023

@ntotten Can you reopen the issue?

@Yossri21
Copy link

Yossri21 commented Jul 2, 2023

still broken!

@HakobjanianDavid
Copy link

Workaround: just return to previous version by VSIX example for python-ext

@vsiao
Copy link
Contributor

vsiao commented Jul 5, 2023

@wxf-contentgroove:

I think this might be the change that broke it: d04b294

This issue is a duplicate of #3041, which that commit was supposed to fix. @ntotten can you unrevert d04b294 and fix this issue and #3059?

In the meantime, users should try manually installing v9.18.0.

@livevie
Copy link

livevie commented Aug 4, 2023

is it now working for anyone? i still can't use it

@azat-io
Copy link

azat-io commented Aug 5, 2023

@ntotten Please reopen this issue

@paulalbertdev
Copy link

Same pb here

@carlosmrivera
Copy link

I'm facing this issue on v10.1.0

@paulalbertdev
Copy link

This seems to do the trick : #3100 (comment)

@oliver841025
Copy link

same pb here

@paulshestakov
Copy link

same problem

1 similar comment
@ddlaat
Copy link

ddlaat commented Aug 21, 2023

same problem

@kachkaev
Copy link
Member

Folks, please use 👍 reaction instead of ‘+1 comments’. The latter clutter Notifications for other devs and don’t any value.

@ShlokDesai33
Copy link

Please reopen this issue.

@madaxen86
Copy link

madaxen86 commented Oct 16, 2023

This did the trick for me:

-"prettier.prettierPath": "./packages/compiler/node_modules/prettier",
+"prettier.prettierPath": "./packages/compiler/node_modules/prettier/index.cjs",

@lazuee
Copy link

lazuee commented Oct 16, 2023

@madaxen86 thanks, it works.

{
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.formatOnPaste": true,
"prettier.enable": true,
"prettier.withNodeModules": true,
"prettier.requireConfig": false,
# using nodejs-lts from scoop
"prettier.prettierPath": "C:/Users/Admin/scoop/persist/nodejs-lts/bin/node_modules/prettier/index.cjs",
}
	

@izeau
Copy link

izeau commented Dec 16, 2023

For fnm users:

{
  "prettier.prettierPath": "~/.fnm/aliases/default/lib/node_modules/prettier/index.cjs"
}

Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot added the locked Please open a new issue and fill out the template instead of commenting. label Mar 17, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked Please open a new issue and fill out the template instead of commenting.
Projects
None yet
Development

No branches or pull requests