@react-native/debugger-frontend
Version:
Debugger frontend for React Native based on Chrome DevTools
2 lines (1 loc) • 13.5 kB
JavaScript
import"../shell/shell.js";import*as e from"../../core/common/common.js";import*as t from"../../core/i18n/i18n.js";import*as o from"../../ui/legacy/legacy.js";import*as n from"../../core/root/root.js";import*as i from"../../core/sdk/sdk.js";import*as r from"../../models/extensions/extensions.js";import*as a from"../../models/workspace/workspace.js";import*as s from"../../panels/network/forward/forward.js";import*as l from"../../core/host/host.js";import*as c from"../../ui/legacy/components/utils/utils.js";import*as g from"../main/main.js";const w={performance:"Performance",showPerformance:"Show Performance",showRecentTimelineSessions:"Show recent timeline sessions",record:"Record",stop:"Stop",recordAndReload:"Record and reload"},d=t.i18n.registerUIStrings("panels/js_timeline/js_timeline-meta.ts",w),k=t.i18n.getLazilyComputedLocalizedString.bind(void 0,d);let m;async function u(){return m||(m=await import("../../panels/timeline/timeline.js")),m}function p(e){return void 0===m?[]:e(m)}o.ViewManager.registerViewExtension({location:"panel",id:"timeline",title:k(w.performance),commandPrompt:k(w.showPerformance),order:66,hasToolbar:!1,isPreviewFeature:!0,loadView:async()=>(await u()).TimelinePanel.TimelinePanel.instance({forceNew:null,isNode:!0})}),o.ActionRegistration.registerActionExtension({actionId:"timeline.show-history",loadActionDelegate:async()=>new((await u()).TimelinePanel.ActionDelegate),category:"PERFORMANCE",title:k(w.showRecentTimelineSessions),contextTypes:()=>p((e=>[e.TimelinePanel.TimelinePanel])),bindings:[{platform:"windows,linux",shortcut:"Ctrl+H"},{platform:"mac",shortcut:"Meta+Y"}]}),o.ActionRegistration.registerActionExtension({actionId:"timeline.toggle-recording",category:"PERFORMANCE",iconClass:"record-start",toggleable:!0,toggledIconClass:"record-stop",toggleWithRedColor:!0,contextTypes:()=>p((e=>[e.TimelinePanel.TimelinePanel])),loadActionDelegate:async()=>new((await u()).TimelinePanel.ActionDelegate),options:[{value:!0,title:k(w.record)},{value:!1,title:k(w.stop)}],bindings:[{platform:"windows,linux",shortcut:"Ctrl+E"},{platform:"mac",shortcut:"Meta+E"}]}),o.ActionRegistration.registerActionExtension({actionId:"timeline.record-reload",iconClass:"refresh",contextTypes:()=>p((e=>[e.TimelinePanel.TimelinePanel])),category:"PERFORMANCE",title:k(w.recordAndReload),loadActionDelegate:async()=>new((await u()).TimelinePanel.ActionDelegate),bindings:[{platform:"windows,linux",shortcut:"Ctrl+Shift+E"},{platform:"mac",shortcut:"Meta+Shift+E"}]}),e.Settings.registerSettingExtension({category:"PERFORMANCE",storageType:"Synced",settingName:"annotations-hidden",settingType:"boolean",defaultValue:!0});const y={throttling:"Throttling",showThrottling:"Show Throttling",goOffline:"Go offline",device:"device",throttlingTag:"throttling",enableSlowGThrottling:"Enable slow `3G` throttling",enableFastGThrottling:"Enable fast `3G` throttling",goOnline:"Go online"},R=t.i18n.registerUIStrings("panels/mobile_throttling/mobile_throttling-meta.ts",y),h=t.i18n.getLazilyComputedLocalizedString.bind(void 0,R);let T;async function N(){return T||(T=await import("../../panels/mobile_throttling/mobile_throttling.js")),T}o.ViewManager.registerViewExtension({location:"settings-view",id:"throttling-conditions",title:h(y.throttling),commandPrompt:h(y.showThrottling),order:35,loadView:async()=>new((await N()).ThrottlingSettingsTab.ThrottlingSettingsTab),settings:["custom-network-conditions","calibrated-cpu-throttling"],iconName:"performance"}),o.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-offline",category:"NETWORK",title:h(y.goOffline),loadActionDelegate:async()=>new((await N()).ThrottlingManager.ActionDelegate),tags:[h(y.device),h(y.throttlingTag)]}),o.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-low-end-mobile",category:"NETWORK",title:h(y.enableSlowGThrottling),loadActionDelegate:async()=>new((await N()).ThrottlingManager.ActionDelegate),tags:[h(y.device),h(y.throttlingTag)]}),o.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-mid-tier-mobile",category:"NETWORK",title:h(y.enableFastGThrottling),loadActionDelegate:async()=>new((await N()).ThrottlingManager.ActionDelegate),tags:[h(y.device),h(y.throttlingTag)]}),o.ActionRegistration.registerActionExtension({actionId:"network-conditions.network-online",category:"NETWORK",title:h(y.goOnline),loadActionDelegate:async()=>new((await N()).ThrottlingManager.ActionDelegate),tags:[h(y.device),h(y.throttlingTag)]}),e.Settings.registerSettingExtension({storageType:"Synced",settingName:"custom-network-conditions",settingType:"array",defaultValue:[]});const v={showNetwork:"Show Network",network:"Network",networkExpoUnstable:"Expo Network",showNetworkRequestBlocking:"Show Network request blocking",networkRequestBlocking:"Network request blocking",showNetworkConditions:"Show Network conditions",networkConditions:"Network conditions",diskCache:"disk cache",networkThrottling:"network throttling",showSearch:"Show Search",search:"Search",recordNetworkLog:"Record network log",stopRecordingNetworkLog:"Stop recording network log",hideRequestDetails:"Hide request details",colorcodeResourceTypes:"Color-code resource types",colorCode:"color code",resourceType:"resource type",colorCodeByResourceType:"Color code by resource type",useDefaultColors:"Use default colors",groupNetworkLogByFrame:"Group network log by frame",netWork:"network",frame:"frame",group:"group",groupNetworkLogItemsByFrame:"Group network log items by frame",dontGroupNetworkLogItemsByFrame:"Don't group network log items by frame",clear:"Clear network log",addNetworkRequestBlockingPattern:"Add network request blocking pattern",removeAllNetworkRequestBlockingPatterns:"Remove all network request blocking patterns",allowToGenerateHarWithSensitiveData:"Allow to generate `HAR` with sensitive data",dontAllowToGenerateHarWithSensitiveData:"Don't allow to generate `HAR` with sensitive data",allowToGenerateHarWithSensitiveDataDocumentation:"By default generated HAR logs are sanitized and don't include `Cookie`, `Set-Cookie`, or `Authorization` HTTP headers. When this setting is enabled, options to export/copy HAR with sensitive data are provided."},A=t.i18n.registerUIStrings("panels/network/network-meta.ts",v),f=t.i18n.getLazilyComputedLocalizedString.bind(void 0,A),E=t.i18n.getLocalizedString.bind(void 0,A);let P;async function S(){return P||(P=await import("../../panels/network/network.js")),P}function b(e){return void 0===P?[]:e(P)}o.ViewManager.registerViewExtension({location:"panel",id:"network",commandPrompt:f(v.showNetwork),title:()=>n.Runtime.conditions.reactNativeExpoNetworkPanel()?E(v.networkExpoUnstable):E(v.network),order:40,loadView:async()=>(await S()).NetworkPanel.NetworkPanel.instance()}),o.ViewManager.registerViewExtension({location:"drawer-view",id:"network.blocked-urls",commandPrompt:f(v.showNetworkRequestBlocking),title:f(v.networkRequestBlocking),persistence:"closeable",order:60,loadView:async()=>new((await S()).BlockedURLsPane.BlockedURLsPane)}),o.ViewManager.registerViewExtension({location:"drawer-view",id:"network.config",commandPrompt:f(v.showNetworkConditions),title:f(v.networkConditions),persistence:"closeable",order:40,tags:[f(v.diskCache),f(v.networkThrottling),t.i18n.lockedLazyString("useragent"),t.i18n.lockedLazyString("user agent"),t.i18n.lockedLazyString("user-agent")],loadView:async()=>(await S()).NetworkConfigView.NetworkConfigView.instance()}),o.ViewManager.registerViewExtension({location:"network-sidebar",id:"network.search-network-tab",commandPrompt:f(v.showSearch),title:f(v.search),persistence:"permanent",loadView:async()=>(await S()).NetworkPanel.SearchNetworkView.instance()}),o.ActionRegistration.registerActionExtension({actionId:"network.toggle-recording",category:"NETWORK",iconClass:"record-start",toggleable:!0,toggledIconClass:"record-stop",toggleWithRedColor:!0,contextTypes:()=>b((e=>[e.NetworkPanel.NetworkPanel])),loadActionDelegate:async()=>new((await S()).NetworkPanel.ActionDelegate),options:[{value:!0,title:f(v.recordNetworkLog)},{value:!1,title:f(v.stopRecordingNetworkLog)}],bindings:[{shortcut:"Ctrl+E",platform:"windows,linux"},{shortcut:"Meta+E",platform:"mac"}]}),o.ActionRegistration.registerActionExtension({actionId:"network.clear",category:"NETWORK",title:f(v.clear),iconClass:"clear",loadActionDelegate:async()=>new((await S()).NetworkPanel.ActionDelegate),contextTypes:()=>b((e=>[e.NetworkPanel.NetworkPanel])),bindings:[{shortcut:"Ctrl+L"},{shortcut:"Meta+K",platform:"mac"}]}),o.ActionRegistration.registerActionExtension({actionId:"network.hide-request-details",category:"NETWORK",title:f(v.hideRequestDetails),contextTypes:()=>b((e=>[e.NetworkPanel.NetworkPanel])),loadActionDelegate:async()=>new((await S()).NetworkPanel.ActionDelegate),bindings:[{shortcut:"Esc"}]}),o.ActionRegistration.registerActionExtension({actionId:"network.search",category:"NETWORK",title:f(v.search),contextTypes:()=>b((e=>[e.NetworkPanel.NetworkPanel])),loadActionDelegate:async()=>new((await S()).NetworkPanel.ActionDelegate),bindings:[{platform:"mac",shortcut:"Meta+F",keybindSets:["devToolsDefault","vsCode"]},{platform:"windows,linux",shortcut:"Ctrl+F",keybindSets:["devToolsDefault","vsCode"]}]}),o.ActionRegistration.registerActionExtension({actionId:"network.add-network-request-blocking-pattern",category:"NETWORK",title:f(v.addNetworkRequestBlockingPattern),iconClass:"plus",contextTypes:()=>b((e=>[e.BlockedURLsPane.BlockedURLsPane])),loadActionDelegate:async()=>new((await S()).BlockedURLsPane.ActionDelegate)}),o.ActionRegistration.registerActionExtension({actionId:"network.remove-all-network-request-blocking-patterns",category:"NETWORK",title:f(v.removeAllNetworkRequestBlockingPatterns),iconClass:"clear",contextTypes:()=>b((e=>[e.BlockedURLsPane.BlockedURLsPane])),loadActionDelegate:async()=>new((await S()).BlockedURLsPane.ActionDelegate)}),e.Settings.registerSettingExtension({category:"NETWORK",storageType:"Synced",title:f(v.allowToGenerateHarWithSensitiveData),settingName:"network.show-options-to-generate-har-with-sensitive-data",settingType:"boolean",defaultValue:!1,tags:[t.i18n.lockedLazyString("HAR")],options:[{value:!0,title:f(v.allowToGenerateHarWithSensitiveData)},{value:!1,title:f(v.dontAllowToGenerateHarWithSensitiveData)}],learnMore:{url:"https://goo.gle/devtools-export-hars",tooltip:f(v.allowToGenerateHarWithSensitiveDataDocumentation)}}),e.Settings.registerSettingExtension({category:"NETWORK",storageType:"Synced",title:f(v.colorcodeResourceTypes),settingName:"network-color-code-resource-types",settingType:"boolean",defaultValue:!1,tags:[f(v.colorCode),f(v.resourceType)],options:[{value:!0,title:f(v.colorCodeByResourceType)},{value:!1,title:f(v.useDefaultColors)}]}),e.Settings.registerSettingExtension({category:"NETWORK",storageType:"Synced",title:f(v.groupNetworkLogByFrame),settingName:"network.group-by-frame",settingType:"boolean",defaultValue:!1,tags:[f(v.netWork),f(v.frame),f(v.group)],options:[{value:!0,title:f(v.groupNetworkLogItemsByFrame)},{value:!1,title:f(v.dontGroupNetworkLogItemsByFrame)}]}),o.ViewManager.registerLocationResolver({name:"network-sidebar",category:"NETWORK",loadResolver:async()=>(await S()).NetworkPanel.NetworkPanel.instance()}),o.ContextMenu.registerProvider({contextTypes:()=>[i.NetworkRequest.NetworkRequest,i.Resource.Resource,a.UISourceCode.UISourceCode,i.TraceObject.RevealableNetworkRequest],loadProvider:async()=>(await S()).NetworkPanel.NetworkPanel.instance(),experiment:void 0}),e.Revealer.registerRevealer({contextTypes:()=>[i.NetworkRequest.NetworkRequest],destination:e.Revealer.RevealerDestination.NETWORK_PANEL,loadRevealer:async()=>new((await S()).NetworkPanel.RequestRevealer)}),e.Revealer.registerRevealer({contextTypes:()=>[s.UIRequestLocation.UIRequestLocation],destination:void 0,loadRevealer:async()=>new((await S()).NetworkPanel.RequestLocationRevealer)}),e.Revealer.registerRevealer({contextTypes:()=>[s.NetworkRequestId.NetworkRequestId],destination:e.Revealer.RevealerDestination.NETWORK_PANEL,loadRevealer:async()=>new((await S()).NetworkPanel.RequestIdRevealer)}),e.Revealer.registerRevealer({contextTypes:()=>[s.UIFilter.UIRequestFilter,r.ExtensionServer.RevealableNetworkRequestFilter],destination:e.Revealer.RevealerDestination.NETWORK_PANEL,loadRevealer:async()=>new((await S()).NetworkPanel.NetworkLogWithFilterRevealer)});const x={main:"Main",networkTitle:"Scripts",showNode:"Show Scripts"},D=t.i18n.registerUIStrings("entrypoints/js_app/js_app.ts",x),C=t.i18n.getLocalizedString.bind(void 0,D),L=t.i18n.getLazilyComputedLocalizedString.bind(void 0,D);let I,q;class M{static instance(e={forceNew:null}){const{forceNew:t}=e;return I&&!t||(I=new M),I}async run(){l.userMetrics.actionTaken(l.UserMetrics.Action.ConnectToNodeJSDirectly),i.Connections.initMainConnection((async()=>{i.TargetManager.TargetManager.instance().createTarget("main",C(x.main),i.Target.Type.NODE,null).runtimeAgent().invoke_runIfWaitingForDebugger()}),c.TargetDetachedDialog.TargetDetachedDialog.connectionLost)}}o.ViewManager.registerViewExtension({location:"navigator-view",id:"navigator-network",title:L(x.networkTitle),commandPrompt:L(x.showNode),order:2,persistence:"permanent",loadView:async()=>(await async function(){return q||(q=await import("../../panels/sources/sources.js")),q}()).SourcesNavigator.NetworkNavigatorView.instance()}),e.Runnable.registerEarlyInitializationRunnable(M.instance),new g.MainImpl.MainImpl;export{M as JsMainImpl};