From a3b7dab6515fd9397f1d4d8d79799ca4c2a131e3 Mon Sep 17 00:00:00 2001 From: David Dias Date: Tue, 26 Jul 2022 17:38:54 -0400 Subject: [PATCH] add alias --- .eslintrc.js | 4 ++++ next.config.js | 13 +++++++++++++ package.json | 1 + pnpm-lock.yaml | 11 +++++++++++ tsconfig.json | 31 +++++++++++++------------------ 5 files changed, 42 insertions(+), 18 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5387325b..5cd669ec 100755 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -26,6 +26,10 @@ module.exports = { version: 'detect', }, 'import/resolver': { + alias: { + extensions: ['.ts', '.tsx'], + map: [['@', './src']], + }, typescript: { project: './tsconfig.json', }, diff --git a/next.config.js b/next.config.js index 0ea40f3b..9e3d72e2 100755 --- a/next.config.js +++ b/next.config.js @@ -1,11 +1,24 @@ /** @type {import('next').NextConfig} */ const nextTranslate = require('next-translate') +const path = require('path') module.exports = nextTranslate({ reactStrictMode: true, eslint: { dirs: ['src'], }, + webpack: (config) => { + config.plugins = config.plugins || [] + + config.optimization.providedExports = true + + config.resolve.alias = { + ...config.resolve.alias, + '@': path.resolve(__dirname, './src'), + } + + return config + }, images: { domains: ['img.youtube.com', 'media.giphy.com'], }, diff --git a/package.json b/package.json index 5737a53a..8dbc6b27 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "eslint": "8.19.0", "eslint-config-next": "12.2.0", "eslint-config-prettier": "^8.5.0", + "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-typescript": "^3.2.0", "eslint-module-utils": "^2.7.3", "eslint-plugin-import": "^2.26.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6db82d07..723f89d5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,7 @@ specifiers: eslint: 8.19.0 eslint-config-next: 12.2.0 eslint-config-prettier: ^8.5.0 + eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-typescript: ^3.2.0 eslint-module-utils: ^2.7.3 eslint-plugin-import: ^2.26.0 @@ -87,6 +88,7 @@ devDependencies: eslint: 8.19.0 eslint-config-next: 12.2.0_4x5o4skxv6sl53vpwefgt23khm eslint-config-prettier: 8.5.0_eslint@8.19.0 + eslint-import-resolver-alias: 1.1.2_fkfqfehjtk7sk2efaqbgxsuasa eslint-import-resolver-typescript: 3.2.0_q2xwze32dd33a2fc2qubwr4ie4 eslint-module-utils: 2.7.3_ovb3lynofe5d2juebq24hycldu eslint-plugin-import: 2.26.0_7koajrvad4ekkmjutwzdls76uu @@ -1650,6 +1652,15 @@ packages: eslint: 8.19.0 dev: true + /eslint-import-resolver-alias/1.1.2_fkfqfehjtk7sk2efaqbgxsuasa: + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' + dependencies: + eslint-plugin-import: 2.26.0_7koajrvad4ekkmjutwzdls76uu + dev: true + /eslint-import-resolver-node/0.3.6: resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} dependencies: diff --git a/tsconfig.json b/tsconfig.json index 588c9dde..e3225569 100755 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,40 +18,40 @@ "isolatedModules": true, "jsx": "preserve", "incremental": true, - "baseUrl": ".", + "baseUrl": "./src", "paths": { "@/components/*": [ - "src/components/*" + "components/*" ], "@/constants": [ - "src/constants" + "constants" ], "@/contexts/*": [ - "src/contexts/*" + "contexts/*" ], "@/config/*": [ - "src/config/*" + "config/*" ], "@/graphql/*": [ - "src/graphql/*" + "graphql/*" ], "@/generated": [ - "src/generated/graphql-types" + "generated/graphql-types" ], "@/hooks": [ - "src/hooks" + "hooks" ], "@/lib/*": [ - "src/lib/*" + "lib/*" ], "@/pages/*": [ - "src/pages/*" + "pages/*" ], "@/utils/*": [ - "src/utils/*" + "utils/*" ], "@/test-utils": [ - "src/tests/test-utils" + "tests/test-utils" ] } }, @@ -59,14 +59,9 @@ "next-env.d.ts", "**/*.ts", "**/*.tsx", - "config/next/rewrites.js" ], "exclude": [ "node_modules", - "cypress", - "config", - "docs", - ".storybook", - "src/tests/__mocks__" + "config" ] }