Skip to content

Commit b4b5b48

Browse files
authored
fix(types): fix "any" type in arguments of config.beforeSend (#539)
1 parent fea02a5 commit b4b5b48

File tree

4 files changed

+8
-13
lines changed

4 files changed

+8
-13
lines changed

src/module.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export default defineNuxtModule<ModuleConfiguration>({
6363
}
6464

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

src/types/configuration.d.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,12 @@ export interface ModuleConfiguration {
4646
lazy: boolean | LazyConfiguration
4747
logMockCalls: boolean
4848
/** See available options at https://github.com/getsentry/sentry-webpack-plugin */
49-
publishRelease: boolean | SentryCliPluginOptions
49+
publishRelease: boolean | Partial<SentryCliPluginOptions>
5050
runtimeConfigKey: string
5151
serverConfig: NodeOptions | string
5252
serverIntegrations: ServerIntegrations
5353
sourceMapStyle: WebpackOptions['devtool']
5454
requestHandlerConfig: Handlers.RequestHandlerOptions
5555
}
5656

57-
type DeepPartial<T> = {
58-
[P in keyof T]?: T[P] extends Array<infer I>
59-
? Array<DeepPartial<I>>
60-
: DeepPartial<T[P]>;
61-
}
62-
63-
export type DeepPartialModuleConfiguration = DeepPartial<ModuleConfiguration>
57+
export type PartialModuleConfiguration = Partial<ModuleConfiguration>

src/types/extend.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import 'vue'
22
import 'vuex'
33
import '@nuxt/types'
44
import { Client } from '@sentry/types'
5-
import { DeepPartialModuleConfiguration } from './configuration'
5+
import { PartialModuleConfiguration } from './configuration'
66

7-
export type ModulePublicRuntimeConfig = Pick<DeepPartialModuleConfiguration, 'config' | 'clientConfig' | 'serverConfig'>
7+
export type ModulePublicRuntimeConfig = Pick<PartialModuleConfiguration, 'config' | 'clientConfig' | 'serverConfig'>
88

99
// add type to Vue context
1010
declare module 'vue/types/vue' {
@@ -24,7 +24,7 @@ declare module '@nuxt/types' {
2424
}
2525

2626
interface NuxtOptions {
27-
sentry?: DeepPartialModuleConfiguration
27+
sentry?: PartialModuleConfiguration
2828
}
2929

3030
interface NuxtAppOptions {

src/types/index.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { DeepPartialModuleConfiguration, ModuleConfiguration } from './configuration'
1+
import { PartialModuleConfiguration, ModuleConfiguration } from './configuration'
22
import { ModulePublicRuntimeConfig } from './extend'
33

4-
type ModuleOptions = DeepPartialModuleConfiguration
4+
type ModuleOptions = PartialModuleConfiguration
55

66
export { ModuleOptions, ModulePublicRuntimeConfig, ModuleConfiguration }

0 commit comments

Comments
 (0)