diff --git a/backend/.eslintrc.js b/backend/.eslintrc.js index 2b70c0e78..b8e4684aa 100644 --- a/backend/.eslintrc.js +++ b/backend/.eslintrc.js @@ -35,22 +35,30 @@ module.exports = { 'jest/prefer-to-have-length': 'error', 'jest/valid-expect': 'error', // import + 'import/export': 'error', 'import/no-deprecated': 'error', 'import/no-empty-named-blocks': 'error', + 'import/no-extraneous-dependencies': 'off', // TODO 'import/no-mutable-exports': 'error', 'import/no-unused-modules': 'error', + 'import/no-named-as-default': 'error', + 'import/no-named-as-default-member': 'error', 'import/no-amd': 'error', 'import/no-commonjs': 'error', 'import/no-import-module-exports': 'error', 'import/no-nodejs-modules': 'off', 'import/unambiguous': 'error', + 'import/default': 'error', + 'import/named': 'error', + 'import/namespace': 'error', 'import/no-absolute-path': 'error', 'import/no-cycle': 'error', 'import/no-dynamic-require': 'error', - 'import/no-internal-modules': 'off', + 'import/no-internal-modules': 'off', // TODO 'import/no-relative-packages': 'error', - 'import/no-relative-parent-imports': 'off', + 'import/no-relative-parent-imports': ['error', { ignore: ['@/*'] }], 'import/no-self-import': 'error', + 'import/no-unresolved': 'error', 'import/no-useless-path-segments': 'error', 'import/no-webpack-loader-syntax': 'error', 'import/consistent-type-specifier-style': 'error', @@ -61,6 +69,7 @@ module.exports = { 'import/newline-after-import': 'error', 'import/no-anonymous-default-export': 'error', 'import/no-default-export': 'off', + 'import/no-duplicates': 'error', 'import/no-named-default': 'error', 'import/no-namespace': 'error', 'import/no-unassigned-import': 'error', diff --git a/backend/src/federation/client/1_0/FederationClient.ts b/backend/src/federation/client/1_0/FederationClient.ts index 8c68158ff..6b0b797ff 100644 --- a/backend/src/federation/client/1_0/FederationClient.ts +++ b/backend/src/federation/client/1_0/FederationClient.ts @@ -3,7 +3,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ import { gql } from 'graphql-request' import { Community as DbCommunity } from '@entity/Community' -import { GraphQLGetClient } from '../GraphQLGetClient' +import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient' import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' diff --git a/backend/src/federation/client/1_1/FederationClient.ts b/backend/src/federation/client/1_1/FederationClient.ts index 3f7f7b3da..40c34d240 100644 --- a/backend/src/federation/client/1_1/FederationClient.ts +++ b/backend/src/federation/client/1_1/FederationClient.ts @@ -3,7 +3,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ import { gql } from 'graphql-request' import { Community as DbCommunity } from '@entity/Community' -import { GraphQLGetClient } from '../GraphQLGetClient' +import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient' import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' diff --git a/backend/src/graphql/resolver/UserResolver.test.ts b/backend/src/graphql/resolver/UserResolver.test.ts index f615aeed1..54623e7f5 100644 --- a/backend/src/graphql/resolver/UserResolver.test.ts +++ b/backend/src/graphql/resolver/UserResolver.test.ts @@ -12,9 +12,9 @@ import { TransactionLink } from '@entity/TransactionLink' import { EventProtocol } from '@entity/EventProtocol' import { validate as validateUUID, version as versionUUID } from 'uuid' import { UserContact } from '@entity/UserContact' -import { OptInType } from '../enum/OptInType' -import { UserContactType } from '../enum/UserContactType' -import { PasswordEncryptionType } from '../enum/PasswordEncryptionType' +import { OptInType } from '@enum/OptInType' +import { UserContactType } from '@enum/UserContactType' +import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' import { objectValuesToArray } from '@/util/utilities' import { testEnvironment, headerPushMock, resetToken, cleanDB } from '@test/helpers' import { logger, i18n as localization } from '@test/testSetup' diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index dfb630776..6c59c251c 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -21,9 +21,9 @@ import { User as DbUser } from '@entity/User' import { UserContact as DbUserContact } from '@entity/UserContact' import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' -import { PasswordEncryptionType } from '../enum/PasswordEncryptionType' import { getUserCreations } from './util/creations' import { FULL_CREATION_AVAILABLE } from './const/const' +import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' import { UserRepository } from '@repository/User' import { User } from '@model/User' diff --git a/backend/src/graphql/resolver/util/creations.ts b/backend/src/graphql/resolver/util/creations.ts index f06b3d8bc..c9be2c57c 100644 --- a/backend/src/graphql/resolver/util/creations.ts +++ b/backend/src/graphql/resolver/util/creations.ts @@ -3,7 +3,7 @@ import { getConnection } from '@dbTools/typeorm' import { Contribution } from '@entity/Contribution' import { Decimal } from 'decimal.js-light' -import { FULL_CREATION_AVAILABLE, MAX_CREATION_AMOUNT } from '../const/const' +import { FULL_CREATION_AVAILABLE, MAX_CREATION_AMOUNT } from '@/graphql/resolver/const/const' import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' diff --git a/backend/src/seeds/creation/index.ts b/backend/src/seeds/creation/index.ts index a240595ee..757407438 100644 --- a/backend/src/seeds/creation/index.ts +++ b/backend/src/seeds/creation/index.ts @@ -1,5 +1,5 @@ -import { nMonthsBefore } from '../factory/creation' import { CreationInterface } from './CreationInterface' +import { nMonthsBefore } from '@/seeds/factory/creation' const bobsSendings = [ { diff --git a/backend/src/seeds/index.ts b/backend/src/seeds/index.ts index 906268820..19f936d16 100644 --- a/backend/src/seeds/index.ts +++ b/backend/src/seeds/index.ts @@ -8,7 +8,6 @@ import { createTestClient } from 'apollo-server-testing' import { name, internet, datatype } from 'faker' import { entities } from '@entity/index' -import createServer from '../server/createServer' import { users } from './users/index' import { creations } from './creation/index' @@ -18,6 +17,7 @@ import { userFactory } from './factory/user' import { creationFactory } from './factory/creation' import { transactionLinkFactory } from './factory/transactionLink' import { contributionLinkFactory } from './factory/contributionLink' +import createServer from '@/server/createServer' import { backendLogger as logger } from '@/server/logger' import CONFIG from '@/config' diff --git a/backend/src/util/validate.ts b/backend/src/util/validate.ts index ce4042b28..ec28dfa13 100644 --- a/backend/src/util/validate.ts +++ b/backend/src/util/validate.ts @@ -1,8 +1,8 @@ import { Decimal } from 'decimal.js-light' import { getCustomRepository } from '@dbTools/typeorm' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' -import { getLastTransaction } from '../graphql/resolver/util/getLastTransaction' import { calculateDecay } from './decay' +import { getLastTransaction } from '@/graphql/resolver/util/getLastTransaction' import { TransactionLinkRepository } from '@repository/TransactionLink' import { Decay } from '@model/Decay' diff --git a/backend/test/helpers.ts b/backend/test/helpers.ts index 15e2d4898..ad6d2c4e3 100644 --- a/backend/test/helpers.ts +++ b/backend/test/helpers.ts @@ -9,8 +9,8 @@ import { createTestClient } from 'apollo-server-testing' import { initialize } from '@dbTools/helpers' import { entities } from '@entity/index' -import createServer from '../src/server/createServer' import { i18n, logger } from './testSetup' +import createServer from '@/server/createServer' export const headerPushMock = jest.fn((t) => { context.token = t.value