"Maximum call stack size exceeded" what is the maximum call stack size code example

Example 1: npm ERR! Maximum call stack size exceeded

npm cache clean --force

Example 2: Uncaught RangeError: Maximum call stack size exceeded

// Can be caused by a large recursive function, i.e:

function fibonacci(num){
    if (num === 1) 
    {
        return [0, 1]
    } 
    else 
    {
        var s = fibonacci(num - 1)
        s.push(s[s.length - 1] + s[s.length - 2])
        return s
    }
};

fibonacci(20000)[20000]

// In which case, the fix is to make it non-recursive if possible