Skip to content

Commit

Permalink
fix(types): fix "any" type in arguments of config.beforeSend (#539)
Browse files Browse the repository at this point in the history
  • Loading branch information
rchl authored Mar 27, 2023
1 parent fea02a5 commit b4b5b48
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 13 deletions.
1 change: 1 addition & 0 deletions src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ export default defineNuxtModule<ModuleConfiguration>({
}

if (options.publishRelease) {
// @ts-expect-error Defu introduces "null" value in its merged types which cause error.
options.publishRelease = defu(options.publishRelease, defaultsPublishRelease)
}

Expand Down
10 changes: 2 additions & 8 deletions src/types/configuration.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,12 @@ export interface ModuleConfiguration {
lazy: boolean | LazyConfiguration
logMockCalls: boolean
/** See available options at https://github.com/getsentry/sentry-webpack-plugin */
publishRelease: boolean | SentryCliPluginOptions
publishRelease: boolean | Partial<SentryCliPluginOptions>
runtimeConfigKey: string
serverConfig: NodeOptions | string
serverIntegrations: ServerIntegrations
sourceMapStyle: WebpackOptions['devtool']
requestHandlerConfig: Handlers.RequestHandlerOptions
}

type DeepPartial<T> = {
[P in keyof T]?: T[P] extends Array<infer I>
? Array<DeepPartial<I>>
: DeepPartial<T[P]>;
}

export type DeepPartialModuleConfiguration = DeepPartial<ModuleConfiguration>
export type PartialModuleConfiguration = Partial<ModuleConfiguration>
6 changes: 3 additions & 3 deletions src/types/extend.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import 'vue'
import 'vuex'
import '@nuxt/types'
import { Client } from '@sentry/types'
import { DeepPartialModuleConfiguration } from './configuration'
import { PartialModuleConfiguration } from './configuration'

export type ModulePublicRuntimeConfig = Pick<DeepPartialModuleConfiguration, 'config' | 'clientConfig' | 'serverConfig'>
export type ModulePublicRuntimeConfig = Pick<PartialModuleConfiguration, 'config' | 'clientConfig' | 'serverConfig'>

// add type to Vue context
declare module 'vue/types/vue' {
Expand All @@ -24,7 +24,7 @@ declare module '@nuxt/types' {
}

interface NuxtOptions {
sentry?: DeepPartialModuleConfiguration
sentry?: PartialModuleConfiguration
}

interface NuxtAppOptions {
Expand Down
4 changes: 2 additions & 2 deletions src/types/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DeepPartialModuleConfiguration, ModuleConfiguration } from './configuration'
import { PartialModuleConfiguration, ModuleConfiguration } from './configuration'
import { ModulePublicRuntimeConfig } from './extend'

type ModuleOptions = DeepPartialModuleConfiguration
type ModuleOptions = PartialModuleConfiguration

export { ModuleOptions, ModulePublicRuntimeConfig, ModuleConfiguration }

0 comments on commit b4b5b48

Please sign in to comment.