From cef07287266fcd8ab04e25e13f005679e35cd4ec Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Mon, 23 Oct 2023 16:48:22 +0200 Subject: [PATCH 1/2] fix(astro): Convert init file paths to POSIX paths --- packages/astro/src/integration/index.ts | 8 ++++++-- packages/astro/src/integration/snippets.ts | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/astro/src/integration/index.ts b/packages/astro/src/integration/index.ts index 0432fb8108d3..8a6ae06a3e14 100644 --- a/packages/astro/src/integration/index.ts +++ b/packages/astro/src/integration/index.ts @@ -55,7 +55,7 @@ export const sentryAstro = (options: SentryOptions = {}): AstroIntegration => { if (pathToClientInit) { options.debug && console.log(`[sentry-astro] Using ${pathToClientInit} for client init.`); - injectScript('page', buildSdkInitFileImportSnippet(pathToClientInit)); + injectScript('page', buildSdkInitFileImportSnippet(pathToPosix(pathToClientInit))); } else { options.debug && console.log('[sentry-astro] Using default client init.'); injectScript('page', buildClientSnippet(options || {})); @@ -63,7 +63,7 @@ export const sentryAstro = (options: SentryOptions = {}): AstroIntegration => { if (pathToServerInit) { options.debug && console.log(`[sentry-astro] Using ${pathToServerInit} for server init.`); - injectScript('page-ssr', buildSdkInitFileImportSnippet(pathToServerInit)); + injectScript('page-ssr', buildSdkInitFileImportSnippet(pathToPosix(pathToServerInit))); } else { options.debug && console.log('[sentry-astro] Using default server init.'); injectScript('page-ssr', buildServerSnippet(options || {})); @@ -79,3 +79,7 @@ function findDefaultSdkInitFile(type: 'server' | 'client'): string | undefined { .map(ext => path.resolve(path.join(process.cwd(), `sentry.${type}.config.${ext}`))) .find(filename => fs.existsSync(filename)); } + +function pathToPosix(originalPath: string): string { + return originalPath.split(path.sep).join(path.posix.sep); +} diff --git a/packages/astro/src/integration/snippets.ts b/packages/astro/src/integration/snippets.ts index 3b732b55a330..869f462f3960 100644 --- a/packages/astro/src/integration/snippets.ts +++ b/packages/astro/src/integration/snippets.ts @@ -1,10 +1,12 @@ +import * as path from 'path'; + import type { SentryOptions } from './types'; /** * Creates a snippet that imports a Sentry.init file. */ export function buildSdkInitFileImportSnippet(filePath: string): string { - return `import "${filePath}";`; + return `import "${filePath.split(path.sep).join(path.posix.sep)}";`; } /** From daa9d1e042d9a581ee01068e72bd45c2c618e389 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Mon, 23 Oct 2023 16:57:10 +0200 Subject: [PATCH 2/2] cleanup --- packages/astro/src/integration/index.ts | 8 ++------ packages/astro/src/integration/snippets.ts | 6 +++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/astro/src/integration/index.ts b/packages/astro/src/integration/index.ts index 8a6ae06a3e14..0432fb8108d3 100644 --- a/packages/astro/src/integration/index.ts +++ b/packages/astro/src/integration/index.ts @@ -55,7 +55,7 @@ export const sentryAstro = (options: SentryOptions = {}): AstroIntegration => { if (pathToClientInit) { options.debug && console.log(`[sentry-astro] Using ${pathToClientInit} for client init.`); - injectScript('page', buildSdkInitFileImportSnippet(pathToPosix(pathToClientInit))); + injectScript('page', buildSdkInitFileImportSnippet(pathToClientInit)); } else { options.debug && console.log('[sentry-astro] Using default client init.'); injectScript('page', buildClientSnippet(options || {})); @@ -63,7 +63,7 @@ export const sentryAstro = (options: SentryOptions = {}): AstroIntegration => { if (pathToServerInit) { options.debug && console.log(`[sentry-astro] Using ${pathToServerInit} for server init.`); - injectScript('page-ssr', buildSdkInitFileImportSnippet(pathToPosix(pathToServerInit))); + injectScript('page-ssr', buildSdkInitFileImportSnippet(pathToServerInit)); } else { options.debug && console.log('[sentry-astro] Using default server init.'); injectScript('page-ssr', buildServerSnippet(options || {})); @@ -79,7 +79,3 @@ function findDefaultSdkInitFile(type: 'server' | 'client'): string | undefined { .map(ext => path.resolve(path.join(process.cwd(), `sentry.${type}.config.${ext}`))) .find(filename => fs.existsSync(filename)); } - -function pathToPosix(originalPath: string): string { - return originalPath.split(path.sep).join(path.posix.sep); -} diff --git a/packages/astro/src/integration/snippets.ts b/packages/astro/src/integration/snippets.ts index 869f462f3960..2cf309ea1cb2 100644 --- a/packages/astro/src/integration/snippets.ts +++ b/packages/astro/src/integration/snippets.ts @@ -6,7 +6,7 @@ import type { SentryOptions } from './types'; * Creates a snippet that imports a Sentry.init file. */ export function buildSdkInitFileImportSnippet(filePath: string): string { - return `import "${filePath.split(path.sep).join(path.posix.sep)}";`; + return `import "${pathToPosix(filePath)}";`; } /** @@ -71,3 +71,7 @@ const buildClientIntegrations = (options: SentryOptions): string => { return integrations.join(', '); }; + +function pathToPosix(originalPath: string): string { + return originalPath.split(path.sep).join(path.posix.sep); +}