From efa242313c0dc9c874837655dc261df21a9ecc91 Mon Sep 17 00:00:00 2001 From: CitrusSoda Date: Mon, 29 Apr 2024 19:00:13 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=20chore:=20alias=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - src, components, pages, utils, image폴더의 alias를 설정 - eslint-import-resolver-alias를 사용하여 eslint 문제 해결 --- .eslintrc.cjs | 16 +++++++++++++++- package.json | 1 + vite.config.js | 10 ++++++++++ yarn.lock | 5 +++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index abe29ec..8952bf5 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -10,7 +10,21 @@ module.exports = { ], ignorePatterns: ['dist', '.eslintrc.cjs'], parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, - settings: { react: { version: '18.2' } }, + settings: { + react: { version: '18.2' }, + 'import/resolver': { + alias: { + map: [ + ['@', './src'], + ['@components', './src/components'], + ['@pages', './src/pages'], + ['@utils', './src/utils'], + ['@images', './src/assets/images'], + ], + extensions: ['.js', '.jsx', '.ts', '.tsx'], + }, + }, + }, plugins: ['react', 'react-refresh'], rules: { 'react/jsx-no-target-blank': 'off', diff --git a/package.json b/package.json index 536cdf2..87f2efb 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "eslint": "^8.57.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-base": "^15.0.0", + "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-react": "^7.34.1", diff --git a/vite.config.js b/vite.config.js index 4e7004e..436416a 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,17 @@ import react from '@vitejs/plugin-react'; +import path from 'path'; import { defineConfig } from 'vite'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], + resolve: { + alias: { + '@': path.resolve(__dirname, 'src'), + '@components': path.resolve(__dirname, 'src/components'), + '@pages': path.resolve(__dirname, 'src/pages'), + '@utils': path.resolve(__dirname, 'src/utils'), + '@images': path.resolve(__dirname, 'src/assets/images'), + }, + }, }); diff --git a/yarn.lock b/yarn.lock index 66f9fdc..c69a13d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1411,6 +1411,11 @@ eslint-config-airbnb@^19.0.4: object.assign "^4.1.2" object.entries "^1.1.5" +eslint-import-resolver-alias@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz#297062890e31e4d6651eb5eba9534e1f6e68fc97" + integrity sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w== + eslint-import-resolver-node@^0.3.9: version "0.3.9" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac"