javascript
javascript copied to clipboard
Unexpected end of JSON input
I am facing similar issue as mentioned in https://github.com/airbnb/javascript/issues/2540
whenever I run "eslint ." i am thrown "Unexpected end of JSON input"
What version of everything are you using? eslint 8.2 is out of date, try with eslint latest, and make sure you're on the latest of eslint-config-airbnb
as well.
i use 19.0.4 of eslint-config-airbnb and v8.30.0 of eslint. Still the same issue. this is what i have in my eslint.json
extends": ["eslint:recommended","airbnb/whitespace"],
if i replace "airbnb/whitespace" with "airbnb" or even "airbnb/hooks" the issue is resolved. but wont work with whitespace for some reason
i have 2 different projects, with same issue, in one project, it opens "airbnb/whitespace-async.js" file in my notepad whenever i run "npm run lint" or "eslint ."
The way the eslint-config-airbnb/whitespace
file works is it executes https://unpkg.com/browse/[email protected]/whitespace-async.js - which is an executable node program - and it outputs JSON.
If that file is being opened in your editor then perhaps the executable bit isn't set properly on that file, or perhaps something about your system isn't supporting execSync
of an executable JS file. It's possible this happens on any Windows machine, but I'd be pretty surprised if you were the first Windows user to use the whitespace config.
If it's a problem on all Windows machines, then we might need to change the approach we use to execute the whitespace-async file.
the problem didnt exist in older versions, only in the latest versions we r facing the issue. Previously we used 18.2.0 with typescript 3.9.10
yes, this technique was introduced to be compatible with eslint 8.
is it possible to fix this thing? or can give me a hint of how to get around this, I can give a try and probably will contribute the update
I believe that what's required is either finding a package that can sync exec a node file on linux/mac and windows - or, detecting windows, and using an alternative sync approach on windows (all in the whitespace file, to exec the whitespace-async file).
by adding "node " to the command, the issue seized, is this the expected functionality? we are only trying to run the js file in node isnt?
i don't know what you mean by "seized" here - but certainly if running it directly with node fixes the problem, that might work.
i mean stopped. cool. I was just checking if "node
Yes, it should be unnecessary, but it also doesn't hurt. Want to make a PR?
yep sure.
I faced the very same issue recently. So, the problem was the line #!/usr/bin/env node
here
My fix:
- Create/update the symlink at /usr/bin
ln -s <path_to_your_nodejs> /usr/bin/node
- Check permission(I just set 777 and that's all)
I hope it'will work for someone else
@kapilsriram hi! Maybe my workaround could help you
@meta-panic could you please elaborate..? I am facing the same issue .
@kapilsriram your solution helped. Thankyou👍
Looks like the fix worked for many people.
IMHO, The PR and the issue both can get resolved.