microsoft / microsoft/vscode-js-debug
Support pretty printing minified ES modules
@connor4312 is already working on this.
Since Aug 15, 2022.
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 373
- Avg merge
- 1d 9m
- Merged PRs (30d)
- 6
Description
Is your feature request related to a problem? Please describe.
When debugging minified ES modules, attempting to pretty print results in the following error:
Error: Error processing prettyPrintSource: SyntaxError: 'import' and 'export' may appear only with 'sourceType: module'
Full stack trace
[2022-08-15 13:31:26.880] [renderer3] [error] [Extension Host] SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (1:0)
at q.ce.raise (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:123750)
at q.z.parseStatement (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:74745)
at q.z.parseTopLevel (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:72115)
at q.parse (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:67920)
at Function.q.parse (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:69182)
at t.prettyPrintAsSourceMap (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:1055055)
at I.prettyPrint (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:904247)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async F._prettyPrintSource (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:844969)
at async t.default._onMessage (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:1077748)
[2022-08-15 13:31:26.887] [renderer3] [error] Error processing prettyPrintSource: SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (1:0)
at q.ce.raise (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:123750)
at q.z.parseStatement (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:74745)
at q.z.parseTopLevel (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:72115)
at q.parse (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:67920)
at Function.q.parse (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:69182)
at t.prettyPrintAsSourceMap (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:1055055)
at I.prettyPrint (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:904247)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async F._prettyPrintSource (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:844969)
at async t.default._onMessage (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:1077748): Error: Error processing prettyPrintSource: SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (1:0)
at q.ce.raise (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:123750)
at q.z.parseStatement (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:74745)
at q.z.parseTopLevel (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:72115)
at q.parse (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:67920)
at Function.q.parse (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:69182)
at t.prettyPrintAsSourceMap (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:1055055)
at I.prettyPrint (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:904247)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async F._prettyPrintSource (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:844969)
at async t.default._onMessage (/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/extension.js:2:1077748)
at l.handleErrorResponse (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1049:47508)
at vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1049:46947
AFAICT, this error is coming from the acorn parser, specifically when calling it here. It's clear, based on the acorn docs, that the problem is the missing sourceType: 'module' option. I don't know what the repercussions of setting said option by default would be, but maybe it can be toggled by a new configuration option
Describe the feature you'd like
I would like the Pretty Print feature to support pretty printing ES modules, either by default, or enabled by a new config option
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.