Description
We noticed that we keep re-inventing the wheel when it comes to build time configuration with source map options.
To apply the learnings from the past, it would probably make sense to align the options across frameworks.
withSentryConfig in Next.js
sentry config field for the @sentry/nuxt/module module
sentry integration in Astro
sentrySolidStartVite in SolidStart
"@sentry/gatsby" plugin for Gatsby
The general type to be used is the BuildTimeOptionsBase
Migration
- All previous build-time options should be marked with a
@deprecated notice in JSDoc
- The new build-time options take precedence over the old ones
- In the next major version, we'll delete the old build-time options
Archive
First strawman proposal for the type
interface BuildTimeOptions {
org?: string;
project?: string;
authToken?: string;
sentryUrl?: string;
headers?: Record<string, string>;
telemetry?: boolean;
silent?: boolean;
debug?: boolean;
sourcemaps?: {
disable?: boolean;
assets?: string | string[];
ignore?: string | string[];
deleteSourcemapsAfterUpload?: boolean;
};
release?: {
name?: string;
create?: boolean;
finalize?: boolean;
dist?: string;
vcsRemote?: string;
setCommits?: (
| {
auto: true;
repo?: undefined;
commit?: undefined;
}
| {
auto?: false | undefined;
repo: string;
commit: string;
}
) & {
previousCommit?: string;
ignoreMissing?: boolean;
ignoreEmpty?: boolean;
};
deploy?: {
env: string;
started?: number | string;
finished?: number | string;
time?: number;
name?: string;
url?: string;
};
};
bundleSizeOptimizations?: {
excludeDebugStatements?: boolean;
excludeTracing?: boolean;
excludeReplayShadowDom?: boolean;
excludeReplayIframe?: boolean;
excludeReplayWorker?: boolean;
};
unstable_sentryINSERTBUILDTOOLOFCHOICEHEREPluginOptions?: SentryINSERTBUILDTOOLOFCHOICEHEREPluginOptions;
hideSourceMaps?: boolean;
tunnelRoute?: string;
disableLogger?: boolean;
};
It is not necessary to implement all of these options right out the gate when building a new SDK, however, when deciding where to put an option we should follow the decided interface.
Description
We noticed that we keep re-inventing the wheel when it comes to build time configuration with source map options.
To apply the learnings from the past, it would probably make sense to align the options across frameworks.
withSentryConfigin Next.jssentryconfig field for the@sentry/nuxt/modulemodulesentryintegration in AstrosentrySolidStartVitein SolidStart"@sentry/gatsby"plugin for GatsbyThe general type to be used is the
BuildTimeOptionsBaseMigration
@deprecatednotice in JSDocArchive
First strawman proposal for the type
It is not necessary to implement all of these options right out the gate when building a new SDK, however, when deciding where to put an option we should follow the decided interface.