diff --git a/build.config.ts b/build.config.ts index 62955942..be8b75e0 100644 --- a/build.config.ts +++ b/build.config.ts @@ -3,5 +3,6 @@ import { defineBuildConfig } from 'unbuild' export default defineBuildConfig({ entries: [ './src/registry', + { input: './src/cli', builder: 'rollup' }, ], }) diff --git a/client/app.vue b/client/app.vue index 05934a78..98877dee 100644 --- a/client/app.vue +++ b/client/app.vue @@ -173,16 +173,29 @@ function titleToCamelCase(s: string) { } const version = ref(null) +const firstPartyStatus = ref<{ + enabled: boolean + scripts: string[] + routes: Record + collectPrefix: string +} | null>(null) + onDevtoolsClientConnected(async (client) => { devtools.value = client.devtools client.host.nuxt.hooks.hook('scripts:updated', (ctx) => { syncScripts(ctx.scripts) }) version.value = client.host.nuxt.$config.public['nuxt-scripts'].version + firstPartyStatus.value = client.host.nuxt.$config.public['nuxt-scripts-status'] || null syncScripts(client.host.nuxt._scripts || {}) }) const tab = ref('scripts') +function isFirstPartyScript(registryKey: string | undefined): boolean { + if (!registryKey || !firstPartyStatus.value?.enabled) return false + return firstPartyStatus.value.scripts.includes(registryKey) +} + function viewDocs(docs: string) { tab.value = 'docs' setTimeout(() => { @@ -268,7 +281,7 @@ function viewDocs(docs: string) { class="n-select-tabs flex flex-inline flex-wrap items-center border n-border-base rounded-lg n-bg-base" >