Getting Parsing error: Unexpected token, expected ";"
A couple of things could be happening. Have you created a ts.config.js with ts configuration and parser config, something like:
export const typescriptConfig = {
extends: ['plugin:@typescript-eslint/eslint-
recommended'],
overrides: [
{
parser: '@typescript-eslint/parser',
extends: [
'plugin:@typescript-eslint/recommended',
'prettier/@typescript-eslint',
'plugin:import/typescript',
],
plugins: ['@typescript-eslint'],
files: ['*.ts', '*.tsx'],
rules: {},
},
],
}
Create React App uses ESLint by default. However, ESLint can't parse TypeScript by default. If you want, you may consider using @typescript-eslint/parser.
This could be that the base babel-eslint parser not working correctly without any config. ESLint is not applying different parsers to different files, hence babel-eslint might be throwing an error.
Make sure your config file is created in the root of the project. I would start with that.
Viewsonic
Updated on June 07, 2022Comments
-
Viewsonic almost 2 years
I'm working on a big
React + TypeScript
project.It works well on the local machine of other colleagues, but on mine I get the following error:
Line 1: Parsing error: Unexpected token, expected ";"
as you can see below:
Here is the source code:
export type LoadOfferType = typeof import("../offers/defaultOffer"); export const loadOffer = async (): Promise<LoadOfferType> => { const offerName = process.env.NODE_ENV === "development" ? process.env.REACT_APP_FALLBACK_SITE : "defaultOffer"; /** * We use a switch statement instead of ane xpression for the offer path * because Webpack throws a critical dependency error when using paths * that are not explicitly defined. */ switch (offerName) { case "mysite.com": return await import("../offers/mysite.com"); default: return await import("../offers/defaultOffer"); } };
The commands I ran after cloning the repository were:
$ yarn install $ yarn start
Here there is some info about my system:
$ node -v v12.13.0 $ npm -v 6.12.0 $ yarn -v 1.19.1
Any idea on how to fix this?
Thanks!