Files
react-native-devtools-frontend/front_end/entrypoints/node_app/node_app.ts
T
Andrés Olivares 0650b4a669 Update documentation on DevTools application entrypoints
Updates the location as well as the purpose of each entrypoint.

As a drive-by fix, the command prompt for showing the Node sources in
the Sources panel is corrected from "Node" to "Show Node".

Bug: none
Change-Id: I6d76bfb190925d3eb624c775fe134eda1b10b5f7
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3964271
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Andres Olivares <andoli@chromium.org>
Reviewed-by: Nancy Li <nancyly@chromium.org>
2022-10-19 11:58:47 +00:00

81 lines
2.9 KiB
TypeScript

// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import '../shell/shell.js';
import '../../panels/mobile_throttling/mobile_throttling-meta.js';
import '../../panels/js_profiler/js_profiler-meta.js';
import type * as Sources from '../../panels/sources/sources.js';
import * as i18n from '../../core/i18n/i18n.js';
import * as UI from '../../ui/legacy/legacy.js';
import * as Common from '../../core/common/common.js';
import * as Root from '../../core/root/root.js';
import * as Main from '../main/main.js';
import {NodeMainImpl} from './NodeMain.js'; // eslint-disable-line rulesdir/es_modules_import
import {NodeConnectionsPanel} from './NodeConnectionsPanel.js'; // eslint-disable-line rulesdir/es_modules_import
const UIStrings = {
/**
*@description Text that refers to the network connection
*/
connection: 'Connection',
/**
*@description A tag of Node.js Connection Panel that can be searched in the command menu
*/
node: 'node',
/**
*@description Command for showing the Connection tool
*/
showConnection: 'Show Connection',
/**
*@description Title of the 'Node' tool in the Network Navigator View, which is part of the Sources tool
*/
networkTitle: 'Node',
/**
*@description Command for showing the 'Node' tool in the Network Navigator View, which is part of the Sources tool
*/
showNode: 'Show Node',
};
const str_ = i18n.i18n.registerUIStrings('entrypoints/node_app/node_app.ts', UIStrings);
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
let loadedSourcesModule: (typeof Sources|undefined);
async function loadSourcesModule(): Promise<typeof Sources> {
if (!loadedSourcesModule) {
loadedSourcesModule = await import('../../panels/sources/sources.js');
}
return loadedSourcesModule;
}
UI.ViewManager.registerViewExtension({
location: UI.ViewManager.ViewLocationValues.PANEL,
id: 'node-connection',
title: i18nLazyString(UIStrings.connection),
commandPrompt: i18nLazyString(UIStrings.showConnection),
order: 0,
async loadView() {
return NodeConnectionsPanel.instance();
},
tags: [i18nLazyString(UIStrings.node)],
});
UI.ViewManager.registerViewExtension({
location: UI.ViewManager.ViewLocationValues.NAVIGATOR_VIEW,
id: 'navigator-network',
title: i18nLazyString(UIStrings.networkTitle),
commandPrompt: i18nLazyString(UIStrings.showNode),
order: 2,
persistence: UI.ViewManager.ViewPersistence.PERMANENT,
async loadView() {
const Sources = await loadSourcesModule();
return Sources.SourcesNavigator.NetworkNavigatorView.instance();
},
});
// @ts-ignore Exposed for legacy layout tests
self.runtime = Root.Runtime.Runtime.instance({forceNew: true});
Common.Runnable.registerEarlyInitializationRunnable(NodeMainImpl.instance);
new Main.MainImpl.MainImpl();