Как разделить внутренние и внешние группы импорта в JS

#javascript #eslint #lint #tslint

#язык JavaScript #эслинт #корпия #цлинт

Вопрос:

В настоящее время я использую tslint. Но, поскольку это устарело, я хочу вместо этого начать использовать eslint.

Единственная проблема в том, что я не могу найти способ добиться тех же правил группировки импорта, что и в tslint:

 "ordered-imports": [  true,  {  "module-source-path": "full",  "grouped-imports": true,  "groups": ["^([a-z]|@(?!app))", "^(\.|@app)"]  } ],  

Что в основном и делает это разделение:

 import { errors } from '@common/service-framework/api-utils'; import { AIPayloads } from '@models/core.common.model'; import { groupBy, isEmpty, map, sortBy, uniqBy, values } from 'lodash'; import * as hashObject from 'object-hash';  import { roundRobin } from '@app/common/utils'; import { sanitizeList } from './helpers';  

Что делается другими словами (Правила):

  • Все @что-то, кроме @app, рассматриваются как внешний импорт.
  • Все @app и . рассматриваются как внутренний импорт.
  • Внешний и внутренний импорт импортируются отдельными группами с пробелом между ними.

Теперь я не возражаю, если в решении нет опции регулярного выражения вольного стиля. Я забочусь только о достижении того же результата.

Как я могу добиться тех же правил группировки импорта в eslint?