VSCode showing error on type assertion using AS keyword in .tsx file. Whereas there is no issue when I execute the code and run the app on web browser.
Parsing error: unexpected token, expected ";"
My eslint.rc
{
"parser": "babel-eslint",
"env": {
"es6": true,
"browser": true
},
"extends": [
"airbnb-typescript",
"airbnb/hooks",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:mdx/recommended"
],
"settings": {
"import/resolver": {
"node": {
"paths": [
"src"
],
"extensions": [
".js",
".jsx",
".ts",
".tsx",
".mdx"
]
}
}
},
"rules": {
"comma-dangle": "off",
"import/no-unresolved": "off",
"jsx-a11y/anchor-is-valid": "off",
"jsx-a11y/click-events-have-key-events": "off",
"jsx-a11y/control-has-associated-label": "off",
"jsx-a11y/no-static-element-interactions": "off",
"no-console": "off",
"no-plusplus": "off",
"react-hooks/exhaustive-deps": "off",
"react/forbid-prop-types": "off",
"react/jsx-filename-extension": "off",
"react/jsx-props-no-spreading": "off",
"react/require-default-props": "off"
}
}
My tsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": false,
"strictNullChecks": false,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react",
"sourceMap": true, // Generate corresponding .map file
"declaration": true, // Generate corresponding .d.ts file
},
"include": [
"src/**/*" // *** The files TypeScript should type check ***
],
"exclude": ["node_modules", "build"] // *** The files to not type check ***
}
My Dev dependencies:
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^2.34.0",
"@typescript-eslint/parser": "^2.34.0",
"eslint": "^6.8.0",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-airbnb-typescript": "^7.2.1",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-jsx-a11y": "^6.3.1",
"eslint-plugin-mdx": "^1.7.1",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-react": "^7.20.3",
"eslint-plugin-react-hooks": "^2.5.1",
"mdx-loader": "^3.0.2",
"numeral": "^2.0.6",
"prettier": "^1.19.1",
"typescript": "^3.9.7"
}
I have solved the problem after some R&D. The problem was the parser used in .eslintrc was "parser": "babel-eslint" whereas we should use this parser when working with typescript in react "parser": "@typescript-eslint/parser"
For this you have to install @typescript-eslint/parser package as devDependencies.
vscode is not showing the error now: