diff --git a/src/config.ts b/src/config.ts index 973639f0..32b2f2b3 100644 --- a/src/config.ts +++ b/src/config.ts @@ -130,6 +130,11 @@ export const initConfig = ( newConfig.apiVersion = `${newConfig.apiVersion}`.replace(/^v/, '') newConfig.isDefaultApi = newConfig.apiHost === defaultConfig.apiHost + + if (newConfig.useCdn === true && newConfig.withCredentials) { + warnings.printCdnAndWithCredentialsWarning() + } + // If `useCdn` is undefined, we treat it as `true` newConfig.useCdn = newConfig.useCdn !== false && !newConfig.withCredentials diff --git a/src/warnings.ts b/src/warnings.ts index 35457aea..0e8c0b40 100644 --- a/src/warnings.ts +++ b/src/warnings.ts @@ -6,6 +6,11 @@ const createWarningPrinter = (message: string[]) => // eslint-disable-next-line no-console once((...args: Any[]) => console.warn(message.join(' '), ...args)) +export const printCdnAndWithCredentialsWarning = createWarningPrinter([ + `Because you set \`withCredentials\` to true, we will override your \`useCdn\``, + `setting to be false since (cookie-based) credentials are never set on the CDN`, +]) + export const printCdnWarning = createWarningPrinter([ `Since you haven't set a value for \`useCdn\`, we will deliver content using our`, `global, edge-cached API-CDN. If you wish to have content delivered faster, set`,