import-js / eslint-plugin-import

ESLint plugin with rules that help validate proper imports.
MIT License
5.57k stars 1.57k forks source link

What is the signifance of each group name? what do they mean? #1930

Open airtonix opened 4 years ago

airtonix commented 4 years ago

Some of the words might be obvious to seasoned developers, but for others it's not so obvious.

Here's my understanding :

src/App/AppContainer.js where ~ is an alias to src/**

import fs from 'fs' // builtin
import path from 'path' // builtin

import React, { Component } from 'react' // external
import '@babel/register' // external

import { MagicalPonyContainer } from '~/unicorns/MagicalPonyContainer' // internal ?

import { TrollFaceContainer } from '../Components/TrollFaceContainer' // parent ?

import 'omgfacerolllmao' // unknown ?

import './something/index.js' // index ? 

import { App } from './App' // sibling ?
import './App.scss' // sibling ?

// no idea what object would be.

This could all be wrong, or it's completely right. In any case I feel it's worth illustrating this in the readme.

I'm happy to make a PR on this, but perhaps some guidance and input from others with a better understanding would be great.

aqumus commented 3 years ago

Even I would like to know whether the mentioned understanding of groups is correct? Also it would be good to have eslint import plugin config example with mono repo setup

ljharb commented 3 years ago

Your understanding seems correct to me (altho omgfacerolllmao would be "external" if it resolved).

PRs to improve the docs are always appreciated.