Skip to content

Compiler crash with allowJs #18224

Closed
Closed
@justinfagnani

Description

@justinfagnani

TypeScript Version: 2.5.2

Code

I haven't been able to isolate the exact problem yet, but I have a repo that triggers the bug here: https://github.com/PolymerLabs/polymer-lit

A clone / npm i / npm run build, should show the crash.

The repo uses JavaScript modules, and so imports dependencies by path. I've had to turn on allowJs because otherwise the compiler complains that I'm importing JS (even though this is from a dependency in node_modules, and shouldn't be compiled). But with allowJs enabled, the compiler crashes, presumably somewhere in the Polymer source code.

Expected behavior:

Compiler doesn't crash.

Actual behavior:

/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:56136
                throw e;
                ^

TypeError: Cannot read property 'type' of undefined
    at checkParenthesizedExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32180:78)
    at checkExpressionWorker (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32222:28)
    at checkExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32162:42)
    at checkExpressionWithContextualType (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32068:26)
    at checkApplicableSignature (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:30268:25)
    at chooseOverload (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:30571:26)
    at resolveCall (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:30493:26)
    at resolveCallExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:30674:20)
    at resolveSignature (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:30850:28)
    at getResolvedSignature (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:30870:26)
    at checkCallExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:30913:29)
    at checkExpressionWorker (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32218:28)
    at checkExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32162:42)
    at checkBinaryLikeExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:31814:29)
    at checkBinaryExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:31806:20)
    at checkExpressionWorker (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32248:28)
    at checkExpression (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32162:42)
    at checkExpressionStatement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:33912:13)
    at checkSourceElement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35434:28)
    at Object.forEach (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:275:30)
    at checkBlock (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:33588:16)
    at checkTryStatement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:34343:13)
    at checkSourceElement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35461:28)
    at Object.forEach (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:275:30)
    at /Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:34310:20
    at Object.forEach (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:275:30)
    at checkSwitchStatement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:34284:16)
    at checkSourceElement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35455:28)
    at Object.forEach (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:275:30)
    at checkBlock (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:33588:16)
    at checkSourceElement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35430:28)
    at checkFunctionOrMethodDeclaration (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:33412:13)
    at checkMethodDeclaration (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:32608:13)
    at checkSourceElement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35381:28)
    at Object.forEach (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:275:30)
    at checkClassDeclaration (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:34534:16)
    at checkSourceElement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35467:28)
    at Object.forEach (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:275:30)
    at checkBlock (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:33588:16)
    at checkSourceElement (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35430:28)
    at checkFunctionExpressionOrObjectLiteralMethodDeferred (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:31387:21)
    at checkDeferredNodes (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35507:25)
    at checkSourceFileWorker (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35537:17)
    at checkSourceFile (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35521:13)
    at Object.forEach (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:275:30)
    at getDiagnosticsWorker (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35586:16)
    at getDiagnostics (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:35563:24)
    at Object.getEmitResolver (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:18561:13)
    at emitWorker (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:56075:69)
    at /Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:56051:66
    at runWithCancellationToken (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:56129:24)
    at Object.emit (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:56051:20)
    at compileProgram (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:59097:38)
    at compile (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:59051:26)
    at performCompilation (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:58940:33)
    at Object.executeCommandLine (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:58883:9)
    at Object.<anonymous> (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/lib/tsc.js:59241:4)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/justinfagnani/Projects/Polymer/polymer3/poly-lit/node_modules/typescript/bin/tsc:2:1)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:423:7)
    at startup (bootstrap_node.js:147:9)
    at bootstrap_node.js:538:3

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptDomain: JSDocRelates to JSDoc parsing and type generationFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions