- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1.7k
Closed
4 / 44 of 4 issues completedClosed
4 / 44 of 4 issues completed
Copy link
Description
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.js
- sentryconfig field for the- @sentry/nuxt/modulemodule
- sentryintegration in Astro
- sentrySolidStartVitein 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 @deprecatednotice 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.
andreiborza, jared-christensen and h3llomoto
Sub-issues
Metadata
Metadata
Assignees
Labels
No labels