acorn-typescript: TypeError: Class constructors cannot be invoked without 'new'
Hi, im getting the error: TypeError: Class constructors cannot be invoked without ‘new’
Stack trace…
MyExtension error: TypeError: Class constructors cannot be invoked without 'new'
at e [as constructor] (c:\Users\myuser\Desktop\Workspace\my-extension\node_modules\acorn-typescript\lib\index.js:1:15137)
at e [as constructor] (c:\Users\myuser\Desktop\Workspace\my-extension\node_modules\acorn-typescript\lib\index.js:1:16812)
at new e (c:\Users\myuser\Desktop\Workspace\my-extension\node_modules\acorn-typescript\lib\index.js:1:22553)
at Function.e.parse (c:\Users\myuser\Desktop\Workspace\my-extension\node_modules\acorn-typescript\lib\index.js:1:98376)
at ClassAnalyzer.astParse (c:\Users\myuser\Desktop\Workspace\my-extension\src\ClassAnalyzer.ts:20:4)
at c:\Users\myuser\Desktop\Workspace\my-extension\src\ClassAnalyzer.ts:47:22
at Array.forEach (<anonymous>)
at ClassAnalyzer.getComponents (c:\Users\myuser\Desktop\Workspace\my-extension\src\ClassAnalyzer.ts:44:7)
at MyExtension.provideCompletionItems (c:\Users\myuser\Desktop\Workspace\my-extension\src\MyExtension.ts:69:44)
at oe.provideCompletionItems (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:100:52903)
at c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:100:73510
at le.s (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:100:65165)
at le.$provideCompletionItems (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:100:73496)
at a.N (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:110:11620)
at a.M (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:110:11338)
at a.H (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:110:10393)
at a.G (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:110:9412)
at c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:110:8200
at v.invoke (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:145)
at h.deliver (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2121)
at i.fire (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1729)
at g.fire (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:72:14852)
at c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:126:32403
at v.invoke (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:145)
at h.deliver (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2121)
at i.fire (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1729)
at g.fire (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:72:14852)
at MessagePortMain.<anonymous> (c:\Users\myuser\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:126:30529)
at MessagePortMain.emit (C:\Users\myuser\Desktop\Workspace\my-extension\lib\events.js:513:28)
at MessagePortMain.emit (C:\Users\myuser\Desktop\Workspace\my-extension\lib\domain.js:489:12)
at Object.MessagePortMain._internalPort.emit (C:\Users\myuser\Desktop\Workspace\my-extension\lib\electron\js2c\utility_init.js:2:367)
at Object.topLevelDomainCallback (C:\Users\myuser\Desktop\Workspace\my-extension\lib\domain.js:161:15)
at Object.callbackTrampoline (node:internal/async_hooks:128:24) {vslsStack: Array(33), stack: 'TypeError: Class constructors cannot be invok…Trampoline (node:internal/async_hooks:128:24)', message: 'Class constructors cannot be invoked without 'new''}
Part of my code…
import { Node, Parser } from "acorn";
import { tsPlugin } from "acorn-typescript";
import { lstatSync, readFileSync, readdirSync } from "fs";
import path = require("path");
export class ClassAnalyzer{
private parser: any;
constructor() {
this.parser = Parser.extend(
require("acorn-jsx")(),
tsPlugin({
dts: true,
})
);
}
...
Weird errors in index.d.ts from the library…
Thanks.
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 19 (12 by maintainers)
Commits related to this issue
- test: add issue #29 jsx test — committed to TyrealHu/acorn-typescript by TyrealHu a year ago
HAHA, I known that, while u parse the code u should enable locations in acorn options
acorn doesn’t support a runtime env options. So i didn’t know the code u want to parse is a
tsx/ts file
or adts
file. The two files are in conflict. Maybe i will give a PR to acorn to solve this situation.I will perfect the readme of this plugin
I’m providing the same code above