mirror of
https://github.com/jehna/humanify.git
synced 2026-04-27 09:35:58 +03:00
[GH-ISSUE #57] Error: process.stdout.cursorTo is not a function #30
Labels
No labels
bug
enhancement
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/humanify#30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @sandiwp on GitHub (Aug 24, 2024).
Original GitHub issue: https://github.com/jehna/humanify/issues/57
echo "OPENAI_API_KEY=api key..." > .env && humanify openai main.js
export OPENAI_API_KEY="api key..." && humanify openai main.js
OPENAI_TOKEN=api key... humanify openai main.js
humanify --apiKey="api key..." main.js
file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:67
process.stdout.cursorTo(0);
^
TypeError: process.stdout.cursorTo is not a function
at showPercentage (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:67:20)
at visitAllIdentifiers (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56606:35)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56720:12
at async unminify (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:196:27)
at async Command. (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56790:3)
Node.js v20.17.0
file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:67
process.stdout.cursorTo(0);
^
TypeError: process.stdout.cursorTo is not a function
at showPercentage (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:67:20)
at visitAllIdentifiers (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56606:35)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56720:12
at async unminify (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:196:27)
at async Command. (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56790:3)
Node.js v20.17.0
file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:67
process.stdout.cursorTo(0);
^
TypeError: process.stdout.cursorTo is not a function
at showPercentage (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:67:20)
at visitAllIdentifiers (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56606:35)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56720:12
at async unminify (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:196:27)
at async Command. (file:///C:/Users/Rahim/AppData/Roaming/npm/node_modules/humanifyjs/dist/index.mjs:56790:3)
Node.js v20.17.0
error: unknown option '--apiKey=api key...'
Usage: humanify [options] [command]
Unminify code using OpenAI's API or a local LLM
@jehna commented on GitHub (Aug 24, 2024):
Which environment are you running humanify on? It seems that your terminal/stdout/something does not support clearing the row.
You should be able to fix this for now by using
--verboseflag, which disables the clearing. I'll fix the underlying issue in coming versions.@jehna commented on GitHub (Aug 24, 2024):
And thank you for reporting the issue! 🙇
@sandiwp commented on GitHub (Aug 24, 2024):
Thank you very much for your support
It worked fine when I used it before and now it doesn't work
Another thing I know is that I did console.log in different places but it doesn't display in the command lines but they are executing as far as I understand.
@jehna commented on GitHub (Aug 25, 2024):
I checked into this more. Is it possible by any chance that you're trying to run humanify using an old node.js? It seems that
stdout.cursorTois introduced in node.js version 17, so this implies that your node.js version would have been under that. I confused that previously withstdout.clearLine, which would be absent in weird terminal environments@jehna commented on GitHub (Aug 25, 2024):
You can check via
node --version@jehna commented on GitHub (Oct 18, 2024):
Closing due inactivity
@ItsHarper commented on GitHub (Jul 24, 2025):
process.stdout.cursorTois only defined when the shell you're running in isn't capturing the output. You need to checkprocess.stdout.isTTYbefore trying to access it.Source:
https://nodejs.org/api/process.html#a-note-on-process-io
https://nodejs.org/api/tty.html#writestreamcursortox-y-callback
@0xdevalias commented on GitHub (Jul 27, 2025):
Based on the above, we can see this behaviour in node v22, so it wasn't just an issue with running an older version of node:
@jehna So this is still a valid issue that should be fixed, and this issue should be re-opened to track that.
Usage:
github.com/jehna/humanify@7beba2d324/src/progress.ts (L25-L31)Example of a potential fix:
Ideally a similar more explicit fix would be added to
clearLineinshowProgressas well, instead of just relying on the optional chaining syntax.You can see that this would also be an issue with
process.stdout.clearLine:Except that in the code, you're calling
process.stdout.clearLinewith the optional chaining syntax like this:github.com/jehna/humanify@7beba2d324/src/progress.ts (L10)github.com/jehna/humanify@7beba2d324/src/progress.ts (L28)Whereas for
process.stdout.cursorToyou're not using the optional chaining syntax:github.com/jehna/humanify@7beba2d324/src/progress.ts (L29)Looking at the git blame / history, the progress feature seemed to be first added in
70e31966e4on Aug 9, 2024, and neither used the optional chaining syntax:github.com/jehna/humanify@70e31966e4 (diff-ae7dc0c4f0)But then the optional chaining was added to
clearLinein05b6a8e261on Aug 9, 2024 as it broke the CI:github.com/jehna/humanify@05b6a8e261@0xdevalias commented on GitHub (Jul 27, 2025):
Since this issue is still valid, and I don't have the access to re-open it based on @ItsHarper 's findings/contribution; I created a new issue to track the ongoing bug, and how to fix it: