Skip to content

Compiler crash with allowJs #18224

Description

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

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