Skip to content

Commit d8e2801

Browse files
committed
chore(extension): move to tsdown
1 parent 72df0d0 commit d8e2801

17 files changed

+92
-145
lines changed

packages/chrome-extension/manifest.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
"default_title": "Vue DevTools"
1010
},
1111
"background": {
12-
"service_worker": "dist/background.js"
12+
"service_worker": "dist/background.js",
13+
"type": "module"
1314
},
1415
"content_scripts": [
1516
{

packages/chrome-extension/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
"dist"
1010
],
1111
"scripts": {
12-
"build": "cross-env NODE_ENV=production tsup",
13-
"dev": "cross-env NODE_ENV=development tsup --watch"
12+
"build": "cross-env NODE_ENV=production tsdown",
13+
"dev": "cross-env NODE_ENV=development tsdown --watch"
1414
},
1515
"dependencies": {
1616
"@vue/devtools-core": "workspace:^",

packages/chrome-extension/pages/devtools-panel.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@
1919
<div id="container">
2020
<div id="app"></div>
2121
</div>
22-
<script src="../dist/devtools-panel.js"></script>
22+
<script type="module" src="../dist/devtools-panel.js"></script>
2323
</body>
2424
</html>

packages/chrome-extension/src/devtools-overlay.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ if (document instanceof HTMLDocument) {
44
// create detector script
55
const detector = document.createElement('script')
66
detector.src = chrome.runtime.getURL('dist/detector.js')
7+
detector.type = 'module'
78
detector.onload = () => {
89
detector.parentNode!.removeChild(detector)
910
}

packages/chrome-extension/src/devtools-panel.ts

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,7 @@
1-
// import { Bridge } from '../../core/src/bridge'
21
import { functions, onRpcConnected } from '@vue/devtools-core'
32
import { createRpcClient } from '@vue/devtools-kit'
43
import { disconnectDevToolsClient, initDevTools, reloadDevToolsClient } from '../client/devtools-panel'
54

6-
const connectionInfo: {
7-
retryTimer: NodeJS.Timeout | null
8-
count: number
9-
disconnected: boolean
10-
port: chrome.runtime.Port
11-
listeners: Array<() => void>
12-
} = {
13-
retryTimer: null,
14-
count: 0,
15-
disconnected: false,
16-
port: null!,
17-
listeners: [],
18-
}
19-
20-
// function connect() {
21-
// try {
22-
// clearTimeout(connectionInfo.retryTimer!)
23-
// connectionInfo.count++
24-
// connectionInfo.port = chrome.runtime.connect({
25-
// name: `${chrome.devtools.inspectedWindow.tabId}`,
26-
// })
27-
28-
// connectionInfo.disconnected = false
29-
// connectionInfo.port.onDisconnect.addListener(() => {
30-
// connectionInfo.disconnected = true
31-
// connectionInfo.retryTimer = setTimeout(connect, 1000)
32-
// })
33-
// if (connectionInfo.count > 1)
34-
// connectionInfo.listeners.forEach(fn => connectionInfo.port.onMessage.addListener(fn))
35-
// }
36-
// catch (e) {
37-
// connectionInfo.disconnected = true
38-
// connectionInfo.retryTimer = setTimeout(connect, 5000)
39-
// }
40-
// }
41-
425
function init() {
436
injectScript(chrome.runtime.getURL('dist/user-app.js'), () => {
447
initDevTools()
@@ -64,6 +27,7 @@ function injectScript(scriptName: string, cb: () => void) {
6427
(function() {
6528
var script = document.constructor.prototype.createElement.call(document, 'script');
6629
script.src = "${scriptName}";
30+
script.type = "module";
6731
document.documentElement.appendChild(script);
6832
script.parentNode.removeChild(script);
6933
})()

packages/chrome-extension/src/proxy.ts

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,3 @@ import { createRpcProxy } from '@vue/devtools-kit'
88
createRpcProxy({
99
preset: 'extension',
1010
})
11-
12-
// const port = chrome.runtime.connect({
13-
// name: 'content-script',
14-
// })
15-
16-
// function sendMessageToUserApp(payload) {
17-
// window.postMessage({
18-
// source: '__VUE_DEVTOOLS_PROXY__',
19-
// payload,
20-
// }, '*')
21-
// }
22-
23-
// function sendMessageToDevTools(e) {
24-
// if (e.data && e.data.source === '__VUE_DEVTOOLS_USER_APP__')
25-
// port.postMessage(e.data.payload)
26-
// }
27-
28-
// port.onMessage.addListener(sendMessageToUserApp)
29-
// window.addEventListener('message', sendMessageToDevTools)
30-
// port.onDisconnect.addListener(() => {
31-
// window.removeEventListener('message', sendMessageToDevTools)
32-
// sendMessageToUserApp({
33-
// event: 'shutdown',
34-
// })
35-
// })
36-
37-
// sendMessageToUserApp({
38-
// event: 'init',
39-
// })

packages/chrome-extension/src/user-app.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,5 @@ createRpcServer(functions, {
1010
function handshake(e: MessageEvent) {
1111
if (e.data.source === 'proxy->server' && e.data.payload.event === 'init') {
1212
window.removeEventListener('message', handshake)
13-
14-
const listeners: ((event: unknown) => void)[] = []
1513
}
1614
}
17-
18-
// window.addEventListener('message', toggleOverlay)
19-
20-
// function toggleOverlay(e) {
21-
// const data = e.data
22-
// const payload = data.payload
23-
// if (data.source === '__VUE_DEVTOOLS_OVERLAY__' && payload.event === 'toggle-view-mode') {
24-
// // @TODO: refactor
25-
// target?.__VUE_DEVTOOLS_TOGGLE_OVERLAY__?.(payload.data === 'overlay')
26-
// }
27-
// }
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { defineConfig } from 'tsdown'
2+
3+
const NO_EXTERNAL = ['@vue/devtools-core', '@vue/devtools-kit', '@vue/devtools-shared']
4+
function createIIFEConfig(entry: string) {
5+
return {
6+
entry: [entry],
7+
clean: false,
8+
format: 'iife' as const,
9+
outputOptions: {
10+
entryFileNames: '[name].js',
11+
},
12+
define: {
13+
'process.env': JSON.stringify({
14+
NODE_ENV: 'production',
15+
}),
16+
'__VUE_OPTIONS_API__': 'true',
17+
'__VUE_PROD_DEVTOOLS__': 'true',
18+
},
19+
noExternal: NO_EXTERNAL,
20+
}
21+
}
22+
export default defineConfig([{
23+
entry: [
24+
'src/*.ts',
25+
'!src/proxy.ts',
26+
'!src/prepare.ts',
27+
'!src/devtools-overlay.ts',
28+
],
29+
define: {
30+
'process.env': JSON.stringify({
31+
NODE_ENV: 'production',
32+
}),
33+
'__VUE_OPTIONS_API__': 'true',
34+
'__VUE_PROD_DEVTOOLS__': 'true',
35+
},
36+
clean: false,
37+
noExternal: NO_EXTERNAL,
38+
}, createIIFEConfig('src/proxy.ts'), createIIFEConfig('src/prepare.ts'), createIIFEConfig('src/devtools-overlay.ts')])

packages/chrome-extension/tsup.config.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.

packages/firefox-extension/manifest.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"persistent": true,
44
"scripts": [
55
"dist/background.js"
6-
]
6+
],
7+
"type": "module"
78
},
89
"browser_action": {
910
"default_icon": {

0 commit comments

Comments
 (0)