-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
Copy pathsdkMetadata.ts
32 lines (29 loc) · 1.04 KB
/
sdkMetadata.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import type { Options } from '../types-hoist';
import { SDK_VERSION } from '../utils-hoist/version';
/**
* A builder for the SDK metadata in the options for the SDK initialization.
*
* Note: This function is identical to `buildMetadata` in Remix and NextJS and SvelteKit.
* We don't extract it for bundle size reasons.
* @see https://github.com/getsentry/sentry-javascript/pull/7404
* @see https://github.com/getsentry/sentry-javascript/pull/4196
*
* If you make changes to this function consider updating the others as well.
*
* @param options SDK options object that gets mutated
* @param names list of package names
*/
export function applySdkMetadata(options: Options, name: string, names = [name], source = 'npm'): void {
const metadata = options._metadata || {};
if (!metadata.sdk) {
metadata.sdk = {
name: `sentry.javascript.${name}`,
packages: names.map(name => ({
name: `${source}:@sentry/${name}`,
version: SDK_VERSION,
})),
version: SDK_VERSION,
};
}
options._metadata = metadata;
}