
Published under: Storytime
7 min read
We just pushed ESLint v8.37.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.
SourceCode#getScope(node) to get the scope of the given node. The node argument is mandatory. This method works the same as context.getScope() but isn’t limited to the currently traversed node. The context.getScope() method is now considered deprecated in favor of SourceCode#getScope(node). This change is part of the implementation of language plugins.meta object with name and version properties to allow for easier debugging and more effective caching. In the new config system, ESLint uses these values when serializing configuration objects (for example, the –print-config CLI option) and when determining whether cached lint results (the --cache CLI option) are still valid. If a parser/plugin provides meta, ESLint can now invalidate caches when a new version of the parser/plugin is installed.languageOptions.parser must now be a parser object. Referencing parsers by "pluginName/parserName" is no longer supported.b6ab8b2 feat: require-unicode-regexp add suggestions (#17007) (Josh Goldberg)10022b1 feat: Copy getScope() to SourceCode (#17004) (Nicholas C. Zakas)1665c02 feat: Use plugin metadata for flat config serialization (#16992) (Nicholas C. Zakas)b3634f6 feat: docs license (#17010) (Samuel Roldan)892e6e5 feat: languageOptions.parser must be an object. (#16985) (Nicholas C. Zakas)619f3fd fix: correctly handle null default config in RuleTester (#17023) (Brad Zacher)1fbf118 fix: getFirstToken/getLastToken on comment-only node (#16889) (Francesco Trotta)129e252 fix: Fix typo in logical-assignment-operators rule description (#17000) (Francesco Trotta)75339df docs: fix typos and missing info in id-match docs (#17029) (Ed Lucas)ec2d830 docs: Fix typos in the semi rule docs (#17012) (Andrii Lundiak)e39f28d docs: add back to top button (#16979) (Tanuj Kanti)721c717 docs: Custom Processors cleanup and expansion (#16838) (Ben Perlmutter)d049f97 docs: ‘How ESLint is Maintained’ page (#16961) (Ben Perlmutter)5251a92 docs: Describe guard options for guard-for-in (#16986) (alope107)6157d81 docs: Add example to guard-for-in docs. (#16983) (alope107)fd47998 docs: update Array.prototype.toSorted specification link (#16982) (Milos Djermanovic)3e1cf6b docs: Copy edits on Maintain ESLint docs (#16939) (Ben Perlmutter)c67f299 chore: upgrade @eslint/js@8.37.0 (#17033) (Milos Djermanovic)ee9ddbd chore: package.json update for @eslint/js release (ESLint Jenkins)dddb475 chore: upgrade @eslint/eslintrc@2.0.2 (#17032) (Milos Djermanovic)522431e chore: upgrade espree@9.5.1 (#17031) (Milos Djermanovic)f5f9a88 chore: upgrade eslint-visitor-keys@3.4.0 (#17030) (Milos Djermanovic)4dd8d52 ci: bump actions/stale from 7 to 8 (#17026) (dependabot[bot])ad9dd6a chore: remove duplicate scss, (#17005) (Strek)ada6a3e ci: unpin Node 19 (#16993) (Milos Djermanovic)c3da975 chore: Remove triage label from template (#16990) (Nicholas C. Zakas)69bc0e2 ci: pin Node 19 to 19.7.0 (#16987) (Milos Djermanovic)The latest ESLint news, case studies, tutorials, and resources.


