prettier-vscode: Prettier does not format documents in latest Prettier + VS code versions

Summary

Prettier does not format code, error and logs shown below.

Using: Ubuntu: 22.04.2 in Windows + WSL 2 VS Code: 1.80.0 Prettier: 9.19.0

Github Repository to Reproduce Issue

Installed the latest prettier vs-code extension.

Steps To Reproduce:

  1. Install al the latest versions of the software I listed.
  2. CTRL+SHIFT+P and choose Format Document (with prettier) \ or any other way to format the document
  3. Document is not being formatted

Expected result

Document should be formatted.

Actual result

Document is not formatted.

Additional information

I updated to the latest prettier extension + regular vs code update and it just stopped working.

VS Code Version:

Version: 1.80.0 (user setup) Commit: 660393deaaa6d1996740ff4880f1bad43768c814 Date: 2023-07-04T15:06:02.407Z Electron: 22.3.14 ElectronBuildId: 21893604 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0.19044

Prettier Extension Version:

Prettier: 9.19.0

OS and version:

Windows 10 Pro Version 21H2

Prettier Log Output


["INFO" - 10:51:46 AM] Formatting file:///..........(path was removed from log)
["INFO" - 10:51:46 AM] Attempted to load Prettier module from /usr/lib/node_modules/prettier
["ERROR" - 10:51:46 AM] Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`
["ERROR" - 10:51:46 AM] Cannot find Prettier package.json
Error: Cannot find Prettier package.json
	at t.ModuleResolver.loadPrettierVersionFromPackageJson (/home/omer/.vscode-server/extensions/esbenp.prettier-vscode-9.19.0/dist/extension.js:1:3996)
	at t.ModuleResolver.getPrettierInstance (/home/omer/.vscode-server/extensions/esbenp.prettier-vscode-9.19.0/dist/extension.js:1:5305)
	at t.ModuleResolver.getResolvedConfig (/home/omer/.vscode-server/extensions/esbenp.prettier-vscode-9.19.0/dist/extension.js:1:7434)
	at t.default.format (/home/omer/.vscode-server/extensions/esbenp.prettier-vscode-9.19.0/dist/extension.js:1:14527)
	at t.PrettierEditProvider.provideEdits (/home/omer/.vscode-server/extensions/esbenp.prettier-vscode-9.19.0/dist/extension.js:1:12621)
	at t.PrettierEditProvider.provideDocumentFormattingEdits (/home/omer/.vscode-server/extensions/esbenp.prettier-vscode-9.19.0/dist/extension.js:1:8860)
	at O.provideDocumentFormattingEdits (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:102:45061)
	at /home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:102:67984
	at se.s (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:102:62833)
	at se.$provideDocumentFormattingEdits (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:102:67971)
	at t.N (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:112:11199)
	at t.M (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:112:10965)
	at t.H (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:112:10007)
	at t.G (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:112:9122)
	at i.value (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:112:7952)
	at p.w (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:1902)
	at p.fire (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:2119)
	at fire (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:76:13931)
	at i.value (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:128:30341)
	at p.w (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:1902)
	at p.fire (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:2119)
	at fire (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:76:13931)
	at s.z (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:76:16976)
	at i.value (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:76:15428)
	at p.w (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:1902)
	at p.fire (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:2119)
	at i.acceptChunk (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:76:11705)
	at i.value (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:76:10992)
	at p.w (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:1902)
	at p.fire (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:60:2119)
	at p.u (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:128:19085)
	at p.acceptFrame (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:128:18891)
	at a.l (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:128:17524)
	at /home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:128:14871
	at Socket.r (/home/omer/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/out/vs/workbench/api/node/extensionHostProcess.js:128:12785)
	at Socket.emit (node:events:513:28)
	at addChunk (node:internal/streams/readable:315:12)
	at readableAddChunk (node:internal/streams/readable:289:9)
	at Socket.Readable.push (node:internal/streams/readable:228:10)
	at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
["ERROR" - 10:51:46 AM] Invalid prettier configuration file detected.
["ERROR" - 10:51:46 AM] EISDIR: illegal operation on a directory, read
Error: EISDIR: illegal operation on a directory, read
["ERROR" - 10:51:46 AM] Invalid prettier configuration file detected. See log for details.

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Reactions: 43
  • Comments: 23

Most upvoted comments

Seems like even reverting to an older version does not fix prettier not working when installed via Yarn PnP

After updating some dependencies on my project, Prettier stopped formatting .vue files through VSCode.
But it was still running OK from the CLI.

I tried the solution from @kitsunekyo, and found out that this was the line causing the issue:

module.exports = {
  plugins: [require('prettier-plugin-tailwindcss')],
  // ...
}

Changing that to this solved the issue for me:

module.exports = {
  plugins: ['prettier-plugin-tailwindcss'],
  // ...
}

It was logging out Invalid prettier configuration file detected. See log for details..

Everything is good now. 🙏

if your config file is named prettier.config.js try renaming it to .prettierrc.cjs

and update the contents to use commonjs (might not even be necessary):

/** @type {import("prettier").Config} */
const config = {
  singleQuote: true,
  trailingComma: "all",
  plugins: ["prettier-plugin-tailwindcss"],
  tailwindConfig: "./tailwind.config.js",
};

module.exports = config;

looks like something with the module type parsing is messed up.

source

I am getting the same issue. I rollback to the previous version to resolve it for me. Install previous versions

Prettier hasn’t worked for over a month now

if your config file is named prettier.config.js try renaming it to .prettierrc.cjs

and update the contents to use commonjs (might not even be necessary):

/** @type {import("prettier").Config} */
const config = {
  singleQuote: true,
  trailingComma: "all",
  plugins: ["prettier-plugin-tailwindcss"],
  tailwindConfig: "./tailwind.config.js",
};

module.exports = config;

looks like something with the module type parsing is messed up.

source

this answer saved my life and my job!!

Any progress with this issue? I’m also seeing it since about a month ago.

I have the prettier.prettierPath option pointing to the global node_modules as the extension won’t otherwise load the globally installed plugins (we’re using prettier-plugin-java).

We have many projects that don’t use JavaScript and don’t contain a node_modules directory.

Downgrading to 9.15.0 will fix the problem. Starting from 9.16.0 the module fails to load with the following messages:

["INFO" - 12:50:47 AM] Extension Name: esbenp.prettier-vscode.
["INFO" - 12:50:47 AM] Extension Version: 9.16.0.
["INFO" - 12:50:47 AM] Attempted to load Prettier module from /usr/lib/node_modules/prettier
["ERROR" - 12:50:47 AM] Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`
["ERROR" - 12:50:47 AM] Cannot find Prettier package.json
Error: Cannot find Prettier package.json
	at t.ModuleResolver.loadPrettierVersionFromPackageJson (/root/.vscode-server/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:3631)
	at t.ModuleResolver.getPrettierInstance (/root/.vscode-server/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:5025)
	at t.default.handleActiveTextEditorChanged (/root/.vscode-server/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:10626)
	at t.default.handleActiveTextEditorChangedSync (/root/.vscode-server/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:10228)
	at t.default.registerDisposables (/root/.vscode-server/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:13071)
	at /root/.vscode-server/extensions/esbenp.prettier-vscode-9.16.0/dist/extension.js:1:81163
	at processTicksAndRejections (node:internal/process/task_queues:96:5)

With the newer versions, removing prettier.prettierPath will fix this error, but the Java plugin won’t load, no matter what I do.

0.9.18 works for me, 0.9.19 not.

Why: https://github.com/prettier/prettier-vscode/commit/f6ff18b500858b913ef43dbad73ecbae929c3b27

I revert this (again, in the dist js file) and it works

The same problem

Apparently no downgrade will make it work with 3.0.3,…

Same issue. Getting “Invalid prettier configuration file detected.” in the log. Works fine with Prettier 2.8.8.

  • MacOS: latest
  • Node: 18
  • Prettier: 3.x

Just ran into this as well on extension version v9.19.0. Whether or not prettier.prettierPath is set in VSCode’s settings.json didn’t make a difference. Reverting to v9.18.0 resolved it.

For info:

  • MacOS 12.6.7
  • NodeJS 18.15.0
  • Prettier 2.8.4
  • VSCode 1.80.1