# ESLint - Designed to lint [[js|JavaScript]] code - Core Concets - Rules - Parsers - Processors - extracts JS code from other files, and/or process JS code. ## Config - Flat config system - [Configuration Files](https://eslint.org/docs/latest/use/configure/configuration-files) - [ESLint's new config system, Part 2: Introduction to flat config](https://eslint.org/blog/2022/08/new-config-system-part-2/) - The config is an array of config objects: `defineConfig([...])`. - "Each [configuration object](https://eslint.org/docs/latest/use/configure/configuration-files#configuration-objects) contains all of the information ESLint needs to execute on a set of files." - When multiple config objects apply to the same file, they are merged and the later one takes precedence. ## [[ts|TypeScript]] ESLint - [`typescript-eslint`](https://typescript-eslint.io/) - Allows ESLint to parse TS code, and provides rules that are type based. - [Project Service](https://typescript-eslint.io/blog/announcing-typescript-eslint-v8/#project-service) - A way to enable type linting that is "generally easier to configure and faster at runtime".