Skip to content

Commit 8507385

Browse files
authored
chore: add no-namespace linter rule to project (#60)
* refactor(eslint): apply eslint import/recommended rules * refactor: add no-namespace linter importing with wildcard hurts build time since more files should be analyzed by build tool * refactor(generators): update type imports
1 parent a7fa4e0 commit 8507385

File tree

209 files changed

+360
-362
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

209 files changed

+360
-362
lines changed

.eslintrc.json

+10-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
},
99
"overrides": [
1010
{
11-
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
11+
"files": ["*.[jt]s?(x)"],
12+
"extends": ["eslint:recommended", "plugin:import/recommended"],
1213
"rules": {
14+
"import/no-unresolved": "off",
1315
"@nx/enforce-module-boundaries": [
1416
"error",
1517
{
@@ -25,6 +27,13 @@
2527
]
2628
}
2729
},
30+
{
31+
"files": ["*.[jt]s?(x)"],
32+
"excludedFiles": ["*.spec.ts", "*.spec.tsx"],
33+
"rules": {
34+
"import/no-namespace": "error"
35+
}
36+
},
2837
{
2938
"files": ["*.ts", "*.tsx"],
3039
"extends": ["plugin:@nx/typescript"],

docs/docs-site/components/ui/button.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import { Slot } from '@radix-ui/react-slot';
33
import { cva, type VariantProps } from 'class-variance-authority';
44

docs/docs-site/components/ui/card.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
import { cn } from '@/lib/utils';
44

libs/e2e-testing-providers/src/lib/ioc/contextContainer.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ import {Container} from 'inversify';
22
import {
33
AppContextType,
44
APP_CONTEXT_IDENTIFIER,
5-
} from '@brainly-gene/core';
5+
ActionType, makeStore} from '@brainly-gene/core';
66

7-
import {ActionType, makeStore} from '@brainly-gene/core';
87

98

109

libs/e2e-testing-providers/src/lib/ioc/serviceClientsContainer.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { Container } from 'inversify';
2-
import { factory, Factory } from '@brainly-gene/core';
3-
import { ServiceTypes } from '@brainly-gene/core';
2+
import { factory, Factory, ServiceTypes } from '@brainly-gene/core';
43
import { QueryClient } from '@tanstack/react-query';
5-
import { ApolloClient, InMemoryCache, NormalizedCacheObject } from '@apollo/client';
4+
import {
5+
ApolloClient,
6+
InMemoryCache,
7+
type NormalizedCacheObject,
8+
} from '@apollo/client';
69

710
export function useServiceClientsContainer() {
811
const apolloClient = new ApolloClient({

libs/e2e-testing-providers/src/lib/storybook/decorators/StorybookProviders.tsx

+12-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
1-
import * as React from 'react';
2-
import { Provider } from '@brainly-gene/core';
1+
import React from 'react';
2+
import {
3+
Provider,
4+
Router,
5+
useMockedRouterContainer,
6+
getAssetsContainer,
7+
NATIVE_IMAGE,
8+
emit,
9+
EventBusContextProvider,
10+
register,
11+
} from '@brainly-gene/core';
312

413
import styles from './StorybookProviders.module.scss';
5-
import { Container, interfaces } from 'inversify';
6-
import { Router, useMockedRouterContainer } from '@brainly-gene/core';
14+
import { Container, type interfaces } from 'inversify';
715

816
import {
917
AppStoreType,
@@ -12,8 +20,6 @@ import {
1220
useServiceClientsContainer,
1321
} from '../../ioc';
1422
import { Locale, LinkRewriteContextProvider } from '@brainly-gene/next';
15-
import { getAssetsContainer, NATIVE_IMAGE } from '@brainly-gene/core';
16-
import { emit, EventBusContextProvider, register } from '@brainly-gene/core';
1723

1824
type OverwritableContainerKeys = 'adsContainer';
1925

packages/gene-apollo/src/apollo/apolloFactory.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import merge from 'deepmerge';
2-
import { ApolloClient, NormalizedCacheObject } from '@apollo/client';
2+
import { ApolloClient, type NormalizedCacheObject } from '@apollo/client';
33
export interface ApolloClientType {
44
hydrate: (initialState?: NormalizedCacheObject) => void;
55
dehydrate: () => unknown;

packages/gene-apollo/src/apollo/makeWatchQuery.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import {
22
ApolloClient,
3-
NormalizedCacheObject,
3+
type NormalizedCacheObject,
44
ObservableQuery,
5-
ApolloQueryResult,
6-
WatchQueryOptions,
5+
type ApolloQueryResult,
6+
type WatchQueryOptions,
77
} from '@apollo/client';
88

99
async function maybeWarmUpCache<TQuery, TVariables>(
1010
watchQuery: ObservableQuery<TQuery, TVariables>,
1111
queryFn: () => Promise<ApolloQueryResult<TQuery>>
1212
) {
13-
watchQuery.result().then(results => {
13+
watchQuery.result().then((results) => {
1414
/**
1515
* partial indicates that no all query data has been fetched
1616
* which shows that there wasn't server call, or something went wrong

packages/gene-apollo/src/apollo/transformApolloResponse.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ApolloQueryResult, QueryResult } from '@apollo/client';
1+
import type { ApolloQueryResult, QueryResult } from '@apollo/client';
22
import { CommonServiceType } from '@brainly-gene/core';
33

44
export function transformApolloResponse<TData = null, TVariables = null>(

packages/gene-apollo/src/apollo/useApolloLazyQuery.spec.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import {
33
mockFetch,
44
mockFetchBasedOnQuery,

packages/gene-apollo/src/apollo/useApolloLazyQuery.ts

+5-12
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
import React from 'react';
22
import {
33
ApolloClient,
4-
ApolloQueryResult,
5-
NormalizedCacheObject,
4+
type ApolloQueryResult,
5+
type NormalizedCacheObject,
66
} from '@apollo/client';
77
import { transformApolloResponse } from './transformApolloResponse';
8-
import {
9-
CommonFetchFn,
10-
CommonServiceType,
11-
} from '@brainly-gene/core';
8+
import { CommonFetchFn, CommonServiceType } from '@brainly-gene/core';
129

1310
interface PropsType<TData, TVariables> {
1411
apolloClient: ApolloClient<NormalizedCacheObject>;
@@ -28,12 +25,8 @@ export function useApolloLazyQuery<TData, TVariables = Record<string, any>>({
2825

2926
const fetch: CommonFetchFn<TData, TVariables> = React.useCallback(
3027
async (options) => {
31-
const {
32-
variables,
33-
optimisticResponse,
34-
refetchQueries,
35-
updates,
36-
} = options || {};
28+
const { variables, optimisticResponse, refetchQueries, updates } =
29+
options || {};
3730
try {
3831
if (optimisticResponse) {
3932
setQueryResults({

packages/gene-apollo/src/apollo/useApolloObservableQuery.spec.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import { renderHook, waitFor } from '@testing-library/react';
33
import { useApolloObservableQuery } from './useApolloObservableQuery';
44

packages/gene-apollo/src/apollo/useApolloObservableQuery.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
1-
import { ApolloQueryResult, ObservableQuery } from '@apollo/client';
1+
import {
2+
type ApolloQueryResult,
3+
ObservableQuery,
4+
type FetchMoreQueryOptions,
5+
type FetchMoreOptions,
6+
} from '@apollo/client';
27

38
import { transformApolloResponse } from './transformApolloResponse';
49
import { merge } from 'zen-observable/extras';
510
import { Observable } from 'zen-observable-ts';
6-
import { isServer } from '@brainly-gene/core';
7-
import { FetchMoreQueryOptions, FetchMoreOptions } from '@apollo/client';
8-
911
import {
12+
isServer,
1013
ROUTER_SERVICE_IDENTIFIER,
1114
RouterEvent,
1215
RouterIocType,
16+
useObservableQuery,
17+
useInjection,
1318
} from '@brainly-gene/core';
14-
import { useObservableQuery } from '@brainly-gene/core';
15-
import { useInjection } from '@brainly-gene/core';
1619

1720
/**
1821
*

packages/gene-apollo/src/apollo/useInjectedApollo.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import { ApolloClient, NormalizedCacheObject } from '@apollo/client';
2-
import { Factory } from '@brainly-gene/core';
3-
import { useInjection } from '@brainly-gene/core';
4-
import { ServiceTypes } from '@brainly-gene/core';
1+
import { ApolloClient, type NormalizedCacheObject } from '@apollo/client';
2+
import { Factory, useInjection, ServiceTypes } from '@brainly-gene/core';
53

64
export function useInjectedApolloClient() {
75
try {

packages/gene-next/src/api-routes/apiHandlerConnect.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import nc, {NextConnect, Options} from 'next-connect';
1+
import nc, {type NextConnect, type Options} from 'next-connect';
22
import {NextApiRequest, NextApiResponse} from 'next';
33
import {IncomingMessage, ServerResponse} from 'http';
44

packages/gene-next/src/image-assets/components/NextImage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import Image from 'next/image';
33
import { GeneImagePropsType } from '@brainly-gene/core';
44

packages/gene-next/src/image-assets/components/NextImageImgproxyLoader.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import Image, { ImageLoaderProps, ImageProps } from 'next/image';
33
import { GeneImagePropsType } from '@brainly-gene/core';
44

packages/gene-tools/src/checkers/component-report/mocks/components/AllowedMocks.spec.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import {render} from '@testing-library/react';
33
import CmpsList from './NotApplyListSpecCoverage';
44

packages/gene-tools/src/checkers/component-report/mocks/components/AllowedMocks.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
const CmpsList = ({cmps}) => {
44
return <div />;

packages/gene-tools/src/checkers/component-report/mocks/components/AllowedProps.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
import cx from 'classnames';
44

packages/gene-tools/src/checkers/component-report/mocks/components/CallbackProp.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/CallbackPropPrivate.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/ExternalTypeDispatch.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import {dispatch} from '@brainly-gene/core';
33
import {ExampleOnClickType, ExampleEventsType} from '@acme/example';
44

packages/gene-tools/src/checkers/component-report/mocks/components/FunctionDeclaration.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/FunctionProp.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/InlineArrowFunc.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/InlineObject.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/InvalidConditionalRender.stories.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {ValidConditionalRenderEventsType} from './ValidConditionalRenderEventsType';
22

3-
import * as React from 'react';
3+
import React from 'react';
44
import {storiesOf} from '@storybook/react';
55
import {registerStoryInPackages, StorybookMediator} from '@brainly-gene/core';
66
import ValidConditionalRender from './ValidConditionalRender';

packages/gene-tools/src/checkers/component-report/mocks/components/InvalidConditionalRender.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
firstName?: string;

packages/gene-tools/src/checkers/component-report/mocks/components/InvalidDispatch.stories.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {ValidDispatchEventsType} from './ValidDispatchEventsType';
22

3-
import * as React from 'react';
3+
import React from 'react';
44
import {storiesOf} from '@storybook/react';
55
import {registerStoryInPackages, StorybookMediator} from '@brainly-gene/core';
66
import InvalidDispatch from './InvalidDispatch';

packages/gene-tools/src/checkers/component-report/mocks/components/InvalidDispatch.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import {dispatch} from '@brainly-gene/core';
33

44
type PropsType = Readonly<{

packages/gene-tools/src/checkers/component-report/mocks/components/InvalidPropsForwardRef.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/MissingDispatch.stories.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {MissingDispatchEventsType} from './MissingDispatchEventsType';
22

3-
import * as React from 'react';
3+
import React from 'react';
44
import {storiesOf} from '@storybook/react';
55
import {registerStoryInPackages, StorybookMediator} from '@brainly-gene/core';
66

packages/gene-tools/src/checkers/component-report/mocks/components/MissingDispatch.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
const MissingDispatch = () => {
44
return null;

packages/gene-tools/src/checkers/component-report/mocks/components/MissingListSpecCoverage.spec.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import {render} from '@testing-library/react';
33
import CmpsList from './PassingListSpecCoverage';
44

packages/gene-tools/src/checkers/component-report/mocks/components/MissingListSpecCoverage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
const CmpsList = ({cmps}) => {
44
const items = cmps.map(() => <div />);

packages/gene-tools/src/checkers/component-report/mocks/components/MissingListStories.stories.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {ValidDispatchEventsType} from './ValidDispatchEventsType';
22

3-
import * as React from 'react';
3+
import React from 'react';
44
import {storiesOf} from '@storybook/react';
55
import {registerStoryInPackages, StorybookMediator} from '@brainly-gene/core';
66
import MissingListStories from './MissingListStories';

packages/gene-tools/src/checkers/component-report/mocks/components/MissingListStories.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
text?: string;

packages/gene-tools/src/checkers/component-report/mocks/components/NoDefaultExport.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/NoMemo.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = Readonly<{
44
id: string;

packages/gene-tools/src/checkers/component-report/mocks/components/NoMocks.spec.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22
import {render} from '@testing-library/react';
33
import CmpsList from './NotApplyListSpecCoverage';
44

packages/gene-tools/src/checkers/component-report/mocks/components/NoMocks.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
const CmpsList = ({cmps}) => {
44
return <div />;

packages/gene-tools/src/checkers/component-report/mocks/components/NoProps.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
const NoProps = () => {
44
return null;

packages/gene-tools/src/checkers/component-report/mocks/components/NoReadonlyProps.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import React from 'react';
22

33
type PropsType = {
44
id: string;

0 commit comments

Comments
 (0)