Custom eslint rule for disallowing cross-package references

Summary:
Added infra for writing and using custom eslint rules and created a rule for disallowing cross-package file imports. Such imports are anti-pattern and they also break standalone plugin bundling.

We still have a bunch of places where Flipper core references code directly from plugins. I've ignored these places for now and added task T71355623 to revisit them.

Reviewed By: passy

Differential Revision: D22998955

fbshipit-source-id: d04cff8fc115ba1300a7e6830306ec134046e927
This commit is contained in:
Anton Nikolaev
2020-08-07 10:19:34 -07:00
committed by Facebook GitHub Bot
parent 6989fa608d
commit 4a1c2a9ece
17 changed files with 428 additions and 72 deletions

View File

@@ -11,10 +11,14 @@ import {Button, styled} from 'flipper';
import {connect} from 'react-redux';
import React, {Component} from 'react';
import {State as Store} from '../reducers';
// TODO T71355623
// eslint-disable-next-line flipper/no-relative-imports-across-packages
import {
readBookmarksFromDB,
writeBookmarkToDB,
} from '../../../plugins/navigation/util/indexedDB';
// TODO T71355623
// eslint-disable-next-line flipper/no-relative-imports-across-packages
import {PersistedState as NavPluginState} from '../../../plugins/navigation/types';
import BaseDevice from '../devices/BaseDevice';
import {State as PluginState} from 'app/src/reducers/pluginStates';