# @korautils/alias-fixer

**@korautils/alias-fixer** is a development library designed to automatically fix relative imports in JavaScript/TypeScript projects by replacing them with module alias imports defined in the `tsconfig.json` file. This helps maintain cleaner and more organized code, using alias paths instead of cumbersome relative paths.

## Installation

To install the library, simply add it as a development dependency in your project:

```bash
npm install --save-dev @korautils/alias-fixer
```

## Features
- Relative imports replacement: Detects and replaces relative imports with aliases defined in the tsconfig.json file.
- Support for multiple file types: Can be configured to work with .ts, .tsx, .js, .jsx, and other file types.
- Exclude folders: Allows excluding certain folders or files from the search and replacement (e.g., node_modules).
- Custom alias support: Works with any aliases configured in the tsconfig.json under the compilerOptions.paths property.

## Usage
1. Configure your `tsconfig.json` file: Ensure that your project has a `tsconfig.json` file with module aliases set under the compilerOptions.paths property.

### Example tsconfig.json:
```json
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}
```

2.	Run the library: Once installed, you can run @korautils/alias-fixer from the command line to fix imports in your project.
```bash
npx @korautils/alias-fixer --dir=./src --types=ts,tsx,jsx,js
```
- `--dir`: Specifies the directory where the files will be searched. (Default is ./).
- `--types`: List of file extensions to process (Default is ts,tsx,jsx,js).


## Example
If you have a file with a relative import:
```ts
import { EMAIL_REGEX } from '../../../../constants';
```
After running the library, it will be updated to:
```ts
import { EMAIL_REGEX } from '@/modules/core/constants';
```

# 🐛 Bug Reports
If you encounter any bugs or issues while using the library, please report them using one of the following methods:

- **Email**: Send a detailed bug report to [jhonjaider100015@gmail.com](mailto:jhonjaider100015@gmail.com).
- **Issue Tracker**: If you have been provided access to the private issue tracker, you can submit your bug report directly there.

Please include as much detail as possible, including:
- Steps to reproduce the issue.
- Expected and actual behavior.
- Environment details (e.g., operating system, library version).
