Skip to content

Commit 5fd4a44

Browse files
authored
fix: respect open-in-editor host option (#281)
1 parent 611af04 commit 5fd4a44

File tree

9 files changed

+24
-10
lines changed

9 files changed

+24
-10
lines changed

packages/client/src/components/assets/AssetDetails.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
<script setup lang="ts">
22
import { useTimeAgo } from '@vueuse/core'
33
import type { AssetInfo, CodeSnippet, ImageMeta } from '@vue/devtools-core'
4-
import { callViteServerAction, openInEditor, useDevToolsState } from '@vue/devtools-core'
4+
import { callViteServerAction, useDevToolsState } from '@vue/devtools-core'
55
import { VueButton, VueIcon, VTooltip as vTooltip } from '@vue/devtools-ui'
6+
import { openInEditor } from '../../composables/open-in-editor'
67
78
const props = defineProps<{
89
modelValue: AssetInfo

packages/client/src/components/graph/GraphDrawer.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<script setup lang="ts">
22
import { VueButton, VueDrawer, showVueNotification } from '@vue/devtools-ui'
3-
import { openInEditor, useDevToolsState } from '@vue/devtools-core'
3+
import { useDevToolsState } from '@vue/devtools-core'
4+
import { openInEditor } from '../../composables/open-in-editor'
45
56
defineProps<{
67
top?: HTMLElement

packages/client/src/components/pages/RoutesTable.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<script setup lang="ts">
22
import { VueBadge } from '@vue/devtools-ui'
33
import type { RouteRecordNormalized } from 'vue-router'
4-
import { openInEditor, useDevToolsState } from '@vue/devtools-core'
4+
import { useDevToolsState } from '@vue/devtools-core'
5+
import { openInEditor } from '../../composables/open-in-editor'
56
67
const props = defineProps<{
78
pages: RouteRecordNormalized[]
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1+
import { openInEditor as _openInEditor, callViteServerAction } from '@vue/devtools-core'
2+
3+
const getOpenInEditorHost = callViteServerAction<string>('get-open-in-editor-host')
14
export const vueInspectorDetected = ref(false)
5+
6+
export const openInEditor = async (file: string) => {
7+
const openInEditorHost = await getOpenInEditorHost()
8+
return openInEditorHost ? _openInEditor(file, openInEditorHost) : _openInEditor(file)
9+
}

packages/client/src/pages/components.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
inspectComponentInspector as inspectComponentInspectorAction,
77
onInspectorStateUpdated,
88
onInspectorTreeUpdated,
9-
openInEditor,
109
scrollToComponent as scrollToComponentAction,
1110
toggleComponentInspector as toggleComponentInspectorAction,
1211
updateInspectorTreeId,
@@ -19,6 +18,7 @@ import { parse } from '@vue/devtools-kit'
1918
2019
import { VueIcon, VueInput, VTooltip as vTooltip } from '@vue/devtools-ui'
2120
import { Pane, Splitpanes } from 'splitpanes'
21+
import { openInEditor } from '../composables/open-in-editor'
2222
2323
const inspectorId = 'components'
2424
const bridge = useDevToolsBridge()

packages/core/src/bridge-events/devtools-actions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ export const editInspectorState = defineDevToolsAction('devtools:edit-inspector-
2020
devtools.api.editInspectorState(payload)
2121
})
2222

23-
export const openInEditor = defineDevToolsAction('devtools:open-in-editor', (devtools, file: string) => {
24-
devtools.api.openInEditor({ file })
23+
export const openInEditor = defineDevToolsAction('devtools:open-in-editor', (devtools, file: string, baseUrl?: string) => {
24+
devtools.api.openInEditor({ file, baseUrl })
2525
})
2626

2727
export const getInspectorTree = defineDevToolsAction('devtools:inspector-tree', async (devtools, payload) => {

packages/devtools-kit/src/core/open-in-editor/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ import { target } from '@vue/devtools-shared'
22
import { devtoolsState } from '../../state'
33

44
export interface OpenInEditorOptions {
5+
baseUrl?: string
56
file?: string
67
line?: number
78
column?: number
89
}
910

1011
export function openInEditor(options: OpenInEditorOptions = {}) {
11-
const { file, line = 0, column = 0 } = options
12+
const { file, baseUrl = window.location.origin, line = 0, column = 0 } = options
1213
if (file) {
13-
const baseUrl = window.location.origin
1414
if (devtoolsState.vitePluginDetected) {
1515
target.__VUE_INSPECTOR__.openInEditor(baseUrl, file, line, column)
1616
}
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { defineViteServerAction } from '@vue/devtools-core'
22
import type { ResolvedConfig } from 'vite'
33

4-
export function getViteConfig(config: ResolvedConfig) {
4+
export function getViteConfig(config: ResolvedConfig, pluginOptions) {
55
defineViteServerAction('get-vite-root', () => {
66
return config.root
77
})
8+
defineViteServerAction('get-open-in-editor-host', () => {
9+
return pluginOptions.openInEditorHost
10+
})
811
}

packages/vite/src/vite.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ export default function VitePluginVueDevTools(options?: VitePluginVueDevToolsOpt
9292

9393
// vite client <-> server messaging
9494
initViteServerContext(server)
95-
getViteConfig(config)
95+
getViteConfig(config, pluginOptions)
9696
setupGraphModule({
9797
rpc: inspect.api.rpc,
9898
server,

0 commit comments

Comments
 (0)