From f0f6342acbb7ff1fac03b3bebc3f10018b164e3f Mon Sep 17 00:00:00 2001 From: Duke Manh Date: Thu, 6 Oct 2022 03:59:18 +0000 Subject: [PATCH] use module aliases vs relative paths --- src/web/app/src/components/AdminButtons.tsx | 2 +- src/web/app/src/components/AuthProvider.tsx | 2 +- src/web/app/src/components/Banner.tsx | 2 +- src/web/app/src/components/BannerButtons.tsx | 4 +-- .../app/src/components/BannerDynamicItems.tsx | 2 +- .../app/src/components/DependenciesPage.tsx | 2 +- .../src/components/DependenciesTable/Row.tsx | 2 +- .../components/DependenciesTable/index.tsx | 2 +- src/web/app/src/components/DynamicImage.tsx | 2 +- .../src/components/GenericInfoProvider.tsx | 2 +- .../src/components/GitHubContributorCard.tsx | 2 +- .../app/src/components/LanguageSelector.tsx | 2 +- src/web/app/src/components/Login/LoggedIn.tsx | 4 +-- .../app/src/components/Login/LoggedOut.tsx | 4 +-- src/web/app/src/components/Login/index.tsx | 2 +- src/web/app/src/components/NavBar/index.tsx | 8 +++--- .../components/Posts/GitHubInfo/Commits.tsx | 2 +- .../Posts/GitHubInfo/GitHubInfoMobile.tsx | 2 +- .../components/Posts/GitHubInfo/Issues.tsx | 2 +- .../Posts/GitHubInfo/PullRequests.tsx | 2 +- .../src/components/Posts/GitHubInfo/Repos.tsx | 2 +- .../src/components/Posts/GitHubInfo/Users.tsx | 4 +-- .../src/components/Posts/GitHubInfo/index.tsx | 2 +- src/web/app/src/components/Posts/Post.tsx | 8 +++--- src/web/app/src/components/Posts/PostInfo.tsx | 2 +- src/web/app/src/components/Posts/Timeline.tsx | 2 +- .../Posts/YouTubeInfo/YouTubeInfoMobile.tsx | 2 +- .../components/Posts/YouTubeInfo/index.tsx | 2 +- src/web/app/src/components/Posts/index.tsx | 6 ++-- src/web/app/src/components/SEO.tsx | 2 +- .../components/SearchInput/AuthorInput.tsx | 2 +- src/web/app/src/components/SearchResults.tsx | 2 +- .../src/components/SignUp/Forms/BasicInfo.tsx | 4 +-- .../components/SignUp/Forms/GitHubAccount.tsx | 4 +-- .../src/components/SignUp/Forms/RSSFeeds.tsx | 6 ++-- .../src/components/SignUp/Forms/Review.tsx | 4 +-- src/web/app/src/components/ThemeProvider.tsx | 4 +-- src/web/app/src/components/YouTubeInfo.tsx | 2 +- src/web/app/src/hooks/use-auth.ts | 2 +- src/web/app/src/hooks/use-favicon-badge.ts | 2 +- src/web/app/src/hooks/use-genericInfo.ts | 4 +-- src/web/app/src/pages/_app.tsx | 10 +++---- src/web/app/src/pages/_document.tsx | 6 ++-- src/web/app/src/pages/dependencies.tsx | 6 ++-- src/web/app/src/pages/error.tsx | 2 +- src/web/app/src/pages/index.tsx | 8 +++--- src/web/app/src/pages/search.tsx | 6 ++-- src/web/app/src/pages/signup.tsx | 28 +++++++++---------- src/web/app/tsconfig.json | 12 +++++++- 49 files changed, 104 insertions(+), 94 deletions(-) diff --git a/src/web/app/src/components/AdminButtons.tsx b/src/web/app/src/components/AdminButtons.tsx index f66645037d..afad8a9618 100644 --- a/src/web/app/src/components/AdminButtons.tsx +++ b/src/web/app/src/components/AdminButtons.tsx @@ -2,7 +2,7 @@ import { makeStyles, Theme } from '@material-ui/core/styles'; import { IconButton } from '@material-ui/core'; import FlagIcon from '@material-ui/icons/Flag'; import DeleteIcon from '@material-ui/icons/Delete'; -import useAuth from '../hooks/use-auth'; +import useAuth from '@hooks/use-auth'; const useStyles = makeStyles((theme: Theme) => ({ adminButtons: { diff --git a/src/web/app/src/components/AuthProvider.tsx b/src/web/app/src/components/AuthProvider.tsx index 2e60b04dd3..d6254f653b 100644 --- a/src/web/app/src/components/AuthProvider.tsx +++ b/src/web/app/src/components/AuthProvider.tsx @@ -6,7 +6,7 @@ import type { SupabaseClient } from '@supabase/supabase-js'; import supabase from '../supabase'; import User from '../User'; -import { loginUrl, logoutUrl, webUrl } from '../config'; +import { loginUrl, logoutUrl, webUrl } from '@config'; export interface AuthContextInterface { login: (returnTo?: string) => void; diff --git a/src/web/app/src/components/Banner.tsx b/src/web/app/src/components/Banner.tsx index ef941b9a7d..9e1098dd25 100644 --- a/src/web/app/src/components/Banner.tsx +++ b/src/web/app/src/components/Banner.tsx @@ -3,7 +3,7 @@ import { BsInfoCircle } from 'react-icons/bs'; import { makeStyles, Theme, createStyles, Typography, Fab } from '@material-ui/core'; import smoothscroll from 'smoothscroll-polyfill'; import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown'; -import { gitCommitSha, webUrl, statusUrl } from '../config'; +import { gitCommitSha, webUrl, statusUrl } from '@config'; import BannerDynamicItems from './BannerDynamicItems'; import BannerButtons from './BannerButtons'; import ScrollAction from './ScrollAction'; diff --git a/src/web/app/src/components/BannerButtons.tsx b/src/web/app/src/components/BannerButtons.tsx index 65e47b90c7..dd189d8921 100644 --- a/src/web/app/src/components/BannerButtons.tsx +++ b/src/web/app/src/components/BannerButtons.tsx @@ -3,10 +3,10 @@ import { useRouter } from 'next/router'; import { makeStyles, Tooltip, withStyles, Zoom } from '@material-ui/core'; import Button from '@material-ui/core/Button'; import clsx from 'clsx'; -import useAuth from '../hooks/use-auth'; +import useAuth from '@hooks/use-auth'; import TelescopeAvatar from './TelescopeAvatar'; import PopUp from './PopUp'; -import { webUrl } from '../config'; +import { webUrl } from '@config'; const useStyles = makeStyles((theme) => ({ buttonsContainer: { diff --git a/src/web/app/src/components/BannerDynamicItems.tsx b/src/web/app/src/components/BannerDynamicItems.tsx index 9c4445932c..01d24c17d6 100644 --- a/src/web/app/src/components/BannerDynamicItems.tsx +++ b/src/web/app/src/components/BannerDynamicItems.tsx @@ -2,7 +2,7 @@ import { makeStyles } from '@material-ui/core/styles'; import NoSsr from '@material-ui/core/NoSsr'; import DynamicImage from './DynamicImage'; -import { imageServiceUrl } from '../config'; +import { imageServiceUrl } from '@config'; const useStyles = makeStyles((theme) => ({ dynamic: { diff --git a/src/web/app/src/components/DependenciesPage.tsx b/src/web/app/src/components/DependenciesPage.tsx index 0bec5d653c..25da573d3f 100644 --- a/src/web/app/src/components/DependenciesPage.tsx +++ b/src/web/app/src/components/DependenciesPage.tsx @@ -5,7 +5,7 @@ import IconButton from '@mui/material/IconButton'; import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp'; -import { dependencyDiscoveryUrl } from '../config'; +import { dependencyDiscoveryUrl } from '@config'; import DependenciesTable from './DependenciesTable'; const useStyles = makeStyles((theme) => ({ diff --git a/src/web/app/src/components/DependenciesTable/Row.tsx b/src/web/app/src/components/DependenciesTable/Row.tsx index 3952015f75..4196ab70bb 100644 --- a/src/web/app/src/components/DependenciesTable/Row.tsx +++ b/src/web/app/src/components/DependenciesTable/Row.tsx @@ -14,7 +14,7 @@ import { FiPackage } from 'react-icons/fi'; import useSWR from 'swr'; import CircularProgress from '@mui/material/CircularProgress'; -import { dependencyDiscoveryUrl } from '../../config'; +import { dependencyDiscoveryUrl } from '@config'; const useStyles = makeStyles((theme) => ({ root: { diff --git a/src/web/app/src/components/DependenciesTable/index.tsx b/src/web/app/src/components/DependenciesTable/index.tsx index 4442e6082c..d573868a57 100644 --- a/src/web/app/src/components/DependenciesTable/index.tsx +++ b/src/web/app/src/components/DependenciesTable/index.tsx @@ -6,7 +6,7 @@ import TablePagination from '@mui/material/TablePagination'; import { makeStyles } from '@material-ui/core/styles'; import Row from './Row'; -import SearchInput from '../SearchInput/SearchInput'; +import SearchInput from '@components/SearchInput/SearchInput'; const useStyles = makeStyles((theme) => ({ root: { diff --git a/src/web/app/src/components/DynamicImage.tsx b/src/web/app/src/components/DynamicImage.tsx index 6a5584c1d1..2a6b4135ff 100644 --- a/src/web/app/src/components/DynamicImage.tsx +++ b/src/web/app/src/components/DynamicImage.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; import { makeStyles } from '@material-ui/core/styles'; import clsx from 'clsx'; -import { imageServiceUrl } from '../config'; +import { imageServiceUrl } from '@config'; const useStyles = makeStyles(() => ({ img: { diff --git a/src/web/app/src/components/GenericInfoProvider.tsx b/src/web/app/src/components/GenericInfoProvider.tsx index 5fabdff67d..55ab4cf5fe 100644 --- a/src/web/app/src/components/GenericInfoProvider.tsx +++ b/src/web/app/src/components/GenericInfoProvider.tsx @@ -1,7 +1,7 @@ import { createContext, useMemo, ReactNode } from 'react'; import { parseGitHubUrls, GitHubInfo } from '@senecacdot/github-url-parser'; -import { Post } from '../interfaces'; +import { Post } from '@interfaces'; import { YouTubeInfoContextInterface, extractYouTubeInfo } from './YouTubeInfo'; type GenericInfoContextInterface = { diff --git a/src/web/app/src/components/GitHubContributorCard.tsx b/src/web/app/src/components/GitHubContributorCard.tsx index 5475dc0053..8dbdb433cb 100644 --- a/src/web/app/src/components/GitHubContributorCard.tsx +++ b/src/web/app/src/components/GitHubContributorCard.tsx @@ -1,6 +1,6 @@ import { makeStyles } from '@material-ui/core/styles'; import { Card, CardContent, Typography, Avatar, Grid } from '@material-ui/core'; -import useTelescopeContributor from '../hooks/use-telescope-contributor'; +import useTelescopeContributor from '@hooks/use-telescope-contributor'; const contributionsCount = (contributions: number) => contributions < 2 ? '1 contribution.' : `${contributions} contributions.`; diff --git a/src/web/app/src/components/LanguageSelector.tsx b/src/web/app/src/components/LanguageSelector.tsx index de4579ebb2..d06f30bb1d 100644 --- a/src/web/app/src/components/LanguageSelector.tsx +++ b/src/web/app/src/components/LanguageSelector.tsx @@ -2,7 +2,7 @@ import { createContext, ChangeEvent, useState } from 'react'; import { FormControl, Grid, InputLabel, MenuItem, Select } from '@material-ui/core'; import { makeStyles } from '@material-ui/core/styles'; -import { setLang, getLang } from '../translations/i18n'; +import { setLang, getLang } from '@translations/i18n'; export interface TranslationInterface { currentLanguage: string; diff --git a/src/web/app/src/components/Login/LoggedIn.tsx b/src/web/app/src/components/Login/LoggedIn.tsx index 96f4c7dc82..1271fb45d4 100644 --- a/src/web/app/src/components/Login/LoggedIn.tsx +++ b/src/web/app/src/components/Login/LoggedIn.tsx @@ -1,7 +1,7 @@ import PowerSettingsNewIcon from '@material-ui/icons/PowerSettingsNew'; -import useAuth from '../../hooks/use-auth'; -import NavBarButton, { NavBarIconProps } from '../NavBar/NavBarButton'; +import useAuth from '@hooks/use-auth'; +import NavBarButton, { NavBarIconProps } from '@components/NavBar/NavBarButton'; const LoggedIn = () => { const { logout, user } = useAuth(); diff --git a/src/web/app/src/components/Login/LoggedOut.tsx b/src/web/app/src/components/Login/LoggedOut.tsx index c89670530d..d82482172e 100644 --- a/src/web/app/src/components/Login/LoggedOut.tsx +++ b/src/web/app/src/components/Login/LoggedOut.tsx @@ -1,7 +1,7 @@ import ExitToAppIcon from '@material-ui/icons/ExitToApp'; -import NavBarButton from '../NavBar/NavBarButton'; -import useAuth from '../../hooks/use-auth'; +import NavBarButton from '@components/NavBar/NavBarButton'; +import useAuth from '@hooks/use-auth'; const LoggedOut = () => { const { login } = useAuth(); diff --git a/src/web/app/src/components/Login/index.tsx b/src/web/app/src/components/Login/index.tsx index 288d5662d3..d80bf96a24 100644 --- a/src/web/app/src/components/Login/index.tsx +++ b/src/web/app/src/components/Login/index.tsx @@ -1,6 +1,6 @@ import LoggedIn from './LoggedIn'; import LoggedOut from './LoggedOut'; -import useAuth from '../../hooks/use-auth'; +import useAuth from '@hooks/use-auth'; /** * Show either a Login button (if user isn't authenticated) diff --git a/src/web/app/src/components/NavBar/index.tsx b/src/web/app/src/components/NavBar/index.tsx index fc59d042f5..e44dcb2f9c 100644 --- a/src/web/app/src/components/NavBar/index.tsx +++ b/src/web/app/src/components/NavBar/index.tsx @@ -12,10 +12,10 @@ import { FiPackage } from 'react-icons/fi'; import dynamic from 'next/dynamic'; import NavBarButton, { NavBarIconProps } from './NavBarButton'; -import Logo from '../Logo'; -import Login from '../Login'; -import TelescopeAvatar from '../TelescopeAvatar'; -import useAuth from '../../hooks/use-auth'; +import Logo from '@components/Logo'; +import Login from '@components/Login'; +import TelescopeAvatar from '@components/TelescopeAvatar'; +import useAuth from '@hooks/use-auth'; /** This will solve the problem of incorrect rendering of theme icon when theme preference is dark * This ensures that the version displayed to user is the client view which ties to the client's preference theme. diff --git a/src/web/app/src/components/Posts/GitHubInfo/Commits.tsx b/src/web/app/src/components/Posts/GitHubInfo/Commits.tsx index 2ab550f666..c7550bdb75 100644 --- a/src/web/app/src/components/Posts/GitHubInfo/Commits.tsx +++ b/src/web/app/src/components/Posts/GitHubInfo/Commits.tsx @@ -1,6 +1,6 @@ import { VscGitCommit } from 'react-icons/vsc'; import { createStyles, makeStyles, Theme } from '@material-ui/core'; -import { useGithubInfo } from '../../../hooks/use-genericInfo'; +import { useGithubInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/GitHubInfo/GitHubInfoMobile.tsx b/src/web/app/src/components/Posts/GitHubInfo/GitHubInfoMobile.tsx index 409a86d234..7c72f6b5e7 100644 --- a/src/web/app/src/components/Posts/GitHubInfo/GitHubInfoMobile.tsx +++ b/src/web/app/src/components/Posts/GitHubInfo/GitHubInfoMobile.tsx @@ -4,7 +4,7 @@ import Issues from './Issues'; import PullRequests from './PullRequests'; import Commits from './Commits'; import Users from './Users'; -import { useGithubInfo } from '../../../hooks/use-genericInfo'; +import { useGithubInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/GitHubInfo/Issues.tsx b/src/web/app/src/components/Posts/GitHubInfo/Issues.tsx index f0656384af..efd4754711 100644 --- a/src/web/app/src/components/Posts/GitHubInfo/Issues.tsx +++ b/src/web/app/src/components/Posts/GitHubInfo/Issues.tsx @@ -1,6 +1,6 @@ import { VscIssues } from 'react-icons/vsc'; import { createStyles, makeStyles, Theme } from '@material-ui/core'; -import { useGithubInfo } from '../../../hooks/use-genericInfo'; +import { useGithubInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/GitHubInfo/PullRequests.tsx b/src/web/app/src/components/Posts/GitHubInfo/PullRequests.tsx index 5f03228b11..ce2edb244a 100644 --- a/src/web/app/src/components/Posts/GitHubInfo/PullRequests.tsx +++ b/src/web/app/src/components/Posts/GitHubInfo/PullRequests.tsx @@ -1,6 +1,6 @@ import { VscGitPullRequest } from 'react-icons/vsc'; import { createStyles, makeStyles, Theme } from '@material-ui/core'; -import { useGithubInfo } from '../../../hooks/use-genericInfo'; +import { useGithubInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/GitHubInfo/Repos.tsx b/src/web/app/src/components/Posts/GitHubInfo/Repos.tsx index 0f1b78f3b0..8afbdfedf2 100644 --- a/src/web/app/src/components/Posts/GitHubInfo/Repos.tsx +++ b/src/web/app/src/components/Posts/GitHubInfo/Repos.tsx @@ -1,6 +1,6 @@ import { VscRepoForked } from 'react-icons/vsc'; import { createStyles, makeStyles, Theme } from '@material-ui/core'; -import { useGithubInfo } from '../../../hooks/use-genericInfo'; +import { useGithubInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/GitHubInfo/Users.tsx b/src/web/app/src/components/Posts/GitHubInfo/Users.tsx index c27636f832..e24b85d951 100644 --- a/src/web/app/src/components/Posts/GitHubInfo/Users.tsx +++ b/src/web/app/src/components/Posts/GitHubInfo/Users.tsx @@ -1,7 +1,7 @@ import { VscGithub } from 'react-icons/vsc'; import { createStyles, makeStyles, Theme } from '@material-ui/core'; -import TelescopeAvatar from '../../TelescopeAvatar'; -import { useGithubInfo } from '../../../hooks/use-genericInfo'; +import TelescopeAvatar from '@components/TelescopeAvatar'; +import { useGithubInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/GitHubInfo/index.tsx b/src/web/app/src/components/Posts/GitHubInfo/index.tsx index 9f5ad9f1ea..bac9f9e90b 100644 --- a/src/web/app/src/components/Posts/GitHubInfo/index.tsx +++ b/src/web/app/src/components/Posts/GitHubInfo/index.tsx @@ -4,7 +4,7 @@ import Issues from './Issues'; import PullRequests from './PullRequests'; import Commits from './Commits'; import Users from './Users'; -import { useGithubInfo } from '../../../hooks/use-genericInfo'; +import { useGithubInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/Post.tsx b/src/web/app/src/components/Posts/Post.tsx index 32a5911b77..8128899295 100644 --- a/src/web/app/src/components/Posts/Post.tsx +++ b/src/web/app/src/components/Posts/Post.tsx @@ -20,14 +20,14 @@ import GitHubInfo from './GitHubInfo'; import YouTubeInfo from './YouTubeInfo'; import GitHubInfoMobile from './GitHubInfo/GitHubInfoMobile'; import YouTubeInfoMobile from './YouTubeInfo/YouTubeInfoMobile'; -import GenericInfoProvider from '../GenericInfoProvider'; +import GenericInfoProvider from '@components/GenericInfoProvider'; import PostDesktopInfo from './PostInfo'; import PostAvatar from './PostAvatar'; -import AdminButtons from '../AdminButtons'; -import Spinner from '../Spinner'; +import AdminButtons from '@components/AdminButtons'; +import Spinner from '@components/Spinner'; import ShareButton from './ShareButton'; import ExpandIcon from './ExpandIcon'; -import { Post } from '../../interfaces'; +import { Post } from '@interfaces'; import 'react-lite-youtube-embed/dist/LiteYouTubeEmbed.css'; diff --git a/src/web/app/src/components/Posts/PostInfo.tsx b/src/web/app/src/components/Posts/PostInfo.tsx index 932100a3e3..6786dda4c5 100644 --- a/src/web/app/src/components/Posts/PostInfo.tsx +++ b/src/web/app/src/components/Posts/PostInfo.tsx @@ -1,6 +1,6 @@ import { createStyles, ListSubheader, makeStyles, Theme } from '@material-ui/core'; import PostAvatar from './PostAvatar'; -import AdminButtons from '../AdminButtons'; +import AdminButtons from '@components/AdminButtons'; import ShareButton from './ShareButton'; const useStyles = makeStyles((theme: Theme) => diff --git a/src/web/app/src/components/Posts/Timeline.tsx b/src/web/app/src/components/Posts/Timeline.tsx index 0aebf0215c..c278d02cf0 100644 --- a/src/web/app/src/components/Posts/Timeline.tsx +++ b/src/web/app/src/components/Posts/Timeline.tsx @@ -3,7 +3,7 @@ import { render } from 'react-dom'; import { Container, createStyles } from '@material-ui/core'; import { makeStyles, Theme } from '@material-ui/core/styles'; import PostComponent from './Post'; -import { Post } from '../../interfaces'; +import { Post } from '@interfaces'; import LoadAutoScroll from './LoadAutoScroll'; import CopyButton from './CopyButton'; diff --git a/src/web/app/src/components/Posts/YouTubeInfo/YouTubeInfoMobile.tsx b/src/web/app/src/components/Posts/YouTubeInfo/YouTubeInfoMobile.tsx index f10f881993..5fd29c4faa 100644 --- a/src/web/app/src/components/Posts/YouTubeInfo/YouTubeInfoMobile.tsx +++ b/src/web/app/src/components/Posts/YouTubeInfo/YouTubeInfoMobile.tsx @@ -1,6 +1,6 @@ import { createStyles, makeStyles, Theme, ListSubheader } from '@material-ui/core'; import { AiOutlineYoutube } from 'react-icons/ai'; -import { useYouTubeInfo } from '../../../hooks/use-genericInfo'; +import { useYouTubeInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/YouTubeInfo/index.tsx b/src/web/app/src/components/Posts/YouTubeInfo/index.tsx index 20e28c579a..3ece7ee3aa 100644 --- a/src/web/app/src/components/Posts/YouTubeInfo/index.tsx +++ b/src/web/app/src/components/Posts/YouTubeInfo/index.tsx @@ -1,6 +1,6 @@ import { createStyles, makeStyles, Theme, ListSubheader } from '@material-ui/core'; import { AiOutlineYoutube } from 'react-icons/ai'; -import { useYouTubeInfo } from '../../../hooks/use-genericInfo'; +import { useYouTubeInfo } from '@hooks/use-genericInfo'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/Posts/index.tsx b/src/web/app/src/components/Posts/index.tsx index d8dad418d1..af9188ad54 100644 --- a/src/web/app/src/components/Posts/index.tsx +++ b/src/web/app/src/components/Posts/index.tsx @@ -5,9 +5,9 @@ import { makeStyles, Theme } from '@material-ui/core/styles'; import { usePrevious } from 'react-use'; import SentimentDissatisfiedRoundedIcon from '@material-ui/icons/SentimentDissatisfiedRounded'; import Timeline from './Timeline'; -import { postsServiceUrl } from '../../config'; -import useFaviconBadge from '../../hooks/use-favicon-badge'; -import { Post } from '../../interfaces'; +import { postsServiceUrl } from '@config'; +import useFaviconBadge from '@hooks/use-favicon-badge'; +import { Post } from '@interfaces'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/SEO.tsx b/src/web/app/src/components/SEO.tsx index b8a61dd6f2..6fa2a4574d 100644 --- a/src/web/app/src/components/SEO.tsx +++ b/src/web/app/src/components/SEO.tsx @@ -1,6 +1,6 @@ import Head from 'next/head'; import { useRouter } from 'next/router'; -import { webUrl } from '../config'; +import { webUrl } from '@config'; type SEOProps = { pageTitle: string; diff --git a/src/web/app/src/components/SearchInput/AuthorInput.tsx b/src/web/app/src/components/SearchInput/AuthorInput.tsx index 1b223dec05..816783dc08 100644 --- a/src/web/app/src/components/SearchInput/AuthorInput.tsx +++ b/src/web/app/src/components/SearchInput/AuthorInput.tsx @@ -5,7 +5,7 @@ import { Autocomplete } from '@mui/material'; import TextField from '@material-ui/core/TextField'; import { Dispatch, SetStateAction, useState } from 'react'; import { useDebounce } from 'react-use'; -import { searchServiceUrl } from '../../config'; +import { searchServiceUrl } from '@config'; type AutocompleteOption = { author: string; diff --git a/src/web/app/src/components/SearchResults.tsx b/src/web/app/src/components/SearchResults.tsx index 599845bfc2..76e3fb9cd6 100644 --- a/src/web/app/src/components/SearchResults.tsx +++ b/src/web/app/src/components/SearchResults.tsx @@ -3,7 +3,7 @@ import { useRouter } from 'next/router'; import { makeStyles, Theme } from '@material-ui/core/styles'; import useSWRInfinite from 'swr/infinite'; import { Container, Box, createStyles } from '@material-ui/core'; -import { searchServiceUrl } from '../config'; +import { searchServiceUrl } from '@config'; import Timeline from './Posts/Timeline'; import Spinner from './Spinner'; import SearchHelp from './SearchHelp'; diff --git a/src/web/app/src/components/SignUp/Forms/BasicInfo.tsx b/src/web/app/src/components/SignUp/Forms/BasicInfo.tsx index eec77252bf..760a2de32f 100644 --- a/src/web/app/src/components/SignUp/Forms/BasicInfo.tsx +++ b/src/web/app/src/components/SignUp/Forms/BasicInfo.tsx @@ -2,8 +2,8 @@ import { ReactNode } from 'react'; import { createStyles, makeStyles } from '@material-ui/core'; import { connect } from 'formik'; -import { SignUpForm } from '../../../interfaces'; -import useAuth from '../../../hooks/use-auth'; +import { SignUpForm } from '@interfaces'; +import useAuth from '@hooks/use-auth'; import formModels from '../Schema/FormModel'; import { TextInput } from '../FormFields'; diff --git a/src/web/app/src/components/SignUp/Forms/GitHubAccount.tsx b/src/web/app/src/components/SignUp/Forms/GitHubAccount.tsx index 7d7dd94992..dcf48ada77 100644 --- a/src/web/app/src/components/SignUp/Forms/GitHubAccount.tsx +++ b/src/web/app/src/components/SignUp/Forms/GitHubAccount.tsx @@ -3,10 +3,10 @@ import Button from '@material-ui/core/Button'; import { createStyles, makeStyles, Theme } from '@material-ui/core'; import { connect } from 'formik'; -import { SignUpForm } from '../../../interfaces'; +import { SignUpForm } from '@interfaces'; import formModels from '../Schema/FormModel'; import { TextInput, CheckBoxInput } from '../FormFields'; -import PostAvatar from '../../Posts/PostAvatar'; +import PostAvatar from '@components/Posts/PostAvatar'; const { githubUsername, github, githubOwnership } = formModels; diff --git a/src/web/app/src/components/SignUp/Forms/RSSFeeds.tsx b/src/web/app/src/components/SignUp/Forms/RSSFeeds.tsx index e8eb42e99d..5d375e7e93 100644 --- a/src/web/app/src/components/SignUp/Forms/RSSFeeds.tsx +++ b/src/web/app/src/components/SignUp/Forms/RSSFeeds.tsx @@ -7,9 +7,9 @@ import FormControlLabel from '@material-ui/core/FormControlLabel'; import FormHelperText from '@material-ui/core/FormHelperText'; import Checkbox from '@material-ui/core/Checkbox'; -import { feedDiscoveryServiceUrl } from '../../../config'; -import useAuth from '../../../hooks/use-auth'; -import { SignUpForm, DiscoveredFeed, DiscoveredFeeds } from '../../../interfaces'; +import { feedDiscoveryServiceUrl } from '@config'; +import useAuth from '@hooks/use-auth'; +import { SignUpForm, DiscoveredFeed, DiscoveredFeeds } from '@interfaces'; import { TextInput, CheckBoxInput } from '../FormFields'; const useStyles = makeStyles((theme: Theme) => diff --git a/src/web/app/src/components/SignUp/Forms/Review.tsx b/src/web/app/src/components/SignUp/Forms/Review.tsx index 41aeed47f7..ea0a186481 100644 --- a/src/web/app/src/components/SignUp/Forms/Review.tsx +++ b/src/web/app/src/components/SignUp/Forms/Review.tsx @@ -1,8 +1,8 @@ import { createStyles, makeStyles, Theme, FormHelperText } from '@material-ui/core'; import { connect } from 'formik'; -import { SignUpForm } from '../../../interfaces'; -import PostAvatar from '../../Posts/PostAvatar'; +import { SignUpForm } from '@interfaces'; +import PostAvatar from '@components/Posts/PostAvatar'; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/web/app/src/components/ThemeProvider.tsx b/src/web/app/src/components/ThemeProvider.tsx index 0912332c78..9660c167c4 100644 --- a/src/web/app/src/components/ThemeProvider.tsx +++ b/src/web/app/src/components/ThemeProvider.tsx @@ -1,8 +1,8 @@ import { createContext, useContext } from 'react'; import { Theme } from '@material-ui/core/styles'; -import { ThemeName } from '../interfaces'; -import { lightTheme } from '../theme'; +import { ThemeName } from '@interfaces'; +import { lightTheme } from '@theme'; type ThemeContextType = { theme: Theme; diff --git a/src/web/app/src/components/YouTubeInfo.tsx b/src/web/app/src/components/YouTubeInfo.tsx index 7e15ca6ea5..94000c83f5 100644 --- a/src/web/app/src/components/YouTubeInfo.tsx +++ b/src/web/app/src/components/YouTubeInfo.tsx @@ -1,4 +1,4 @@ -import { Post } from '../interfaces'; +import { Post } from '@interfaces'; export interface YouTubeInfoContextInterface { channelUrl: string; diff --git a/src/web/app/src/hooks/use-auth.ts b/src/web/app/src/hooks/use-auth.ts index 753549e9bd..49f35362ed 100644 --- a/src/web/app/src/hooks/use-auth.ts +++ b/src/web/app/src/hooks/use-auth.ts @@ -1,5 +1,5 @@ import { useContext } from 'react'; -import { AuthContext, AuthContextInterface } from '../components/AuthProvider'; +import { AuthContext, AuthContextInterface } from '@components/AuthProvider'; const useAuth = (): AuthContextInterface => useContext(AuthContext); diff --git a/src/web/app/src/hooks/use-favicon-badge.ts b/src/web/app/src/hooks/use-favicon-badge.ts index 8c4901c8c2..89e8497620 100644 --- a/src/web/app/src/hooks/use-favicon-badge.ts +++ b/src/web/app/src/hooks/use-favicon-badge.ts @@ -2,7 +2,7 @@ import { useState, useEffect, useCallback } from 'react'; import { useMountedState } from 'react-use'; import useVisibility from './use-visibility'; -import { logoUrl, logoBadgedUrl } from '../components/Logo'; +import { logoUrl, logoBadgedUrl } from '@components/Logo'; const useFaviconBadge = () => { const isMounted = useMountedState(); diff --git a/src/web/app/src/hooks/use-genericInfo.ts b/src/web/app/src/hooks/use-genericInfo.ts index 6ff9e70faa..f657425853 100644 --- a/src/web/app/src/hooks/use-genericInfo.ts +++ b/src/web/app/src/hooks/use-genericInfo.ts @@ -1,8 +1,8 @@ import { useContext } from 'react'; import { GitHubInfo } from '@senecacdot/github-url-parser'; -import { YouTubeInfoContextInterface } from '../components/YouTubeInfo'; -import { GenericInfoContext } from '../components/GenericInfoProvider'; +import { YouTubeInfoContextInterface } from '@components/YouTubeInfo'; +import { GenericInfoContext } from '@components/GenericInfoProvider'; export const useGithubInfo = (): GitHubInfo => useContext(GenericInfoContext).gitHubInfo; export const useYouTubeInfo = (): YouTubeInfoContextInterface => diff --git a/src/web/app/src/pages/_app.tsx b/src/web/app/src/pages/_app.tsx index 9e1888fca3..3562ff3561 100644 --- a/src/web/app/src/pages/_app.tsx +++ b/src/web/app/src/pages/_app.tsx @@ -3,13 +3,13 @@ import { AppProps } from 'next/app'; import { ThemeProvider } from '@material-ui/core/styles'; import { SWRConfig } from 'swr'; -import AuthProvider from '../components/AuthProvider'; +import AuthProvider from '@components/AuthProvider'; -import { darkTheme, lightTheme } from '../theme'; -import usePreferredTheme from '../hooks/use-preferred-theme'; -import { ThemeContext } from '../components/ThemeProvider'; +import { darkTheme, lightTheme } from '@theme'; +import usePreferredTheme from '@hooks/use-preferred-theme'; +import { ThemeContext } from '@components/ThemeProvider'; -import '../styles/globals.css'; +import '@styles/globals.css'; import '@fontsource/spartan'; import '@fontsource/pt-serif'; diff --git a/src/web/app/src/pages/_document.tsx b/src/web/app/src/pages/_document.tsx index 15f1d3342c..b3488563f8 100644 --- a/src/web/app/src/pages/_document.tsx +++ b/src/web/app/src/pages/_document.tsx @@ -2,9 +2,9 @@ import { Children } from 'react'; import Document, { Html, Head, Main, NextScript, DocumentContext } from 'next/document'; import { ServerStyleSheets } from '@material-ui/core/styles'; -import { logoUrl } from '../components/Logo'; -import { title, description, author, keywords, image, imageAlt } from '../config'; -import { lightTheme } from '../theme'; +import { logoUrl } from '@components/Logo'; +import { title, description, author, keywords, image, imageAlt } from '@config'; +import { lightTheme } from '@theme'; // Reference: https://github.com/mui-org/material-ui/blob/master/examples/nextjs/pages/_document.js class MyDocument extends Document { diff --git a/src/web/app/src/pages/dependencies.tsx b/src/web/app/src/pages/dependencies.tsx index 929632d830..d868b44126 100644 --- a/src/web/app/src/pages/dependencies.tsx +++ b/src/web/app/src/pages/dependencies.tsx @@ -1,6 +1,6 @@ -import SEO from '../components/SEO'; -import NavBar from '../components/NavBar'; -import DependenciesPage from '../components/DependenciesPage'; +import SEO from '@components/SEO'; +import NavBar from '@components/NavBar'; +import DependenciesPage from '@components/DependenciesPage'; const dependencies = () => { return ( diff --git a/src/web/app/src/pages/error.tsx b/src/web/app/src/pages/error.tsx index 79f38a3dc4..c2d51b0611 100644 --- a/src/web/app/src/pages/error.tsx +++ b/src/web/app/src/pages/error.tsx @@ -2,7 +2,7 @@ import { useRouter } from 'next/router'; import { Card, CardActions, CardContent, Fab, Grid, Typography } from '@material-ui/core'; import { makeStyles } from '@material-ui/core/styles'; import ArrowBack from '@material-ui/icons/ArrowBack'; -import { webUrl } from '../config'; +import { webUrl } from '@config'; const useStyles = makeStyles((theme) => ({ container: { diff --git a/src/web/app/src/pages/index.tsx b/src/web/app/src/pages/index.tsx index 00598b10b2..a76bbe7918 100644 --- a/src/web/app/src/pages/index.tsx +++ b/src/web/app/src/pages/index.tsx @@ -1,8 +1,8 @@ import { useState } from 'react'; -import SEO from '../components/SEO'; -import Banner from '../components/Banner'; -import Posts from '../components/Posts'; -import NavBar from '../components/NavBar'; +import SEO from '@components/SEO'; +import Banner from '@components/Banner'; +import Posts from '@components/Posts'; +import NavBar from '@components/NavBar'; const Home = () => { const [bannerVisible, setBannerVisibility] = useState(true); diff --git a/src/web/app/src/pages/search.tsx b/src/web/app/src/pages/search.tsx index 0e7708ec21..b34511de40 100644 --- a/src/web/app/src/pages/search.tsx +++ b/src/web/app/src/pages/search.tsx @@ -1,6 +1,6 @@ -import SEO from '../components/SEO'; -import SearchPage from '../components/SearchPage'; -import NavBar from '../components/NavBar'; +import SEO from '@components/SEO'; +import SearchPage from '@components/SearchPage'; +import NavBar from '@components/NavBar'; const Search = () => { return ( diff --git a/src/web/app/src/pages/signup.tsx b/src/web/app/src/pages/signup.tsx index 98004c9d67..3f40f5e6fc 100644 --- a/src/web/app/src/pages/signup.tsx +++ b/src/web/app/src/pages/signup.tsx @@ -4,22 +4,22 @@ import { Formik, Form, FormikHelpers } from 'formik'; import { useRouter } from 'next/router'; import Button from '@material-ui/core/Button'; -import useAuth from '../hooks/use-auth'; -import Overview from '../components/SignUp/Forms/Overview'; -import BasicInfo from '../components/SignUp/Forms/BasicInfo'; -import GitHubAccount from '../components/SignUp/Forms/GitHubAccount'; -import BlogFeeds from '../components/SignUp/Forms/BlogFeeds'; -import ChannelFeeds from '../components/SignUp/Forms/ChannelFeeds'; +import useAuth from '@hooks/use-auth'; +import Overview from '@components/SignUp/Forms/Overview'; +import BasicInfo from '@components/SignUp/Forms/BasicInfo'; +import GitHubAccount from '@components/SignUp/Forms/GitHubAccount'; +import BlogFeeds from '@components/SignUp/Forms/BlogFeeds'; +import ChannelFeeds from '@components/SignUp/Forms/ChannelFeeds'; -import Review from '../components/SignUp/Forms/Review'; -import DynamicImage from '../components/BannerDynamicItems'; +import Review from '@components/SignUp/Forms/Review'; +import DynamicImage from '@components/BannerDynamicItems'; -import { SignUpForm } from '../interfaces'; -import formModels from '../components/SignUp/Schema/FormModel'; -import formSchema from '../components/SignUp/Schema/FormSchema'; -import { ssoServiceUrl } from '../config'; -import PopUp from '../components/PopUp'; -import Spinner from '../components/Spinner'; +import { SignUpForm } from '@interfaces'; +import formModels from '@components/SignUp/Schema/FormModel'; +import formSchema from '@components/SignUp/Schema/FormSchema'; +import { ssoServiceUrl } from '@config'; +import PopUp from '@components/PopUp'; +import Spinner from '@components/Spinner'; enum SIGN_UP_STEPS { OVERVIEW, diff --git a/src/web/app/tsconfig.json b/src/web/app/tsconfig.json index 99710e8578..6b2b9a0e06 100644 --- a/src/web/app/tsconfig.json +++ b/src/web/app/tsconfig.json @@ -13,7 +13,17 @@ "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", - "incremental": true + "incremental": true, + "baseUrl": "./src", + "paths": { + "@components/*": ["components/*"], + "@hooks/*": ["hooks/*"], + "@styles/*": ["styles/*"], + "@theme": ["theme/index"], + "@translations/*": ["translations/*"], + "@config": ["config"], + "@interfaces": ["interfaces/index"] + } }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], "exclude": ["node_modules"]