RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

Description

@forabi

TypeScript Version: 2.1.4

The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

Expected behavior:
The code compiles without issues

Actual behavior:
RangeError: Maximum call stack size exceeded


ERROR in ./src/store/reducers/workspace/analysis/index.ts
Module build failed: RangeError: Maximum call stack size exceeded
at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
@ ./src/store/reducers/workspace/index.ts 13:0-113
@ ./src/index.tsx

Metadata

Metadata

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
     blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    
    Skip to content

    RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

    Description

    @forabi

    TypeScript Version: 2.1.4

    The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

    Expected behavior:
    The code compiles without issues

    Actual behavior:
    RangeError: Maximum call stack size exceeded

    
    ERROR in ./src/store/reducers/workspace/analysis/index.ts
    Module build failed: RangeError: Maximum call stack size exceeded
    at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
    at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
    at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
    at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
    at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
    at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
    at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
    at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
    at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
    at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
    at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
    at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
    at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
    at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
    at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
    at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
    at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
    at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
    at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
    at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
    at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
    at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
    at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
    at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
    at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
    at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
    at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
    at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
    at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
    at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
    @ ./src/store/reducers/workspace/index.ts 13:0-113
    @ ./src/index.tsx
    

    Metadata

    Metadata

    Labels

    BugA bug in TypeScriptFixedA PR has been merged for this issue

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
      Skip to content

      RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

      Description

      @forabi

      TypeScript Version: 2.1.4

      The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

      Expected behavior:
      The code compiles without issues

      Actual behavior:
      RangeError: Maximum call stack size exceeded

      
      ERROR in ./src/store/reducers/workspace/analysis/index.ts
      Module build failed: RangeError: Maximum call stack size exceeded
      at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
      at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
      at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
      at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
      at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
      at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
      at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
      at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
      at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
      at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
      at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
      at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
      at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
      at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
      at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
      at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
      at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
      at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
      at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
      at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
      at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
      at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
      at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
      at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
      at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
      at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
      at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
      at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
      at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
      at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
      @ ./src/store/reducers/workspace/index.ts 13:0-113
      @ ./src/index.tsx
      

      Metadata

      Metadata

      Labels

      BugA bug in TypeScriptFixedA PR has been merged for this issue

      Type

      No type

      Projects

      No projects

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
        Skip to content

        RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

        Description

        @forabi

        TypeScript Version: 2.1.4

        The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

        Expected behavior:
        The code compiles without issues

        Actual behavior:
        RangeError: Maximum call stack size exceeded

        
        ERROR in ./src/store/reducers/workspace/analysis/index.ts
        Module build failed: RangeError: Maximum call stack size exceeded
        at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
        at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
        at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
        at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
        at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
        at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
        at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
        at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
        at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
        at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
        at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
        at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
        at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
        at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
        at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
        at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
        at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
        at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
        at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
        at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
        at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
        at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
        at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
        at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
        at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
        at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
        at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
        at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
        at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
        at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
        @ ./src/store/reducers/workspace/index.ts 13:0-113
        @ ./src/index.tsx
        

        Metadata

        Metadata

        Labels

        BugA bug in TypeScriptFixedA PR has been merged for this issue

        Type

        No type

        Projects

        No projects

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
          Skip to content

          RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

          Description

          @forabi

          TypeScript Version: 2.1.4

          The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

          Expected behavior:
          The code compiles without issues

          Actual behavior:
          RangeError: Maximum call stack size exceeded

          
          ERROR in ./src/store/reducers/workspace/analysis/index.ts
          Module build failed: RangeError: Maximum call stack size exceeded
          at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
          at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
          at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
          at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
          at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
          at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
          at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
          at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
          at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
          at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
          at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
          at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
          at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
          at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
          at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
          at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
          at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
          at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
          at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
          at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
          at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
          at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
          at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
          at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
          at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
          at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
          at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
          at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
          at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
          at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
          @ ./src/store/reducers/workspace/index.ts 13:0-113
          @ ./src/index.tsx
          

          Metadata

          Metadata

          Labels

          BugA bug in TypeScriptFixedA PR has been merged for this issue

          Type

          No type

          Projects

          No projects

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
            Skip to content

            RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

            Description

            @forabi

            TypeScript Version: 2.1.4

            The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

            Expected behavior:
            The code compiles without issues

            Actual behavior:
            RangeError: Maximum call stack size exceeded

            
            ERROR in ./src/store/reducers/workspace/analysis/index.ts
            Module build failed: RangeError: Maximum call stack size exceeded
            at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
            at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
            at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
            at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
            at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
            at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
            at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
            at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
            at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
            at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
            at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
            at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
            at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
            at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
            at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
            at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
            at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
            at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
            at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
            at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
            at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
            at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
            at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
            at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
            at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
            at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
            at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
            at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
            at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
            at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
            @ ./src/store/reducers/workspace/index.ts 13:0-113
            @ ./src/index.tsx
            

            Metadata

            Metadata

            Labels

            BugA bug in TypeScriptFixedA PR has been merged for this issue

            Type

            No type

            Projects

            No projects

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

              Description

              @forabi

              TypeScript Version: 2.1.4

              The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

              Expected behavior:
              The code compiles without issues

              Actual behavior:
              RangeError: Maximum call stack size exceeded

              
              ERROR in ./src/store/reducers/workspace/analysis/index.ts
              Module build failed: RangeError: Maximum call stack size exceeded
              at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
              at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
              at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
              at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
              at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
              at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
              at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
              at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
              at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
              at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
              at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
              at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
              at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
              at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
              at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
              at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
              at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
              at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
              at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
              at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
              at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
              at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
              at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
              at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
              at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
              at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
              at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
              at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
              at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
              at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
              @ ./src/store/reducers/workspace/index.ts 13:0-113
              @ ./src/index.tsx
              

              Metadata

              Metadata

              Labels

              BugA bug in TypeScriptFixedA PR has been merged for this issue

              Type

              No type

              Projects

              No projects

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions

                , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                Skip to content

                RangeError: Maximum call stack size exceeded in TS 2.1.4 #12735

                Description

                @forabi

                TypeScript Version: 2.1.4

                The project used to compile without any issues on TS 2.0, but it fails after upgrading to TS 2.1.4 without changing any code. I would be happy to give access to the repo if it would help.

                Expected behavior:
                The code compiles without issues

                Actual behavior:
                RangeError: Maximum call stack size exceeded

                
                ERROR in ./src/store/reducers/workspace/analysis/index.ts
                Module build failed: RangeError: Maximum call stack size exceeded
                at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37911:39)
                at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
                at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
                at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
                at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
                at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
                at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
                at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
                at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
                at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
                at getTypeOfExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37879:20)
                at getAssignedTypeOfBinaryExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32532:17)
                at getAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32554:28)
                at getInitialOrAssignedType (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32605:17)
                at getTypeAtFlowAssignment (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32904:69)
                at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32839:32)
                at getTypeAtFlowLoopLabel (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33050:36)
                at getTypeAtFlowNode (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32858:29)
                at getFlowTypeOfReference (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:32814:51)
                at checkIdentifier (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:33538:28)
                at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37914:28)
                at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
                at checkExpressionCached (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37793:38)
                at checkSpreadExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34449:39)
                at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37974:28)
                at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
                at checkExpressionForMutableLocation (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37825:24)
                at checkArrayLiteral (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:34484:32)
                at checkExpressionWorker (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37933:28)
                at checkExpression (/home/f/Projects/WebCeph/node_modules/typescript/lib/typescript.js:37894:42)
                @ ./src/store/reducers/workspace/index.ts 13:0-113
                @ ./src/index.tsx
                

                Metadata

                Metadata

                Labels

                BugA bug in TypeScriptFixedA PR has been merged for this issue

                Type

                No type

                Projects

                No projects

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions