diff --git a/webapp/channels/tsconfig.json b/webapp/channels/tsconfig.json index 6cf89b88df..f7075c441e 100644 --- a/webapp/channels/tsconfig.json +++ b/webapp/channels/tsconfig.json @@ -26,7 +26,10 @@ "paths": { "mattermost-redux/*": ["packages/mattermost-redux/src/*"], "@mui/styled-engine": ["./node_modules/@mui/styled-engine-sc"], - } + }, + "plugins": [{ + "name": "typescript-eslint-language-service" + }] }, "include": [ "./src/**/*", diff --git a/webapp/channels/webpack.config.js b/webapp/channels/webpack.config.js index 1dfb85d0fb..c4401fde41 100644 --- a/webapp/channels/webpack.config.js +++ b/webapp/channels/webpack.config.js @@ -18,10 +18,14 @@ const packageJson = require('./package.json'); const NPM_TARGET = process.env.npm_lifecycle_event; +// list of known code editors that set an environment variable. +const knownCodeEditors = ['VSCODE_CWD', 'INSIDE_EMACS']; +const isInsideCodeEditor = knownCodeEditors.some((editor) => process.env[editor]); + const targetIsRun = NPM_TARGET?.startsWith('run'); const targetIsStats = NPM_TARGET === 'stats'; const targetIsDevServer = NPM_TARGET?.startsWith('dev-server'); -const targetIsEslint = NPM_TARGET?.startsWith('check') || NPM_TARGET === 'fix' || process.env.VSCODE_CWD; +const targetIsEslint = NPM_TARGET?.startsWith('check') || NPM_TARGET === 'fix' || isInsideCodeEditor; const DEV = targetIsRun || targetIsStats || targetIsDevServer; diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 5b15840923..b8f66011b2 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -45,6 +45,7 @@ "sass-loader": "16.0.2", "strip-ansi": "7.1.0", "style-loader": "4.0.0", + "typescript-eslint-language-service": "5.0.5", "webpack": "5.95.0", "webpack-cli": "5.1.4", "webpack-dev-server": "5.1.0" @@ -27025,6 +27026,17 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint-language-service": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/typescript-eslint-language-service/-/typescript-eslint-language-service-5.0.5.tgz", + "integrity": "sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==", + "dev": true, + "peerDependencies": { + "@typescript-eslint/parser": ">= 5.0.0", + "eslint": ">= 8.0.0", + "typescript": ">= 4.0.0" + } + }, "node_modules/ua-parser-js": { "version": "1.0.39", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", diff --git a/webapp/package.json b/webapp/package.json index 646853059b..6fc419ed6d 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -50,6 +50,7 @@ "sass-loader": "16.0.2", "strip-ansi": "7.1.0", "style-loader": "4.0.0", + "typescript-eslint-language-service": "5.0.5", "webpack": "5.95.0", "webpack-cli": "5.1.4", "webpack-dev-server": "5.1.0"