Expose IDEFileResolver from 'flipper' module to properly import it from 'layout' plugin (#1442)

Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1442

Layout plugin cannot be bundled as a standalone package because it imports a file from outside of its folder. This change exposes IDEFileResolver in a proper way so now it's possible to import it from 'flipper'.

Reviewed By: passy

Differential Revision: D22975515

fbshipit-source-id: 8af6d2ca1ceb8627a449e055c8773549dd681b7a
This commit is contained in:
Anton Nikolaev
2020-08-06 04:49:39 -07:00
committed by Facebook GitHub Bot
parent 95ae98d925
commit dcd1c08dea
4 changed files with 54 additions and 48 deletions

View File

@@ -29,14 +29,12 @@ import InspectorSidebar from './InspectorSidebar';
import Search from './Search';
import ProxyArchiveClient from './ProxyArchiveClient';
import React from 'react';
import {VisualizerPortal} from 'flipper';
import {getFlipperMediaCDN} from 'flipper';
import {
resolveFullPathsFromMyles,
getBestPath,
IDE,
openInIDE,
} from '../../app/src/fb-stubs/FileResolver';
VisualizerPortal,
getFlipperMediaCDN,
IDEFileResolver,
IDEType,
} from 'flipper';
type State = {
init: boolean;
@@ -69,7 +67,7 @@ type ClassFileParams = {
dirRoot: string;
repo: string;
lineNumber: number;
ide: IDE;
ide: IDEType;
};
export default class LayoutPlugin extends FlipperPlugin<
@@ -250,16 +248,21 @@ export default class LayoutPlugin extends FlipperPlugin<
}
openInIDE = async (params: ClassFileParams) => {
const paths = await resolveFullPathsFromMyles(
const paths = await IDEFileResolver.resolveFullPathsFromMyles(
params.fileName,
params.dirRoot,
);
const selectedPath = getBestPath(paths, params.className);
let ide: IDE = Number(IDE[params.ide]);
const selectedPath = IDEFileResolver.getBestPath(paths, params.className);
let ide: IDEType = Number(IDEType[params.ide]);
if (Number.isNaN(ide)) {
ide = IDE.AS; // default value
ide = IDEType.AS; // default value
}
openInIDE(selectedPath, ide, params.repo, params.lineNumber);
IDEFileResolver.openInIDE(
selectedPath,
ide,
params.repo,
params.lineNumber,
);
};
onToggleTargetMode = () => {