It’s been a while since I’ve changed to my Flutter Firebase functions code.
And today, I am blocked from deploying the new code because I get this error:
7:497 error Unsafe usage of ThrowStatement no-unsafe-finally
And over 120 of the likes in my code (such as Expected a 'break' statement before 'case'etc.).
Expected a 'break' statement before 'case'
By inspecting the code generated as follows:
function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
I understand that eslint sees the throw in the finally is the source of the issue it reports.
eslint
throw
finally
As I am using version 11.18.0 and that 12.4.5 is available, I wonder if this error would be fixed and whether upgrading could draw me into additional or others issues.
So, maybe I could start with a fix in eslintrc.js or you think is safe to go to npm install -g firebase-tools?
eslintrc.js
npm install -g firebase-tools
I have finally found a fix.
For some reasons, removing my dist folder is the solution.
And running npm run deploy again is now OK.