ci: add eslint rule for sorting imports (#3858)
The [ignoreDeclarationSort](https://eslint.org/docs/latest/rules/sort-imports#ignoredeclarationsort) and [memberSyntaxSortOrder](https://eslint.org/docs/latest/rules/sort-imports#membersyntaxsortorder) options have been turned on and omitted respective to not conflict with the existing import/order rules.pull/3857/head^2
parent
0ae2dae00b
commit
1a866f206a
|
@ -30,5 +30,14 @@ module.exports = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
"sort-imports": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
ignoreCase: false,
|
||||||
|
ignoreDeclarationSort: true,
|
||||||
|
ignoreMemberSort: false,
|
||||||
|
allowSeparatedGroups: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import React, { useState, useEffect, Suspense } from "react";
|
import React, { Suspense, useEffect, useState } from "react";
|
||||||
|
|
||||||
import createCache from "@emotion/cache";
|
import createCache from "@emotion/cache";
|
||||||
import { CacheProvider } from "@emotion/react";
|
import { CacheProvider } from "@emotion/react";
|
||||||
import { config as faConfig } from "@fortawesome/fontawesome-svg-core";
|
import { config as faConfig } from "@fortawesome/fontawesome-svg-core";
|
||||||
import { CssBaseline, ThemeProvider } from "@mui/material";
|
import { CssBaseline, ThemeProvider } from "@mui/material";
|
||||||
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
|
import { Route, BrowserRouter as Router, Routes } from "react-router-dom";
|
||||||
|
|
||||||
import NotificationBar from "@components/NotificationBar";
|
import NotificationBar from "@components/NotificationBar";
|
||||||
import {
|
import {
|
||||||
|
@ -13,8 +13,8 @@ import {
|
||||||
LogoutRoute,
|
LogoutRoute,
|
||||||
RegisterOneTimePasswordRoute,
|
RegisterOneTimePasswordRoute,
|
||||||
RegisterWebauthnRoute,
|
RegisterWebauthnRoute,
|
||||||
ResetPasswordStep2Route,
|
|
||||||
ResetPasswordStep1Route,
|
ResetPasswordStep1Route,
|
||||||
|
ResetPasswordStep2Route,
|
||||||
} from "@constants/Routes";
|
} from "@constants/Routes";
|
||||||
import NotificationsContext from "@hooks/NotificationsContext";
|
import NotificationsContext from "@hooks/NotificationsContext";
|
||||||
import { Notification } from "@models/Notifications";
|
import { Notification } from "@models/Notifications";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useState, useEffect } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
|
||||||
import { Alert, Slide, SlideProps, Snackbar } from "@mui/material";
|
import { Alert, Slide, SlideProps, Snackbar } from "@mui/material";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useState, useEffect } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
|
||||||
import PieChartIcon from "@components/PieChartIcon";
|
import PieChartIcon from "@components/PieChartIcon";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { useState, useEffect } from "react";
|
import { useEffect, useState } from "react";
|
||||||
|
|
||||||
export function useIntermittentClass(
|
export function useIntermittentClass(
|
||||||
classname: string,
|
classname: string,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { useRef, useEffect } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
|
|
||||||
export function useIsMountedRef() {
|
export function useIsMountedRef() {
|
||||||
const isMountedRef = useRef(false);
|
const isMountedRef = useRef(false);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { useState, useCallback, DependencyList } from "react";
|
import { DependencyList, useCallback, useState } from "react";
|
||||||
|
|
||||||
type PromisifiedFunction<Ret> = (...args: any) => Promise<Ret>;
|
type PromisifiedFunction<Ret> = (...args: any) => Promise<Ret>;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { useState, useCallback, useEffect } from "react";
|
import { useCallback, useEffect, useState } from "react";
|
||||||
|
|
||||||
export function useTimer(timeoutMs: number): [number, () => void, () => void] {
|
export function useTimer(timeoutMs: number): [number, () => void, () => void] {
|
||||||
const Interval = 100;
|
const Interval = 100;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { ReactNode, useEffect } from "react";
|
import React, { ReactNode, useEffect } from "react";
|
||||||
|
|
||||||
import { Grid, Container, Link, Theme } from "@mui/material";
|
import { Container, Grid, Link, Theme } from "@mui/material";
|
||||||
import { grey } from "@mui/material/colors";
|
import { grey } from "@mui/material/colors";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Configuration } from "@models/Configuration";
|
import { Configuration } from "@models/Configuration";
|
||||||
import { ConfigurationPath } from "@services/Api";
|
import { ConfigurationPath } from "@services/Api";
|
||||||
import { Get } from "@services/Client";
|
import { Get } from "@services/Client";
|
||||||
import { toEnum, Method2FA } from "@services/UserInfo";
|
import { Method2FA, toEnum } from "@services/UserInfo";
|
||||||
|
|
||||||
interface ConfigurationPayload {
|
interface ConfigurationPayload {
|
||||||
available_methods: Method2FA[];
|
available_methods: Method2FA[];
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { ConsentPath } from "@services/Api";
|
import { ConsentPath } from "@services/Api";
|
||||||
import { Post, Get } from "@services/Client";
|
import { Get, Post } from "@services/Client";
|
||||||
|
|
||||||
interface ConsentPostRequestBody {
|
interface ConsentPostRequestBody {
|
||||||
client_id: string;
|
client_id: string;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import {
|
import {
|
||||||
|
CompleteDuoDeviceSelectionPath,
|
||||||
CompletePushNotificationSignInPath,
|
CompletePushNotificationSignInPath,
|
||||||
InitiateDuoDeviceSelectionPath,
|
InitiateDuoDeviceSelectionPath,
|
||||||
CompleteDuoDeviceSelectionPath,
|
|
||||||
} from "@services/Api";
|
} from "@services/Api";
|
||||||
import { Get, PostWithOptionalResponse } from "@services/Client";
|
import { Get, PostWithOptionalResponse } from "@services/Client";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { InitiateTOTPRegistrationPath, CompleteTOTPRegistrationPath, WebauthnIdentityStartPath } from "@services/Api";
|
import { CompleteTOTPRegistrationPath, InitiateTOTPRegistrationPath, WebauthnIdentityStartPath } from "@services/Api";
|
||||||
import { Post, PostWithOptionalResponse } from "@services/Client";
|
import { Post, PostWithOptionalResponse } from "@services/Client";
|
||||||
|
|
||||||
export async function initiateTOTPRegistrationProcess() {
|
export async function initiateTOTPRegistrationProcess() {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { InitiateResetPasswordPath, CompleteResetPasswordPath, ResetPasswordPath } from "@services/Api";
|
import { CompleteResetPasswordPath, InitiateResetPasswordPath, ResetPasswordPath } from "@services/Api";
|
||||||
import { PostWithOptionalResponse } from "@services/Client";
|
import { PostWithOptionalResponse } from "@services/Client";
|
||||||
|
|
||||||
export async function initiateResetPasswordProcess(username: string) {
|
export async function initiateResetPasswordProcess(username: string) {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import React, { useEffect, useCallback, useState } from "react";
|
import React, { useCallback, useEffect, useState } from "react";
|
||||||
|
|
||||||
import { IconDefinition, faCopy, faKey, faTimesCircle } from "@fortawesome/free-solid-svg-icons";
|
import { IconDefinition, faCopy, faKey, faTimesCircle } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { Typography, Button, IconButton, Link, CircularProgress, TextField, Theme } from "@mui/material";
|
import { Button, CircularProgress, IconButton, Link, TextField, Theme, Typography } from "@mui/material";
|
||||||
import { red } from "@mui/material/colors";
|
import { red } from "@mui/material/colors";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { Grid, Button, Theme } from "@mui/material";
|
import { Button, Grid, Theme } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
import React, { useEffect, Fragment, ReactNode, useState } from "react";
|
import React, { Fragment, ReactNode, useEffect, useState } from "react";
|
||||||
|
|
||||||
import { AccountBox, Autorenew, CheckBox, Contacts, Drafts, Group } from "@mui/icons-material";
|
import { AccountBox, Autorenew, CheckBox, Contacts, Drafts, Group } from "@mui/icons-material";
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
|
Checkbox,
|
||||||
|
FormControlLabel,
|
||||||
Grid,
|
Grid,
|
||||||
List,
|
List,
|
||||||
ListItem,
|
ListItem,
|
||||||
ListItemIcon,
|
ListItemIcon,
|
||||||
ListItemText,
|
ListItemText,
|
||||||
|
Theme,
|
||||||
Tooltip,
|
Tooltip,
|
||||||
Typography,
|
Typography,
|
||||||
Checkbox,
|
|
||||||
FormControlLabel,
|
|
||||||
Theme,
|
|
||||||
} from "@mui/material";
|
} from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
@ -24,7 +24,7 @@ import { useNotifications } from "@hooks/NotificationsContext";
|
||||||
import { useRedirector } from "@hooks/Redirector";
|
import { useRedirector } from "@hooks/Redirector";
|
||||||
import { useUserInfoGET } from "@hooks/UserInfo";
|
import { useUserInfoGET } from "@hooks/UserInfo";
|
||||||
import LoginLayout from "@layouts/LoginLayout";
|
import LoginLayout from "@layouts/LoginLayout";
|
||||||
import { acceptConsent, ConsentGetResponseBody, getConsentResponse, rejectConsent } from "@services/Consent";
|
import { ConsentGetResponseBody, acceptConsent, getConsentResponse, rejectConsent } from "@services/Consent";
|
||||||
import LoadingPage from "@views/LoadingPage/LoadingPage";
|
import LoadingPage from "@views/LoadingPage/LoadingPage";
|
||||||
|
|
||||||
export interface Props {}
|
export interface Props {}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { MutableRefObject, useEffect, useRef, useState } from "react";
|
import React, { MutableRefObject, useEffect, useRef, useState } from "react";
|
||||||
|
|
||||||
import { Grid, Button, FormControlLabel, Checkbox, Link, Theme } from "@mui/material";
|
import { Button, Checkbox, FormControlLabel, Grid, Link, Theme } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { ReactNode, useState } from "react";
|
import React, { ReactNode, useState } from "react";
|
||||||
|
|
||||||
import { Typography, Grid, Button, Container, Theme } from "@mui/material";
|
import { Button, Container, Grid, Theme, Typography } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
|
|
||||||
import PushNotificationIcon from "@components/PushNotificationIcon";
|
import PushNotificationIcon from "@components/PushNotificationIcon";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { ReactNode, Fragment } from "react";
|
import React, { Fragment, ReactNode } from "react";
|
||||||
|
|
||||||
import { Typography, Link, Theme, Box } from "@mui/material";
|
import { Box, Link, Theme, Typography } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { ReactNode } from "react";
|
import React, { ReactNode } from "react";
|
||||||
|
|
||||||
import { Dialog, Grid, DialogContent, Button, DialogActions, Typography, useTheme, Theme } from "@mui/material";
|
import { Button, Dialog, DialogActions, DialogContent, Grid, Theme, Typography, useTheme } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useEffect, useCallback, useRef, useState, ReactNode } from "react";
|
import React, { ReactNode, useCallback, useEffect, useRef, useState } from "react";
|
||||||
|
|
||||||
import { Button, Theme } from "@mui/material";
|
import { Button, Theme } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
|
@ -10,15 +10,15 @@ import { useIsMountedRef } from "@hooks/Mounted";
|
||||||
import { useRedirectionURL } from "@hooks/RedirectionURL";
|
import { useRedirectionURL } from "@hooks/RedirectionURL";
|
||||||
import { useWorkflow } from "@hooks/Workflow";
|
import { useWorkflow } from "@hooks/Workflow";
|
||||||
import {
|
import {
|
||||||
completePushNotificationSignIn,
|
|
||||||
completeDuoDeviceSelectionProcess,
|
|
||||||
DuoDevicePostRequest,
|
DuoDevicePostRequest,
|
||||||
|
completeDuoDeviceSelectionProcess,
|
||||||
|
completePushNotificationSignIn,
|
||||||
initiateDuoDeviceSelectionProcess,
|
initiateDuoDeviceSelectionProcess,
|
||||||
} from "@services/PushNotification";
|
} from "@services/PushNotification";
|
||||||
import { AuthenticationLevel } from "@services/State";
|
import { AuthenticationLevel } from "@services/State";
|
||||||
import DeviceSelectionContainer, {
|
import DeviceSelectionContainer, {
|
||||||
SelectedDevice,
|
|
||||||
SelectableDevice,
|
SelectableDevice,
|
||||||
|
SelectedDevice,
|
||||||
} from "@views/LoginPortal/SecondFactor/DeviceSelectionContainer";
|
} from "@views/LoginPortal/SecondFactor/DeviceSelectionContainer";
|
||||||
import MethodContainer, { State as MethodContainerState } from "@views/LoginPortal/SecondFactor/MethodContainer";
|
import MethodContainer, { State as MethodContainerState } from "@views/LoginPortal/SecondFactor/MethodContainer";
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
import React, { useState, useEffect } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
|
||||||
import { Grid, Button, Theme } from "@mui/material";
|
import { Button, Grid, Theme } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { Route, Routes, useNavigate } from "react-router-dom";
|
import { Route, Routes, useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
LogoutRoute as SignOutRoute,
|
|
||||||
SecondFactorPushSubRoute,
|
SecondFactorPushSubRoute,
|
||||||
SecondFactorTOTPSubRoute,
|
SecondFactorTOTPSubRoute,
|
||||||
SecondFactorWebauthnSubRoute,
|
SecondFactorWebauthnSubRoute,
|
||||||
|
LogoutRoute as SignOutRoute,
|
||||||
} from "@constants/Routes";
|
} from "@constants/Routes";
|
||||||
import { useNotifications } from "@hooks/NotificationsContext";
|
import { useNotifications } from "@hooks/NotificationsContext";
|
||||||
import LoginLayout from "@layouts/LoginLayout";
|
import LoginLayout from "@layouts/LoginLayout";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useEffect, useCallback, useState } from "react";
|
import React, { useCallback, useEffect, useState } from "react";
|
||||||
|
|
||||||
import { Theme, Typography } from "@mui/material";
|
import { Theme, Typography } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
|
|
||||||
import { Grid, Button, Theme } from "@mui/material";
|
import { Button, Grid, Theme } from "@mui/material";
|
||||||
import makeStyles from "@mui/styles/makeStyles";
|
import makeStyles from "@mui/styles/makeStyles";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
Loading…
Reference in New Issue