Skip to content

JSON should be in UTF-8... #3970

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
szykov opened this issue Jan 12, 2017 · 2 comments · Fixed by #4469
Closed

JSON should be in UTF-8... #3970

szykov opened this issue Jan 12, 2017 · 2 comments · Fixed by #4469
Labels
area: docs Related to the documentation P5 The team acknowledges the request but does not plan to address it, it remains open for discussion

Comments

@szykov
Copy link

szykov commented Jan 12, 2017

Please provide us with the following information:

OS?

Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)

Windows 10

Versions.

Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:

angular-cli: 1.0.0-beta.24
node: 7.3.0
os: win32 x64
@angular/common: 2.4.3
@angular/compiler: 2.4.3
@angular/compiler-cli: 2.4.3
@angular/core: 2.4.3
@angular/forms: 2.4.3
@angular/http: 2.4.3
@angular/platform-browser: 2.4.3
@angular/platform-browser-dynamic: 2.4.3
@angular/platform-server: 2.4.3
@angular/router: 3.4.3
@angular/upgrade: 2.4.3
@ngtools/webpack: 1.2.1

Repro steps.

Was this an app that wasn't created using the CLI? What change did you do on your code? etc.

No. Custom code.

The log given by the failure.

Normally this include a stack trace and some more information.

throw new Error("An error happened while parsing " + this._tsConfigPath + " JSON: " + err + ".");
Error: An error happened while parsing ./tsconfig.json JSON: SyntaxError: Unexpected token  in JSON at position 0.

Mention any other details that might be useful.

Seems it requires UTF-8 format:

let tsConfigJson: any = null;
try {
tsConfigJson = JSON.parse(fs.readFileSync(this._tsConfigPath, 'utf8'));
} catch (err) {
throw new Error(`An error happened while parsing ${this._tsConfigPath} JSON: ${err}.`);
}

Might be mentioning at least in a readme that UTF-8 format is required would a good point if it isn't - just close this issue. Thanks.


Thanks! We'll be in touch soon.

@Pabreetzio
Copy link

Thank you so much for leaving this here! I was banging my head on the wall wondering why I was getting the above error, checking the format for a while, then checked the encoding. My json file was UTF-8-BOM encoded which was causing this to fail. No reason it needed to be UTF-8-BOM so I changed it to UTF-8 and was able to get past my issue.

Why does the tsconfig have to be UTF-8 encoded though? Other tools were fine with it the way it was which made this a really frustrating issue for me to track down.

@filipesilva filipesilva added P5 The team acknowledges the request but does not plan to address it, it remains open for discussion area: docs Related to the documentation labels Jan 24, 2017
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: docs Related to the documentation P5 The team acknowledges the request but does not plan to address it, it remains open for discussion
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants