Skip to content

Commit 32ff4fa

Browse files
authored
fix: improve registry script DX and type safety (#647)
1 parent f3a4b68 commit 32ff4fa

20 files changed

Lines changed: 33 additions & 38 deletions

src/module.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,9 @@ export default defineNuxtModule<ModuleOptions>({
343343
// NUXT_PUBLIC_SCRIPTS_<SCRIPT>_<KEY> works without manual runtimeConfig
344344
const registryWithDefaults: Record<string, any> = {}
345345
for (const [key, value] of Object.entries(config.registry)) {
346+
if (value === false) {
347+
continue
348+
}
346349
if (value && REGISTRY_ENV_DEFAULTS[key]) {
347350
const envDefaults = REGISTRY_ENV_DEFAULTS[key]
348351
if (value === true || value === 'mock') {

src/runtime/registry/bluesky-embed.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export interface BlueskyEmbedPostData {
7171
labels: Array<{ val: string }>
7272
}
7373

74-
export type BlueskyEmbedInput = RegistryScriptInput<typeof BlueskyEmbedOptions, false, false, false>
74+
export type BlueskyEmbedInput = RegistryScriptInput<typeof BlueskyEmbedOptions, false, false>
7575

7676
const BSKY_POST_URL_RE = /bsky\.app\/profile\/([^/]+)\/post\/([^/?]+)/
7777

src/runtime/registry/crisp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { CrispOptions } from './schemas'
44

55
export { CrispOptions }
66

7-
export type CrispInput = RegistryScriptInput<typeof CrispOptions, false, false, false>
7+
export type CrispInput = RegistryScriptInput<typeof CrispOptions, false, false>
88

99
export interface CrispApi {
1010
push: (...args: any[]) => void

src/runtime/registry/fathom-analytics.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { FathomAnalyticsOptions } from './schemas'
44

55
export { FathomAnalyticsOptions }
66

7-
export type FathomAnalyticsInput = RegistryScriptInput<typeof FathomAnalyticsOptions, false, false, false>
7+
export type FathomAnalyticsInput = RegistryScriptInput<typeof FathomAnalyticsOptions, false, false>
88

99
export interface FathomAnalyticsApi {
1010
beacon: (ctx: { url: string, referrer?: string }) => void

src/runtime/registry/google-adsense.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { GoogleAdsenseOptions } from './schemas'
55

66
export { GoogleAdsenseOptions }
77

8-
export type GoogleAdsenseInput = RegistryScriptInput<typeof GoogleAdsenseOptions, true, false, false>
8+
export type GoogleAdsenseInput = RegistryScriptInput<typeof GoogleAdsenseOptions, true, false>
99

1010
export interface GoogleAdsenseApi {
1111
/**

src/runtime/registry/hotjar.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ declare global {
1616
}
1717
}
1818

19-
export type HotjarInput = RegistryScriptInput<typeof HotjarOptions, true, false, false>
19+
export type HotjarInput = RegistryScriptInput<typeof HotjarOptions, true, false>
2020

2121
export function useScriptHotjar<T extends HotjarApi>(_options?: HotjarInput) {
2222
return useRegistryScript<T, typeof HotjarOptions>('hotjar', options => ({

src/runtime/registry/instagram-embed.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { InstagramEmbedOptions } from './schemas'
33

44
export { InstagramEmbedOptions }
55

6-
export type InstagramEmbedInput = RegistryScriptInput<typeof InstagramEmbedOptions, false, false, false>
6+
export type InstagramEmbedInput = RegistryScriptInput<typeof InstagramEmbedOptions, false, false>
77

88
const INSTAGRAM_SHORTCODE_RE = /instagram\.com\/(?:p|reel|tv)\/([^/?]+)/
99

src/runtime/registry/intercom.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { IntercomOptions } from './schemas'
66

77
export { IntercomOptions }
88

9-
export type IntercomInput = RegistryScriptInput<typeof IntercomOptions, true, false, false>
9+
export type IntercomInput = RegistryScriptInput<typeof IntercomOptions, true, false>
1010

1111
export interface IntercomApi {
1212
Intercom: ((event: 'boot', data?: InferInput<typeof IntercomOptions>) => void)

src/runtime/registry/matomo-analytics.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { MatomoAnalyticsOptions } from './schemas'
77

88
export { MatomoAnalyticsOptions }
99

10-
export type MatomoAnalyticsInput = RegistryScriptInput<typeof MatomoAnalyticsOptions, false, false, false>
10+
export type MatomoAnalyticsInput = RegistryScriptInput<typeof MatomoAnalyticsOptions, false, false>
1111

1212
interface MatomoAnalyticsApi {
1313
_paq: unknown[]

src/runtime/registry/meta-pixel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ declare global {
4848
}
4949

5050
export { MetaPixelOptions }
51-
export type MetaPixelInput = RegistryScriptInput<typeof MetaPixelOptions, true, false, false>
51+
export type MetaPixelInput = RegistryScriptInput<typeof MetaPixelOptions, true, false>
5252

5353
export function useScriptMetaPixel<T extends MetaPixelApi>(_options?: MetaPixelInput) {
5454
return useRegistryScript<T, typeof MetaPixelOptions>('metaPixel', options => ({

0 commit comments

Comments
 (0)