# import/no-relative-packages Use this rule to prevent importing packages through relative paths. It's useful in Yarn/Lerna workspaces, were it's possible to import a sibling package using `../package` relative path, while direct `package` is the correct one. +(fixable) The `--fix` option on the [command line] automatically fixes problems reported by this rule. ### Examples Given the following folder structure: ``` my-project ├── packages │ ├── foo │ │ ├── index.js │ │ └── package.json │ └── bar │ ├── index.js │ └── package.json └── entry.js ``` And the .eslintrc file: ``` { ... "rules": { "import/no-relative-packages": "error" } } ``` The following patterns are considered problems: ```js /** * in my-project/packages/foo.js */ import bar from '../bar'; // Import sibling package using relative path import entry from '../../entry.js'; // Import from parent package using relative path /** * in my-project/entry.js */ import bar from './packages/bar'; // Import child package using relative path ``` The following patterns are NOT considered problems: ```js /** * in my-project/packages/foo.js */ import bar from 'bar'; // Import sibling package using package name /** * in my-project/entry.js */ import bar from 'bar'; // Import sibling package using package name ```