diff --git a/package.json b/package.json
index f163a5fefd..2416290ccb 100644
--- a/package.json
+++ b/package.json
@@ -45,7 +45,7 @@
"prettier-docs": "prettier --config .prettierrc --write \"**/*.{md,mdx}\"",
"prettier-docs:diff": "prettier --config .prettierrc --list-different \"**/*.{md,mdx}\"",
"lint": "yarn lint:js && yarn lint:style",
- "lint:ci": "yarn lint:js --quiet && yarn lint:style",
+ "lint:ci": "yarn lint:js --quiet --report-unused-disable-directives && yarn lint:style",
"lint:js": "eslint --cache \"**/*.{js,jsx,ts,tsx}\"",
"lint:style": "stylelint \"**/*.css\"",
"lerna": "lerna",
diff --git a/packages/docusaurus-mdx-loader/src/remark/headings/__tests__/index.test.ts b/packages/docusaurus-mdx-loader/src/remark/headings/__tests__/index.test.ts
index 90153a2da2..a317cf4001 100644
--- a/packages/docusaurus-mdx-loader/src/remark/headings/__tests__/index.test.ts
+++ b/packages/docusaurus-mdx-loader/src/remark/headings/__tests__/index.test.ts
@@ -7,8 +7,6 @@
/* Based on remark-slug (https://github.com/remarkjs/remark-slug) and gatsby-remark-autolink-headers (https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-remark-autolink-headers) */
-/* eslint-disable no-param-reassign */
-
import remark from 'remark';
import u from 'unist-builder';
import removePosition from 'unist-util-remove-position';
diff --git a/packages/docusaurus-mdx-loader/src/remark/transformLinks/index.ts b/packages/docusaurus-mdx-loader/src/remark/transformLinks/index.ts
index e17aad681a..236037bc83 100644
--- a/packages/docusaurus-mdx-loader/src/remark/transformLinks/index.ts
+++ b/packages/docusaurus-mdx-loader/src/remark/transformLinks/index.ts
@@ -53,8 +53,6 @@ function toAssetRequireNode({
filePath: string;
requireAssetPath: string;
}) {
- /* eslint-disable no-param-reassign */
-
let relativeRequireAssetPath = posixPath(
path.relative(path.dirname(filePath), requireAssetPath),
);
diff --git a/packages/docusaurus-plugin-content-blog/src/__tests__/index.test.ts b/packages/docusaurus-plugin-content-blog/src/__tests__/index.test.ts
index eee9cf72c3..ef628a2d2d 100644
--- a/packages/docusaurus-plugin-content-blog/src/__tests__/index.test.ts
+++ b/packages/docusaurus-plugin-content-blog/src/__tests__/index.test.ts
@@ -5,8 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-/* eslint-disable @typescript-eslint/no-non-null-assertion */
-
import fs from 'fs-extra';
import path from 'path';
import pluginContentBlog from '../index';
diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.ts
index d75192ed7c..3c3db4679b 100644
--- a/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.ts
+++ b/packages/docusaurus-plugin-content-docs/src/__tests__/index.test.ts
@@ -5,8 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-/* eslint-disable @typescript-eslint/no-non-null-assertion */
-
import path from 'path';
import {isMatch} from 'picomatch';
import commander from 'commander';
diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.ts
index 72042351f4..bdcf6755bb 100644
--- a/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.ts
+++ b/packages/docusaurus-plugin-content-docs/src/__tests__/sidebars.test.ts
@@ -30,8 +30,6 @@ import {
} from '../types';
import {DefaultSidebarItemsGenerator} from '../sidebarItemsGenerator';
-/* eslint-disable global-require, import/no-dynamic-require */
-
describe('loadSidebars', () => {
const fixtureDir = path.join(__dirname, '__fixtures__', 'sidebars');
const options: SidebarOptions = {
diff --git a/packages/docusaurus-plugin-content-docs/src/types.ts b/packages/docusaurus-plugin-content-docs/src/types.ts
index 16f977883c..dea4fe7487 100644
--- a/packages/docusaurus-plugin-content-docs/src/types.ts
+++ b/packages/docusaurus-plugin-content-docs/src/types.ts
@@ -5,7 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-// eslint-disable-next-line spaced-comment
///
import type {RemarkAndRehypePluginOptions} from '@docusaurus/mdx-loader';
diff --git a/packages/docusaurus-remark-plugin-npm2yarn/src/__tests__/index.test.js b/packages/docusaurus-remark-plugin-npm2yarn/src/__tests__/index.test.js
index bdb0f37789..77eca4cbd7 100644
--- a/packages/docusaurus-remark-plugin-npm2yarn/src/__tests__/index.test.js
+++ b/packages/docusaurus-remark-plugin-npm2yarn/src/__tests__/index.test.js
@@ -5,8 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-/* eslint-disable no-param-reassign */
-
import remark from 'remark';
import npm2yarn from '../index';
import vfile from 'to-vfile';
diff --git a/packages/docusaurus-theme-bootstrap/src/types.d.ts b/packages/docusaurus-theme-bootstrap/src/types.d.ts
index 0a5764eda0..db0bbee500 100644
--- a/packages/docusaurus-theme-bootstrap/src/types.d.ts
+++ b/packages/docusaurus-theme-bootstrap/src/types.d.ts
@@ -5,8 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-/* eslint-disable import/no-duplicates */
-/* eslint-disable spaced-comment */
///
///
///
diff --git a/packages/docusaurus-theme-classic/src/theme/BlogArchivePage/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogArchivePage/index.tsx
index a6c4099cf0..dda63da77c 100644
--- a/packages/docusaurus-theme-classic/src/theme/BlogArchivePage/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/BlogArchivePage/index.tsx
@@ -65,7 +65,7 @@ function listPostsByYears(blogPosts: readonly ArchiveBlogPost[]): YearProp[] {
}));
}
-export default function BlogArchive({archive}: Props) {
+export default function BlogArchive({archive}: Props): JSX.Element {
const title = translate({
id: 'theme.blog.archive.title',
message: 'Archive',
diff --git a/packages/docusaurus-theme-classic/src/theme/CodeBlock/index.tsx b/packages/docusaurus-theme-classic/src/theme/CodeBlock/index.tsx
index 65383d93e3..bc4929168d 100644
--- a/packages/docusaurus-theme-classic/src/theme/CodeBlock/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/CodeBlock/index.tsx
@@ -224,7 +224,7 @@ export default function CodeBlock({
{tokens.map((line, i) => {
if (line.length === 1 && line[0].content === '') {
- line[0].content = '\n'; // eslint-disable-line no-param-reassign
+ line[0].content = '\n';
}
const lineProps = getLineProps({line, key: i});
diff --git a/packages/docusaurus-theme-classic/src/theme/Heading/index.tsx b/packages/docusaurus-theme-classic/src/theme/Heading/index.tsx
index 54a80d57af..8439f747b2 100644
--- a/packages/docusaurus-theme-classic/src/theme/Heading/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/Heading/index.tsx
@@ -5,8 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-/* eslint-disable jsx-a11y/anchor-has-content, jsx-a11y/anchor-is-valid */
-
import React from 'react';
import clsx from 'clsx';
import type {HeadingType, Props} from '@theme/Heading';
diff --git a/packages/docusaurus-theme-classic/src/theme/TagsListInline/index.tsx b/packages/docusaurus-theme-classic/src/theme/TagsListInline/index.tsx
index f176308550..abf7bb497f 100644
--- a/packages/docusaurus-theme-classic/src/theme/TagsListInline/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/TagsListInline/index.tsx
@@ -13,7 +13,7 @@ import type {Props} from '@theme/TagsListInline';
import styles from './styles.module.css';
-export default function TagsListInline({tags}: Props) {
+export default function TagsListInline({tags}: Props): JSX.Element {
return (
<>
diff --git a/packages/docusaurus-theme-classic/src/types.d.ts b/packages/docusaurus-theme-classic/src/types.d.ts
index e4aa3fd539..fd8bd37080 100644
--- a/packages/docusaurus-theme-classic/src/types.d.ts
+++ b/packages/docusaurus-theme-classic/src/types.d.ts
@@ -5,8 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-/* eslint-disable import/no-duplicates */
-/* eslint-disable spaced-comment */
///
///
///
diff --git a/packages/docusaurus-theme-common/src/types.d.ts b/packages/docusaurus-theme-common/src/types.d.ts
index 0c774660fb..db5e128fd3 100644
--- a/packages/docusaurus-theme-common/src/types.d.ts
+++ b/packages/docusaurus-theme-common/src/types.d.ts
@@ -5,7 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-/* eslint-disable spaced-comment */
///
///
///
diff --git a/packages/docusaurus-theme-common/src/utils/tagsUtils.ts b/packages/docusaurus-theme-common/src/utils/tagsUtils.ts
index ca53b77030..edd29f2c8f 100644
--- a/packages/docusaurus-theme-common/src/utils/tagsUtils.ts
+++ b/packages/docusaurus-theme-common/src/utils/tagsUtils.ts
@@ -7,7 +7,7 @@
import {translate} from '@docusaurus/Translate';
-export const translateTagsPageTitle = () =>
+export const translateTagsPageTitle = (): string =>
translate({
id: 'theme.tags.tagsPageTitle',
message: 'Tags',
diff --git a/packages/docusaurus/src/client/docusaurus.ts b/packages/docusaurus/src/client/docusaurus.ts
index 4de063af3c..467ac2b8f1 100644
--- a/packages/docusaurus/src/client/docusaurus.ts
+++ b/packages/docusaurus/src/client/docusaurus.ts
@@ -15,7 +15,7 @@ const fetched: Record = {};
const loaded: Record = {};
declare global {
- // eslint-disable-next-line camelcase, @typescript-eslint/no-explicit-any
+ // eslint-disable-next-line camelcase
const __webpack_require__: {gca: (name: string) => string};
interface Navigator {
connection: {effectiveType: string; saveData: boolean};
@@ -82,7 +82,6 @@ const docusaurus = {
chunkNamesNeeded.forEach((chunkName) => {
// "__webpack_require__.gca" is a custom function provided by ChunkAssetPlugin.
// Pass it the chunkName or chunkId you want to load and it will return the URL for that chunk.
- // eslint-disable-next-line no-undef
const chunkAsset = __webpack_require__.gca(chunkName);
// In some cases, webpack might decide to optimize further & hence the chunk assets are merged to another chunk/previous chunk.
diff --git a/packages/docusaurus/src/client/types.d.ts b/packages/docusaurus/src/client/types.d.ts
index 37777ca928..6f6f99f127 100644
--- a/packages/docusaurus/src/client/types.d.ts
+++ b/packages/docusaurus/src/client/types.d.ts
@@ -5,7 +5,4 @@
* LICENSE file in the root directory of this source tree.
*/
-// triple slash is important to keep,
-// see https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
-// eslint-disable-next-line
///
diff --git a/packages/docusaurus/src/server/routes.ts b/packages/docusaurus/src/server/routes.ts
index 9f3ed811c1..9e3de447fa 100644
--- a/packages/docusaurus/src/server/routes.ts
+++ b/packages/docusaurus/src/server/routes.ts
@@ -37,7 +37,7 @@ const createRouteCodeString = ({
routeHash: string;
exact?: boolean;
subroutesCodeStrings?: string[];
- props: {[propName: string]: any};
+ props: {[propName: string]: unknown};
}) => {
const parts = [
`path: '${routePath}'`,
diff --git a/packages/docusaurus/src/server/themes/index.ts b/packages/docusaurus/src/server/themes/index.ts
index a5bbc1a1c0..37cecdc9ca 100644
--- a/packages/docusaurus/src/server/themes/index.ts
+++ b/packages/docusaurus/src/server/themes/index.ts
@@ -19,10 +19,8 @@ function buildThemeAliases(
Object.keys(themeAliases).forEach((aliasKey) => {
if (aliasKey in aliases) {
const componentName = aliasKey.substring(aliasKey.indexOf('/') + 1);
- // eslint-disable-next-line no-param-reassign
aliases[`@theme-init/${componentName}`] = aliases[aliasKey];
}
- // eslint-disable-next-line no-param-reassign
aliases[aliasKey] = themeAliases[aliasKey];
});
return aliases;
diff --git a/packages/docusaurus/src/server/types.d.ts b/packages/docusaurus/src/server/types.d.ts
index 37777ca928..6f6f99f127 100644
--- a/packages/docusaurus/src/server/types.d.ts
+++ b/packages/docusaurus/src/server/types.d.ts
@@ -5,7 +5,4 @@
* LICENSE file in the root directory of this source tree.
*/
-// triple slash is important to keep,
-// see https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
-// eslint-disable-next-line
///
diff --git a/packages/docusaurus/src/webpack/utils.ts b/packages/docusaurus/src/webpack/utils.ts
index 64123417e6..c29441c4ca 100644
--- a/packages/docusaurus/src/webpack/utils.ts
+++ b/packages/docusaurus/src/webpack/utils.ts
@@ -89,7 +89,7 @@ export function getStyleLoaders(
// https://github.com/facebook/create-react-app/issues/2677
ident: 'postcss',
plugins: [
- // eslint-disable-next-line @typescript-eslint/no-var-requires, global-require
+ // eslint-disable-next-line global-require
require('autoprefixer'),
],
},
@@ -244,7 +244,7 @@ export function applyConfigurePostCss(
// TODO not ideal heuristic but good enough for our usecase?
function isPostCssLoader(loader: unknown): loader is LocalPostCSSLoader {
- return !!(loader as any)?.options?.postcssOptions;
+ return !!(loader as LocalPostCSSLoader)?.options?.postcssOptions;
}
// Does not handle all edge cases, but good enough for now