diff --git a/packages/devtools/build.config.ts b/packages/devtools/build.config.ts index 52b79012c6..3d5cfe654a 100644 --- a/packages/devtools/build.config.ts +++ b/packages/devtools/build.config.ts @@ -1,7 +1,10 @@ +import { writeFile } from 'node:fs/promises' import { defineBuildConfig } from 'unbuild' import Vue from 'unplugin-vue/rollup' import { buildCSS } from './src/webcomponents/scripts/build-css' +const WEB_COMPONENTS_STUB = new URL('./dist/webcomponents/index.mjs', import.meta.url) + export default defineBuildConfig({ entries: [ 'src/module', @@ -39,5 +42,16 @@ export default defineBuildConfig({ return options.plugins.push(Vue()) }, + 'build:done': async (ctx) => { + if (!ctx.options.stub) + return + + // unbuild's default stub loads TypeScript through jiti. This entry is + // imported by the browser-side inspector plugin, where that Node-only + // loader cannot run. Vite can transform the source entry directly while + // developing this workspace; published builds still receive the bundled + // web component above. + await writeFile(WEB_COMPONENTS_STUB, `export * from '../../src/webcomponents/index.ts'\n`) + }, }, }) diff --git a/packages/devtools/client/app.vue b/packages/devtools/client/app.vue index 283940546f..8daaa69ef5 100644 --- a/packages/devtools/client/app.vue +++ b/packages/devtools/client/app.vue @@ -152,7 +152,7 @@ registerCommands(() => [ Connecting....