Preflight Checklist
Issue Summary
Loading @trivago/prettier-plugin-organize-imports causes this extension to output errors complaining about a "cycle involving require(esm)."
(Note that the plugin works when using prettier from the command line; this can be verified by running yarn prettier --write . in the repro project root.)
Reproduction Repository
https://github.com/chris-janidlo/prettier-vscode_trivago-plugin-sort-imports_bug-min-repro
Steps to Reproduce
- Clone the repository above
- Open in VS Code
- See error
Expected Behavior
Extension should load without errors.
Actual Behavior
Extension fails to load and cannot be used to format code.
Operating System
Windows
IDE
VSCode
IDE Version
Version: 1.105.1 (user setup) Commit: 7d842fb85a0275a4a8e4d7e040d2625abbf7f084 Date: 2025-10-14T22:33:36.618Z Electron: 37.6.0 ElectronBuildId: 12502201 Chromium: 138.0.7204.251 Node.js: 22.19.0 V8: 13.8.258.32-electron.0 OS: Windows_NT x64 10.0.26100
Prettier Extension Version
12.3.0
Prettier Version
3.8.1
Prettier Extension Logs
["INFO" - 1:01:41 AM] Extension Name: esbenp.prettier-vscode.
["INFO" - 1:01:41 AM] Extension Version: 12.3.0.
["INFO" - 1:01:46 AM] Using config file at c:\Users\chris\...\prettier-vscode-min-repro\.prettierrc.js
["INFO" - 1:01:46 AM] EditorConfig support is enabled, checking for .editorconfig files
["INFO" - 1:01:46 AM] Resolved config:
{
"plugins": [
"file:///c:/Users/chris/.../prettier-vscode-min-repro/.yarn/__virtual__/@trivago-prettier-plugin-sort-imports-virtual-24c6191274/0/cache/@trivago-prettier-plugin-sort-imports-npm-6.0.2-88f9e213cd-62ee7d74c9.zip/node_modules/@trivago/prettier-plugin-sort-imports/lib/src/index.js"
]
}
["ERROR" - 1:01:46 AM] Error handling text editor change
["ERROR" - 1:01:46 AM] Cannot require() ES Module c:\Users\chris\...\prettier-vscode-min-repro\.yarn\__virtual__\@trivago-prettier-plugin-sort-imports-virtual-24c6191274\0\cache\@trivago-prettier-plugin-sort-imports-npm-6.0.2-88f9e213cd-62ee7d74c9.zip\node_modules\@trivago\prettier-plugin-sort-imports\lib\src\index.js in a cycle. A cycle involving require(esm) is not allowed to maintain invariants mandated by the ECMAScript specification. Try making at least part of the dependency in the graph lazily loaded.
Error: Cannot require() ES Module c:\Users\chris\...\prettier-vscode-min-repro\.yarn\__virtual__\@trivago-prettier-plugin-sort-imports-virtual-24c6191274\0\cache\@trivago-prettier-plugin-sort-imports-npm-6.0.2-88f9e213cd-62ee7d74c9.zip\node_modules\@trivago\prettier-plugin-sort-imports\lib\src\index.js in a cycle. A cycle involving require(esm) is not allowed to maintain invariants mandated by the ECMAScript specification. Try making at least part of the dependency in the graph lazily loaded.
at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:420:13)
at loadESMFromCJS (node:internal/modules/cjs/loader:1544:24)
at Module._compile (node:internal/modules/cjs/loader:1695:5)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1848:10)
at Module.load (node:internal/modules/cjs/loader:1448:32)
at Module._load (node:internal/modules/cjs/loader:1270:12)
at Module.c._load (node:electron/js2c/node_init:2:17993)
at Module.e._load (file:///c:/Users/chris/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:393:5983)
at Module.t._load (file:///c:/Users/chris/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:211:22649)
at Module.r._load (file:///c:/Users/chris/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:203:26694)
at Module.require$$0.Module._load (c:\Users\chris\...\prettier-vscode-min-repro\.pnp.cjs:5849:31)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:244:24)
at cjsLoader (node:internal/modules/esm/translators:272:5)
at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:202:7)
at ModuleJob.run (node:internal/modules/esm/module_job:345:25)
at onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:651:26)
at loadPluginWithoutCache (file:///c:/Users/chris/.../prettier-vscode-min-repro/.yarn/unplugged/prettier-npm-3.8.1-04022a855f/node_modules/prettier/index.mjs:18333:18)
at async Promise.all (index 0)
at async Promise.all (index 1)
at Module.<anonymous> (file:///c:/Users/chris/.../prettier-vscode-min-repro/.yarn/unplugged/prettier-npm-3.8.1-04022a855f/node_modules/prettier/index.mjs:18719:17)
at PrettierEditService.getSelectors (file:///c:/Users/chris/.vscode/extensions/esbenp.prettier-vscode-12.3.0/dist/extension.js:3110:39)
at PrettierEditService.handleActiveTextEditorChanged (file:///c:/Users/chris/.vscode/extensions/esbenp.prettier-vscode-12.3.0/dist/extension.js:3023:23)
Prettier Configuration
// .prettierrc.js
export default {
plugins: [import.meta.resolve("@trivago/prettier-plugin-sort-imports")],
};
Preflight Checklist
Issue Summary
Loading
@trivago/prettier-plugin-organize-importscauses this extension to output errors complaining about a "cycle involving require(esm)."(Note that the plugin works when using prettier from the command line; this can be verified by running
yarn prettier --write .in the repro project root.)Reproduction Repository
https://github.com/chris-janidlo/prettier-vscode_trivago-plugin-sort-imports_bug-min-repro
Steps to Reproduce
Expected Behavior
Extension should load without errors.
Actual Behavior
Extension fails to load and cannot be used to format code.
Operating System
Windows
IDE
VSCode
IDE Version
Version: 1.105.1 (user setup) Commit: 7d842fb85a0275a4a8e4d7e040d2625abbf7f084 Date: 2025-10-14T22:33:36.618Z Electron: 37.6.0 ElectronBuildId: 12502201 Chromium: 138.0.7204.251 Node.js: 22.19.0 V8: 13.8.258.32-electron.0 OS: Windows_NT x64 10.0.26100
Prettier Extension Version
12.3.0
Prettier Version
3.8.1
Prettier Extension Logs
Prettier Configuration