Skip to content

Commit 98fdc0f

Browse files
Merge pull request transitive-bullshit#386 from transitive-bullshit/feature/prettier-plugin-sort-imports
2 parents c2024b7 + 0b82d1d commit 98fdc0f

39 files changed

+505
-295
lines changed

.prettierrc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,14 @@
77
"bracketSpacing": true,
88
"bracketSameLine": false,
99
"arrowParens": "always",
10-
"trailingComma": "none"
10+
"trailingComma": "none",
11+
"importOrder": [
12+
"^(react/(.*)$)|^(react$)|^(next/(.*)$)|^(next$)",
13+
"<THIRD_PARTY_MODULES>",
14+
"^(@/lib/(.*)$)|^(@/components/(.*)$)|^(@/styles/(.*)$)",
15+
"^[./]"
16+
],
17+
"importOrderSeparation": true,
18+
"importOrderSortSpecifiers": true,
19+
"importOrderGroupNamespaceSpecifiers": true
1120
}

components/ErrorPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as React from 'react'
2-
import { PageHead } from './PageHead'
32

3+
import { PageHead } from './PageHead'
44
import styles from './styles.module.css'
55

66
export const ErrorPage: React.FC<{ statusCode: number }> = ({ statusCode }) => {

components/Footer.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import * as React from 'react'
2-
import { FaTwitter } from '@react-icons/all-files/fa/FaTwitter'
3-
import { FaZhihu } from '@react-icons/all-files/fa/FaZhihu'
2+
3+
import { FaEnvelopeOpenText } from '@react-icons/all-files/fa/FaEnvelopeOpenText'
44
import { FaGithub } from '@react-icons/all-files/fa/FaGithub'
55
import { FaLinkedin } from '@react-icons/all-files/fa/FaLinkedin'
6-
import { FaEnvelopeOpenText } from '@react-icons/all-files/fa/FaEnvelopeOpenText'
6+
import { FaTwitter } from '@react-icons/all-files/fa/FaTwitter'
77
import { FaYoutube } from '@react-icons/all-files/fa/FaYoutube'
8-
import { IoSunnyOutline } from '@react-icons/all-files/io5/IoSunnyOutline'
8+
import { FaZhihu } from '@react-icons/all-files/fa/FaZhihu'
99
import { IoMoonSharp } from '@react-icons/all-files/io5/IoMoonSharp'
10+
import { IoSunnyOutline } from '@react-icons/all-files/io5/IoSunnyOutline'
1011

11-
import { useDarkMode } from 'lib/use-dark-mode'
12-
import * as config from 'lib/config'
12+
import * as config from '@/lib/config'
13+
import { useDarkMode } from '@/lib/use-dark-mode'
1314

1415
import styles from './styles.module.css'
1516

components/Loading.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as React from 'react'
2-
import { LoadingIcon } from './LoadingIcon'
32

3+
import { LoadingIcon } from './LoadingIcon'
44
import styles from './styles.module.css'
55

66
export const Loading: React.FC = () => (

components/LoadingIcon.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import * as React from 'react'
2+
23
import cs from 'classnames'
4+
35
import styles from './styles.module.css'
46

57
export const LoadingIcon = (props) => {

components/NotionPage.tsx

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,31 @@
11
import * as React from 'react'
2-
import Link from 'next/link'
3-
import Image from 'next/image'
42
import dynamic from 'next/dynamic'
5-
import cs from 'classnames'
3+
import Image from 'next/image'
4+
import Link from 'next/link'
65
import { useRouter } from 'next/router'
7-
import { useSearchParam } from 'react-use'
8-
import BodyClassName from 'react-body-classname'
9-
import { PageBlock } from 'notion-types'
10-
11-
import TweetEmbed from 'react-tweet-embed'
126

13-
// core notion renderer
7+
import cs from 'classnames'
8+
import { PageBlock } from 'notion-types'
9+
import { formatDate, getBlockTitle, getPageProperty } from 'notion-utils'
10+
import BodyClassName from 'react-body-classname'
1411
import { NotionRenderer } from 'react-notion-x'
12+
import TweetEmbed from 'react-tweet-embed'
13+
import { useSearchParam } from 'react-use'
1514

16-
// utils
17-
import { getBlockTitle, getPageProperty, formatDate } from 'notion-utils'
18-
import { mapPageUrl, getCanonicalPageUrl } from 'lib/map-page-url'
19-
import { mapImageUrl } from 'lib/map-image-url'
20-
import { searchNotion } from 'lib/search-notion'
21-
import { useDarkMode } from 'lib/use-dark-mode'
22-
import * as types from 'lib/types'
23-
import * as config from 'lib/config'
15+
import * as config from '@/lib/config'
16+
import * as types from '@/lib/types'
17+
import { mapImageUrl } from '@/lib/map-image-url'
18+
import { getCanonicalPageUrl, mapPageUrl } from '@/lib/map-page-url'
19+
import { searchNotion } from '@/lib/search-notion'
20+
import { useDarkMode } from '@/lib/use-dark-mode'
2421

25-
// components
22+
import { Footer } from './Footer'
23+
import { GitHubShareButton } from './GitHubShareButton'
2624
import { Loading } from './Loading'
25+
import { NotionPageHeader } from './NotionPageHeader'
2726
import { Page404 } from './Page404'
28-
import { PageHead } from './PageHead'
2927
import { PageAside } from './PageAside'
30-
import { Footer } from './Footer'
31-
import { NotionPageHeader } from './NotionPageHeader'
32-
import { GitHubShareButton } from './GitHubShareButton'
33-
28+
import { PageHead } from './PageHead'
3429
import styles from './styles.module.css'
3530

3631
// -----------------------------------------------------------------------------

components/NotionPageHeader.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import * as React from 'react'
2-
import cs from 'classnames'
3-
import { IoSunnyOutline } from '@react-icons/all-files/io5/IoSunnyOutline'
4-
import { IoMoonSharp } from '@react-icons/all-files/io5/IoMoonSharp'
5-
import { Header, Breadcrumbs, Search, useNotionContext } from 'react-notion-x'
2+
63
import * as types from 'notion-types'
4+
import { IoMoonSharp } from '@react-icons/all-files/io5/IoMoonSharp'
5+
import { IoSunnyOutline } from '@react-icons/all-files/io5/IoSunnyOutline'
6+
import cs from 'classnames'
7+
import { Breadcrumbs, Header, Search, useNotionContext } from 'react-notion-x'
78

8-
import { useDarkMode } from 'lib/use-dark-mode'
9-
import { navigationStyle, navigationLinks, isSearchEnabled } from 'lib/config'
9+
import { isSearchEnabled, navigationLinks, navigationStyle } from '@/lib/config'
10+
import { useDarkMode } from '@/lib/use-dark-mode'
1011

1112
import styles from './styles.module.css'
1213

components/Page404.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import * as React from 'react'
2-
import * as types from 'lib/types'
3-
import { PageHead } from './PageHead'
42

3+
import * as types from '@/lib/types'
4+
5+
import { PageHead } from './PageHead'
56
import styles from './styles.module.css'
67

78
export const Page404: React.FC<types.PageProps> = ({ site, pageId, error }) => {

components/PageActions.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import * as React from 'react'
2-
import { IoHeartOutline } from '@react-icons/all-files/io5/IoHeartOutline'
2+
33
import { AiOutlineRetweet } from '@react-icons/all-files/ai/AiOutlineRetweet'
4+
import { IoHeartOutline } from '@react-icons/all-files/io5/IoHeartOutline'
45

56
import styles from './styles.module.css'
67

components/PageAside.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import * as React from 'react'
2+
23
import { Block, ExtendedRecordMap } from 'notion-types'
34

5+
import { getPageTweet } from '@/lib/get-page-tweet'
6+
47
import { PageActions } from './PageActions'
58
import { PageSocial } from './PageSocial'
69

7-
import { getPageTweet } from 'lib/get-page-tweet'
8-
910
export const PageAside: React.FC<{
1011
block: Block
1112
recordMap: ExtendedRecordMap

0 commit comments

Comments
 (0)