\href{https://badge.fury.io/js/tslint}{\texttt{ }} \href{https://npmjs.org/package/tslint}{\texttt{ }} \href{https://david-dm.org/palantir/tslint}{\texttt{ }} \href{https://david-dm.org/palantir/tslint/?type=dev}{\texttt{ }} \href{https://david-dm.org/palantir/tslint/?type=peer}{\texttt{ }} \href{https://circleci.com/gh/palantir/tslint}{\texttt{ }}\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30906}{}\doxysection{TSLint}\label{md_sfcode_node_modules_tslint_README_autotoc_md30906}
\+:warning\+: {\bfseries{TSLint is deprecated.}}

\begin{quote}
See this issue for more details\+: \href{https://github.com/palantir/tslint/issues/4534}{\texttt{ Roadmap\+: TSLint {$\rightarrow$} ESLint}}. If you\textquotesingle{}re interested in helping with the TSLint/\+ESLint migration, please check out our \href{https://medium.com/palantir/fellowships-for-open-source-developers-3892e6b75ee1}{\texttt{ OSS Fellowship}} program. \end{quote}
TSLint is an extensible static analysis tool that checks \href{https://github.com/Microsoft/TypeScript}{\texttt{ Type\+Script}} code for readability, maintainability, and functionality errors. It is widely supported across modern editors \& build systems and can be customized with your own lint rules, configurations, and formatters.

TSLint currently supports\+:


\begin{DoxyItemize}
\item an extensive set of core rules
\item custom lint rules
\item custom formatters (failure reporters)
\item inline disabling and enabling of rules with comment flags in source code
\item configuration presets ({\ttfamily tslint\+:latest}, {\ttfamily tslint-\/react}, etc.) and plugin composition
\item automatic fixing of formatting \& style violations
\item integration with \href{https://github.com/joshuakgoldberg/tslint.msbuild}{\texttt{ MSBuild}}, \href{https://github.com/palantir/grunt-tslint}{\texttt{ Grunt}}, \href{https://github.com/panuhorsmalahti/gulp-tslint}{\texttt{ Gulp}}, \href{https://github.com/AtomLinter/linter-tslint}{\texttt{ Atom}}, \href{https://github.com/palantir/eclipse-tslint}{\texttt{ Eclipse}}, \href{https://www.flycheck.org/}{\texttt{ Emacs}}, \href{https://packagecontrol.io/packages/SublimeLinter-contrib-tslint}{\texttt{ Sublime}}, \href{https://github.com/scrooloose/syntastic}{\texttt{ Vim}}, \href{https://marketplace.visualstudio.com/items?itemName=MadsKristensen.WebAnalyzer}{\texttt{ Visual Studio 2015}}, \href{https://marketplace.visualstudio.com/items?itemName=RichNewman.TypeScriptAnalyzer}{\texttt{ Visual Studio 2017}}, \href{https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-tslint-plugin}{\texttt{ Visual Studio code}} (alternative\+: use \href{https://marketplace.visualstudio.com/items?itemName=eg2.tslint}{\texttt{ this extension}} for TS $<$3.\+2), \href{https://www.jetbrains.com/webstorm/help/tslint.html}{\texttt{ Web\+Storm}} and \href{https://palantir.github.io/tslint/usage/third-party-tools/}{\texttt{ more}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30907}{}\doxysubsection{Installation \& Usage}\label{md_sfcode_node_modules_tslint_README_autotoc_md30907}
Please refer to the full installation \& usage documentation on the \href{https://palantir.github.io/tslint/}{\texttt{ TSLint website}}. There, you\textquotesingle{}ll find information about


\begin{DoxyItemize}
\item \href{https://palantir.github.io/tslint/usage/configuration/}{\texttt{ configuration}},
\item \href{https://palantir.github.io/tslint/rules/}{\texttt{ core rules}},
\item \href{https://palantir.github.io/tslint/formatters/}{\texttt{ core formatters}}, and
\item \href{https://palantir.github.io/tslint/develop/custom-rules/}{\texttt{ customization of TSLint}}.
\item \href{https://palantir.github.io/tslint/usage/rule-flags/}{\texttt{ inline disabling and enabling of rules with comment flags}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30908}{}\doxysubsection{TSLint Playground}\label{md_sfcode_node_modules_tslint_README_autotoc_md30908}
There is a sandbox environment for TSLint at \href{https://palantir.github.io/tslint-playground/}{\texttt{ palantir.\+github.\+io/tslint-\/playground}}, which can be used to test rules and see how TSLint works. Issues can be filed against {\ttfamily tslint-\/playground} \href{https://github.com/palantir/tslint-playground}{\texttt{ here}}.\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30909}{}\doxysubsection{Custom Rules \& Plugins}\label{md_sfcode_node_modules_tslint_README_autotoc_md30909}
\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30910}{}\doxyparagraph{Custom rule sets from Palantir}\label{md_sfcode_node_modules_tslint_README_autotoc_md30910}

\begin{DoxyItemize}
\item \href{https://github.com/palantir/tslint-react}{\texttt{ tslint-\/react}} -\/ Lint rules related to React \& JSX.
\item \href{https://github.com/palantir/tslint-blueprint}{\texttt{ tslint-\/blueprint}} -\/ Lint rules to enforce best practices with \href{https://github.com/palantir/blueprint}{\texttt{ blueprintjs libraries}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30911}{}\doxyparagraph{Custom rule sets from the community}\label{md_sfcode_node_modules_tslint_README_autotoc_md30911}
If we don\textquotesingle{}t have all the rules you\textquotesingle{}re looking for, you can either write your own \href{https://palantir.github.io/tslint/develop/custom-rules/}{\texttt{ custom rules}} or use rules implementations developed by the community. The repos below are a good source of custom rules\+:


\begin{DoxyItemize}
\item \href{https://github.com/buzinas/tslint-eslint-rules}{\texttt{ ESLint rules for TSLint}} -\/ Improve your TSLint with the missing ESLint Rules
\item \href{https://github.com/Microsoft/tslint-microsoft-contrib}{\texttt{ tslint-\/microsoft-\/contrib}} -\/ A set of TSLint rules used on some Microsoft projects
\item \href{https://github.com/mgechev/codelyzer}{\texttt{ codelyzer}} -\/ A set of tslint rules for static code analysis of Angular Type\+Script projects
\item \href{https://github.com/vrsource/vrsource-tslint-rules}{\texttt{ vrsource-\/tslint-\/rules}}
\item \href{https://github.com/jonaskello/tslint-immutable}{\texttt{ tslint-\/immutable}} -\/ TSLint rules to disable mutation in Type\+Script
\item \href{https://github.com/ajafff/tslint-consistent-codestyle}{\texttt{ tslint-\/consistent-\/codestyle}} -\/ TSLint rules to enforce consistent code style in Type\+Script
\item \href{https://github.com/SonarSource/SonarTS}{\texttt{ tslint-\/sonarts}} -\/ Bug-\/finding rules based on advanced code models to spot hard to find errors in Type\+Script
\item \href{https://github.com/Glavin001/tslint-clean-code}{\texttt{ tslint-\/clean-\/code}} -\/ A set of TSLint rules inspired by the Clean Code handbook
\item \href{https://github.com/cartant/rxjs-tslint-rules}{\texttt{ rxjs-\/tslint-\/rules}} -\/ TSLint rules for Rx\+JS
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30912}{}\doxysubsection{Development}\label{md_sfcode_node_modules_tslint_README_autotoc_md30912}
Prerequisites\+:


\begin{DoxyItemize}
\item {\ttfamily node} v7+
\item {\ttfamily yarn} v1.\+0+
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_tslint_README_autotoc_md30913}{}\doxyparagraph{Quick Start}\label{md_sfcode_node_modules_tslint_README_autotoc_md30913}

\begin{DoxyCode}{0}
\DoxyCodeLine{git clone git@github.com:palantir/tslint.git -\/-\/config core.autocrlf=input -\/-\/config core.eol=lf}
\DoxyCodeLine{yarn}
\DoxyCodeLine{yarn compile}
\DoxyCodeLine{yarn test }

\end{DoxyCode}
 