diff --git a/.eslintrc.js b/.eslintrc.js index 91c98e1135..c76cc234dc 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -249,6 +249,14 @@ module.exports = { 'type', ], pathGroups: [ + // always put css import to the last, ref: + // https://github.com/import-js/eslint-plugin-import/issues/1239 + { + pattern: '*.+(css|sass|less|scss|pcss|styl)', + group: 'unknown', + patternOptions: {matchBase: true}, + position: 'after', + }, {pattern: '@jest/globals', group: 'builtin', position: 'before'}, {pattern: 'react', group: 'builtin', position: 'before'}, {pattern: 'fs-extra', group: 'builtin'}, @@ -265,6 +273,10 @@ module.exports = { {pattern: '@theme-original/**', group: 'internal'}, ], pathGroupsExcludedImportTypes: [], + // example: let `import './nprogress.css';` after importing others + // in `packages/docusaurus-theme-classic/src/nprogress.ts` + // see more: https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md#warnonunassignedimports-truefalse + warnOnUnassignedImports: true, }, ], 'import/prefer-default-export': OFF, diff --git a/packages/docusaurus-theme-classic/src/nprogress.ts b/packages/docusaurus-theme-classic/src/nprogress.ts index 7e5103b98e..d9376953d1 100644 --- a/packages/docusaurus-theme-classic/src/nprogress.ts +++ b/packages/docusaurus-theme-classic/src/nprogress.ts @@ -6,9 +6,10 @@ */ import nprogress from 'nprogress'; -import './nprogress.css'; import type {ClientModule} from '@docusaurus/types'; +import './nprogress.css'; + nprogress.configure({showSpinner: false}); const delay = 200; diff --git a/packages/docusaurus-theme-classic/src/theme/DocCard/index.tsx b/packages/docusaurus-theme-classic/src/theme/DocCard/index.tsx index 7409ee9703..db0bda7435 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocCard/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/DocCard/index.tsx @@ -14,14 +14,15 @@ import { } from '@docusaurus/theme-common/internal'; import isInternalUrl from '@docusaurus/isInternalUrl'; import {translate} from '@docusaurus/Translate'; -import type {Props} from '@theme/DocCard'; -import styles from './styles.module.css'; +import type {Props} from '@theme/DocCard'; import type { PropSidebarItemCategory, PropSidebarItemLink, } from '@docusaurus/plugin-content-docs'; +import styles from './styles.module.css'; + function CardContainer({ href, children, diff --git a/packages/docusaurus-theme-live-codeblock/src/theme/Playground/index.tsx b/packages/docusaurus-theme-live-codeblock/src/theme/Playground/index.tsx index 81fa2ea65b..6353159ba2 100644 --- a/packages/docusaurus-theme-live-codeblock/src/theme/Playground/index.tsx +++ b/packages/docusaurus-theme-live-codeblock/src/theme/Playground/index.tsx @@ -13,10 +13,11 @@ import Translate from '@docusaurus/Translate'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import BrowserOnly from '@docusaurus/BrowserOnly'; import {usePrismTheme} from '@docusaurus/theme-common'; + import type {Props} from '@theme/Playground'; +import type {ThemeConfig} from '@docusaurus/theme-live-codeblock'; import styles from './styles.module.css'; -import type {ThemeConfig} from '@docusaurus/theme-live-codeblock'; function Header({children}: {children: React.ReactNode}) { return