Closed dancherb closed 1 year ago
good job on tracing it down. it seems this will need a fix from core tfjs
libs, not faceapi
.
but for that, need to narrow it down:
tfjs
(without faceapi
)if you manage to prove (1), i can help with (2) and then work directly with tfjs team on resolution.
@dancherb any updates?
Hey @vladmandic, thanks for checking in - I managed to work around this issue by passing swcMinify: false
in next.config.js
. I hoped this would use a different minification process which would avoid the error, and it did! So a bit of a lazy solution but hey 💃
glad you found it!
btw, per Vercel, swcMinify
is had quite a few issues in the past:
anyhow, I'm closing the issue for now, feel free to post further with any questions/comments/concerns.
Issue Description
When the project is built and deployed on Heroku, the following error appears. This error does not appear when using the standard face-api.js npm package:
Uncaught SyntaxError: Invalid left-hand side expression in postfix operation
This references the following minified code:
async nextState(e){await e;let t=await wF(this.iterators,function(e){return e instanceof wJ?{value:e.next().then(e=>(0++,e.done&&0++,e.value)),recurse:!1}:{value:null,recurse:!0}});
It seems that "0++" is causing the issue here. This appears to be minified from the following function in
@tensorflow\tfjs\node_modules\@tensorflow\tfjs-data\src\iterators\lazy_iterator.ts
. It appears that the variables numIterators and iteratorsDone are reduced to simply 0, thus giving the code 0++.**Environment
js
,esm
,esm-nobundle
)? ESM.