@prezly/theme-kit-nextjs 3.2.4-0 → 3.2.5-test.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/build/components-nextjs/PageSeo/PageSeo.js +14 -9
  2. package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
  3. package/build/components-nextjs/document.js.map +1 -1
  4. package/build/intl/index.d.ts +1 -2
  5. package/build/intl/index.js +1 -2
  6. package/build/intl/index.js.map +1 -1
  7. package/build/intl/locale.d.ts +0 -3
  8. package/build/intl/locale.js.map +1 -1
  9. package/build/intl/localeObject.d.ts +0 -5
  10. package/build/intl/localeObject.js +0 -7
  11. package/build/intl/localeObject.js.map +1 -1
  12. package/build/newsroom-context/index.d.ts +1 -1
  13. package/build/newsroom-context/index.js.map +1 -1
  14. package/build/sentry/client.d.ts +1 -1
  15. package/build/sentry/client.js.map +1 -1
  16. package/build/sentry/common.d.ts +1 -1
  17. package/build/sentry/common.js +27 -16
  18. package/build/sentry/common.js.map +1 -1
  19. package/build/sentry/server.d.ts +1 -1
  20. package/build/sentry/server.js.map +1 -1
  21. package/package.json +7 -24
  22. package/src/components-nextjs/PageSeo/PageSeo.tsx +24 -16
  23. package/src/components-nextjs/document.tsx +1 -0
  24. package/src/intl/index.ts +1 -2
  25. package/src/intl/locale.ts +1 -5
  26. package/src/intl/localeObject.ts +0 -8
  27. package/src/newsroom-context/index.ts +1 -1
  28. package/src/sentry/client.ts +4 -1
  29. package/src/sentry/common.ts +43 -30
  30. package/src/sentry/server.ts +4 -1
  31. package/build/intl/getFallbackLocale.d.ts +0 -10
  32. package/build/intl/getFallbackLocale.js +0 -24
  33. package/build/intl/getFallbackLocale.js.map +0 -1
  34. package/build/seo/getAlternateLanguageLinks.d.ts +0 -4
  35. package/build/seo/getAlternateLanguageLinks.js +0 -84
  36. package/build/seo/getAlternateLanguageLinks.js.map +0 -1
  37. package/build/seo/index.d.ts +0 -1
  38. package/build/seo/index.js +0 -18
  39. package/build/seo/index.js.map +0 -1
  40. package/build/seo/utils/bindLanguagesWithLocales.d.ts +0 -11
  41. package/build/seo/utils/bindLanguagesWithLocales.js +0 -23
  42. package/build/seo/utils/bindLanguagesWithLocales.js.map +0 -1
  43. package/build/seo/utils/createAlternateLanguageLink.d.ts +0 -5
  44. package/build/seo/utils/createAlternateLanguageLink.js +0 -15
  45. package/build/seo/utils/createAlternateLanguageLink.js.map +0 -1
  46. package/build/tsconfig.tsbuildinfo +0 -1
  47. package/src/intl/getFallbackLocale.ts +0 -29
  48. package/src/seo/getAlternateLanguageLinks.test.ts +0 -164
  49. package/src/seo/getAlternateLanguageLinks.ts +0 -115
  50. package/src/seo/index.ts +0 -1
  51. package/src/seo/utils/bindLanguagesWithLocales.ts +0 -31
  52. package/src/seo/utils/createAlternateLanguageLink.ts +0 -17
@@ -2,12 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PageSeo = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const next_seo_1 = require("next-seo");
6
5
  const router_1 = require("next/router");
6
+ const next_seo_1 = require("next-seo");
7
7
  const react_1 = require("react");
8
8
  const intl_1 = require("../../intl");
9
9
  const newsroom_context_1 = require("../../newsroom-context");
10
- const seo_1 = require("../../seo");
11
10
  const utils_1 = require("../../utils");
12
11
  const getAbsoluteUrl_1 = require("./lib/getAbsoluteUrl");
13
12
  /**
@@ -39,15 +38,21 @@ function PageSeo({ title, description, imageUrl, canonical, openGraph, twitter,
39
38
  if (!languages.length) {
40
39
  return [];
41
40
  }
42
- const usedLanguages = (0, intl_1.getUsedLanguages)(languages);
43
- return (0, seo_1.getAlternateLanguageLinks)(usedLanguages, (locale) => {
44
- const translationUrl = getTranslationUrl(locale);
45
- if (!translationUrl) {
41
+ const alternateLanguages = (0, intl_1.getUsedLanguages)(languages).filter((language) => language.code !== currentLocale.toUnderscoreCode());
42
+ return alternateLanguages
43
+ .map((language) => {
44
+ const locale = intl_1.LocaleObject.fromAnyCode(language.code);
45
+ const translationLink = getTranslationUrl(locale, true);
46
+ if (!translationLink) {
46
47
  return undefined;
47
48
  }
48
- return (0, getAbsoluteUrl_1.getAbsoluteUrl)(translationUrl, site.url, currentStory && translationUrl !== '/' ? false : getLinkLocaleSlug(locale));
49
- });
50
- }, [currentStory, getLinkLocaleSlug, getTranslationUrl, languages, site.url]);
49
+ return {
50
+ hrefLang: locale.toHyphenCode(),
51
+ href: (0, getAbsoluteUrl_1.getAbsoluteUrl)(translationLink, site.url, currentStory && translationLink !== '/' ? false : getLinkLocaleSlug(locale)),
52
+ };
53
+ })
54
+ .filter(Boolean);
55
+ }, [currentLocale, getLinkLocaleSlug, getTranslationUrl, languages, site.url, currentStory]);
51
56
  return ((0, jsx_runtime_1.jsx)(next_seo_1.NextSeo, { title: pageTitle, description: pageDescription, canonical: canonicalUrl, noindex: nextSeoProps.noindex ?? !site.is_indexable, nofollow: nextSeoProps.nofollow ?? !site.is_indexable, openGraph: {
52
57
  url: canonicalUrl,
53
58
  title: pageTitle,
@@ -1 +1 @@
1
- {"version":3,"file":"PageSeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/PageSeo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageSeo.js","sourceRoot":"","sources":["../../../src/components-nextjs/PageSeo/PageSeo.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/components-nextjs/document.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAuE;AAEvE,kCAA2E;AAG3E,MAAa,mBAAoB,SAAQ,kBAAQ;IAC7C,aAAa;QACT,MAAM,EACF,oBAAoB;QACpB,gDAAgD;UACnD,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAsB,CAAC;QAE1D,oFAAoF;QACpF,kEAAkE;QAClE,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,IAAI,EAAE,UAAU,EAAE,qBAAc,EAAE,CAAC;QAE9E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM;QACF,MAAM,MAAM,GAAG,mBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9D,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAAC,MAAM,CAAC,CAAC;QAE7C,OAAO,CACH,wBAAC,eAAI,IAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,aAC7C,uBAAC,eAAI,cACD,iCAAM,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,GAAI,GACtD,EACP,6CACI,uBAAC,eAAI,KAAG,EACR,uBAAC,qBAAU,KAAG,IACX,IACJ,CACV,CAAC;IACN,CAAC;CACJ;AA/BD,kDA+BC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/components-nextjs/document.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAuE;AAEvE,kCAA2E;AAG3E,MAAa,mBAAoB,SAAQ,kBAAQ;IAC7C,aAAa;QACT,MAAM,EACF,oBAAoB;QACpB,gDAAgD;UACnD,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,SAAsB,CAAC;QAE1D,oFAAoF;QACpF,kEAAkE;QAClE,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,IAAI,EAAE,UAAU,EAAE,qBAAc,EAAE,CAAC;QAE9E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM;QACF,MAAM,MAAM,GAAG,mBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9D,6DAA6D;QAC7D,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAAC,MAAM,CAAC,CAAC;QAE7C,OAAO,CACH,wBAAC,eAAI,IAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,aAC7C,uBAAC,eAAI,cACD,iCAAM,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,GAAI,GAEtD,EACP,6CACI,uBAAC,eAAI,KAAG,EACR,uBAAC,qBAAU,KAAG,IACX,IACJ,CACV,CAAC;IACN,CAAC;CACJ;AAhCD,kDAgCC"}
@@ -1,5 +1,4 @@
1
- export * from './getFallbackLocale';
2
1
  export * from './languages';
3
- export { default as localeConfig } from './localeConfig';
4
2
  export * from './locale';
3
+ export { default as localeConfig } from './localeConfig';
5
4
  export * from './localeObject';
@@ -18,10 +18,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.localeConfig = void 0;
21
- __exportStar(require("./getFallbackLocale"), exports);
22
21
  __exportStar(require("./languages"), exports);
22
+ __exportStar(require("./locale"), exports);
23
23
  var localeConfig_1 = require("./localeConfig");
24
24
  Object.defineProperty(exports, "localeConfig", { enumerable: true, get: function () { return __importDefault(localeConfig_1).default; } });
25
- __exportStar(require("./locale"), exports);
26
25
  __exportStar(require("./localeObject"), exports);
27
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,8CAA4B;AAC5B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,2CAAyB;AACzB,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,2CAAyB;AACzB,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,iDAA+B"}
@@ -4,9 +4,6 @@ import type { ParsedUrlQuery } from 'querystring';
4
4
  import { LocaleObject } from './localeObject';
5
5
  export declare const DEFAULT_LOCALE = "en";
6
6
  export declare const DUMMY_DEFAULT_LOCALE = "qps-ploc";
7
- export type LangCode = string;
8
- export type RegionCode = string;
9
- export type LocaleCode = string;
10
7
  /**
11
8
  * Use this function to determine which translations file you should load from `@prezly/themes-intl-mesages` package.
12
9
  * See https://github.com/prezly/theme-nextjs-bea/blob/main/utils/lang.ts for a usage example.
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,6 @@ export declare class LocaleObject {
9
9
  * Examples: `nl-BE`, `en-US`, `fr`, `fil`
10
10
  */
11
11
  private localeCode;
12
- /**
13
- * Whether the locale is region independent (without region/culture part).
14
- * I.E. `en` is region independent, while `en-US` is not.
15
- */
16
- isRegionIndependent: boolean;
17
12
  private constructor();
18
13
  /**
19
14
  * @param localeCode Locale code in any of the formats below.
@@ -16,24 +16,17 @@ class LocaleObject {
16
16
  * Examples: `nl-BE`, `en-US`, `fr`, `fil`
17
17
  */
18
18
  localeCode;
19
- /**
20
- * Whether the locale is region independent (without region/culture part).
21
- * I.E. `en` is region independent, while `en-US` is not.
22
- */
23
- isRegionIndependent;
24
19
  constructor(localeCode) {
25
20
  if (!/^([a-z]{2,3})(-[a-z\d]{1,4})?$/i.test(localeCode)) {
26
21
  throw new Error('Invalid locale code provided!');
27
22
  }
28
23
  const [language, region] = localeCode.split('-');
29
24
  if (region) {
30
- this.isRegionIndependent = false;
31
25
  // Workaround for `zh-Hant` locale, which is the only locale with non-uppercase region part
32
26
  const regionSuffix = region === 'hant' ? 'Hant' : region.toUpperCase();
33
27
  this.localeCode = [language, regionSuffix].join('-');
34
28
  }
35
29
  else {
36
- this.isRegionIndependent = true;
37
30
  this.localeCode = language;
38
31
  }
39
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"localeObject.js","sourceRoot":"","sources":["../../src/intl/localeObject.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAE1C;;;;GAIG;AACH,MAAa,YAAY;IACrB;;;OAGG;IACK,UAAU,CAAS;IAE3B;;;OAGG;IACI,mBAAmB,CAAU;IAEpC,YAAoB,UAAkB;QAClC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QAED,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,2FAA2F;YAC3F,MAAM,YAAY,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAEvE,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxD;aAAM;YACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC9B;IACL,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CAAC,UAAkB;QACxC,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,sBAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,GAAG,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,qBAAqB;QACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,YAAY;QACf,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;SACjC;QAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,aAA2B;QACtC,OAAO,aAAa,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC;IAC5D,CAAC;CACJ;AAnGD,oCAmGC"}
1
+ {"version":3,"file":"localeObject.js","sourceRoot":"","sources":["../../src/intl/localeObject.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAE1C;;;;GAIG;AACH,MAAa,YAAY;IACrB;;;OAGG;IACK,UAAU,CAAS;IAE3B,YAAoB,UAAkB;QAClC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QAED,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE;YACR,2FAA2F;YAC3F,MAAM,YAAY,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAEvE,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxD;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC9B;IACL,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CAAC,UAAkB;QACxC,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,sBAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,aAAa,GAAG,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,qBAAqB;QACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,YAAY;QACf,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;SACjC;QAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,aAA2B;QACtC,OAAO,aAAa,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC;IAC5D,CAAC;CACJ;AA3FD,oCA2FC"}
@@ -1,2 +1,2 @@
1
- export { NewsroomContext, NewsroomContextProvider, NewsroomContextProps } from './context';
1
+ export { NewsroomContext, NewsroomContextProvider, type NewsroomContextProps } from './context';
2
2
  export * from './hooks';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/newsroom-context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAA2F;AAAlF,0GAAA,eAAe,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AACjD,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/newsroom-context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAgG;AAAvF,0GAAA,eAAe,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AACjD,0CAAwB"}
@@ -1,2 +1,2 @@
1
1
  import type { init } from '@sentry/nextjs';
2
- export declare function getSentryClientOptions(dsn: string, themeName: string): Parameters<typeof init>[0];
2
+ export declare function getSentryClientOptions(dsn: string, themeName: string | null): Parameters<typeof init>[0];
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sentry/client.ts"],"names":[],"mappings":";;;AAEA,qCAAkD;AAElD,SAAgB,sBAAsB,CAAC,GAAW,EAAE,SAAiB;IACjE,OAAO,IAAA,+BAAsB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sentry/client.ts"],"names":[],"mappings":";;;AAEA,qCAAkD;AAElD,SAAgB,sBAAsB,CAClC,GAAW,EACX,SAAwB;IAExB,OAAO,IAAA,+BAAsB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AALD,wDAKC"}
@@ -1,2 +1,2 @@
1
1
  import type { init } from '@sentry/nextjs';
2
- export declare function getCommonClientOptions(dsn: string, themeName: string): Parameters<typeof init>[0];
2
+ export declare function getCommonClientOptions(dsn: string, themeName: string | null): Parameters<typeof init>[0];
@@ -5,9 +5,31 @@ const IGNORED_EVENT_CULPRITS = [
5
5
  // This usually means that something happened outside of application code.
6
6
  // All instances of errors with this origin that I found usually were caused by referring to variables that couldn't ever exist in our code.
7
7
  // Likely misbehaving browser extensions or people playing around in DevTools trying to break the app.
8
+ '<anonymous>',
8
9
  '?(<anonymous>)',
9
10
  'global code',
10
11
  ];
12
+ function shouldStackFrameBeIgnored(frame) {
13
+ const { abs_path, function: frameFunction } = frame;
14
+ if (abs_path &&
15
+ IGNORED_EVENT_CULPRITS.some((ignoredCulprit) => abs_path.includes(ignoredCulprit))) {
16
+ return true;
17
+ }
18
+ if (frameFunction &&
19
+ IGNORED_EVENT_CULPRITS.some((ignoredCulprit) => frameFunction.includes(ignoredCulprit))) {
20
+ return true;
21
+ }
22
+ return false;
23
+ }
24
+ function shouldExceptionBeIgnored(exception) {
25
+ const { stacktrace } = exception;
26
+ // Ignore global code errors that are not related to the application code.
27
+ // See comments in `IGNORED_EVENT_CULPRITS` const for context on each entry
28
+ if (stacktrace && stacktrace.frames?.some(shouldStackFrameBeIgnored)) {
29
+ return true;
30
+ }
31
+ return false;
32
+ }
11
33
  function getCommonClientOptions(dsn, themeName) {
12
34
  return {
13
35
  dsn,
@@ -25,28 +47,17 @@ function getCommonClientOptions(dsn, themeName) {
25
47
  // This error is caused by `beacon.min.js` polyfill in Cloudflare Insights. From what we see, it doesn't affect the user experience.
26
48
  'Illegal invocation',
27
49
  ],
28
- // Ignore global code errors that are not related to the application code.
29
- // See comments in `IGNORED_EVENT_CULPRITS` const for context on each entry
30
50
  beforeSend: (event) => {
31
- // `culprit` is not a documented property, but it is present in all Sentry events and is even displayed in the interface.
32
- // Just in case it's not defined, we can fallback to the stack trace.
33
- if ('culprit' in event && typeof event.culprit === 'string') {
34
- const { culprit } = event;
35
- if (IGNORED_EVENT_CULPRITS.some((ignoredCulprit) => culprit.includes(ignoredCulprit))) {
36
- return null;
37
- }
38
- }
39
- else if (event.exception) {
40
- if (event.exception.values?.some((value) => value.stacktrace?.frames?.some((frame) => frame.abs_path &&
41
- IGNORED_EVENT_CULPRITS.some((ignoredCulprit) => frame.abs_path?.includes(ignoredCulprit))))) {
42
- return null;
43
- }
51
+ if (event.exception?.values?.every(shouldExceptionBeIgnored)) {
52
+ return null;
44
53
  }
45
54
  return event;
46
55
  },
47
56
  // Attach theme tag to each event
48
57
  initialScope: (scope) => {
49
- scope.setTags({ prezly_theme: themeName });
58
+ if (themeName) {
59
+ scope.setTags({ prezly_theme: themeName });
60
+ }
50
61
  return scope;
51
62
  },
52
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/sentry/common.ts"],"names":[],"mappings":";;;AAEA,MAAM,sBAAsB,GAAG;IAC3B,0EAA0E;IAC1E,4IAA4I;IAC5I,sGAAsG;IACtG,gBAAgB;IAChB,aAAa;CAChB,CAAC;AAEF,SAAgB,sBAAsB,CAAC,GAAW,EAAE,SAAiB;IACjE,OAAO;QACH,GAAG;QACH,4EAA4E;QAC5E,gBAAgB,EAAE,IAAI;QACtB,MAAM;QACN,0EAA0E;QAC1E,2EAA2E;QAC3E,qDAAqD;QAErD,YAAY,EAAE;YACV,2EAA2E;YAC3E,kGAAkG;YAClG,yGAAyG;YACzG,8BAA8B;YAC9B,oIAAoI;YACpI,oBAAoB;SACvB;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,yHAAyH;YACzH,qEAAqE;YACrE,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;gBACzD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;gBAC1B,IACI,sBAAsB,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CACnC,EACH;oBACE,OAAO,IAAI,CAAC;iBACf;aACJ;iBAAM,IAAI,KAAK,CAAC,SAAS,EAAE;gBACxB,IACI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CACN,KAAK,CAAC,QAAQ;oBACd,sBAAsB,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAC3C,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAC3C,CACR,CACJ,EACH;oBACE,OAAO,IAAI,CAAC;iBACf;aACJ;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iCAAiC;QACjC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AA1DD,wDA0DC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/sentry/common.ts"],"names":[],"mappings":";;;AAEA,MAAM,sBAAsB,GAAG;IAC3B,0EAA0E;IAC1E,4IAA4I;IAC5I,sGAAsG;IACtG,aAAa;IACb,gBAAgB;IAChB,aAAa;CAChB,CAAC;AAEF,SAAS,yBAAyB,CAAC,KAAiB;IAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEpD,IACI,QAAQ;QACR,sBAAsB,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EACpF;QACE,OAAO,IAAI,CAAC;KACf;IAED,IACI,aAAa;QACb,sBAAsB,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EACzF;QACE,OAAO,IAAI,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAoB;IAClD,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAEjC,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE;QAClE,OAAO,IAAI,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,sBAAsB,CAClC,GAAW,EACX,SAAwB;IAExB,OAAO;QACH,GAAG;QACH,4EAA4E;QAC5E,gBAAgB,EAAE,IAAI;QACtB,MAAM;QACN,0EAA0E;QAC1E,2EAA2E;QAC3E,qDAAqD;QAErD,YAAY,EAAE;YACV,2EAA2E;YAC3E,kGAAkG;YAClG,yGAAyG;YACzG,8BAA8B;YAC9B,oIAAoI;YACpI,oBAAoB;SACvB;QAED,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,wBAAwB,CAAC,EAAE;gBAC1D,OAAO,IAAI,CAAC;aACf;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iCAAiC;QACjC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACpB,IAAI,SAAS,EAAE;gBACX,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;aAC9C;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AAtCD,wDAsCC"}
@@ -1,2 +1,2 @@
1
1
  import type { init } from '@sentry/nextjs';
2
- export declare function getSentryServerOptions(dsn: string, themeName: string): Parameters<typeof init>[0];
2
+ export declare function getSentryServerOptions(dsn: string, themeName: string | null): Parameters<typeof init>[0];
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sentry/server.ts"],"names":[],"mappings":";;;AAEA,qCAAkD;AAElD,SAAgB,sBAAsB,CAAC,GAAW,EAAE,SAAiB;IACjE,OAAO,IAAA,+BAAsB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sentry/server.ts"],"names":[],"mappings":";;;AAEA,qCAAkD;AAElD,SAAgB,sBAAsB,CAClC,GAAW,EACX,SAAwB;IAExB,OAAO,IAAA,+BAAsB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AALD,wDAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prezly/theme-kit-nextjs",
3
- "version": "3.2.4-0",
3
+ "version": "3.2.5-test.0",
4
4
  "description": "Data layer and utility library for developing Prezly themes with NextJS",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -28,19 +28,12 @@
28
28
  },
29
29
  "homepage": "https://github.com/prezly/theme-kit-nextjs#readme",
30
30
  "scripts": {
31
- "clean": "rimraf build/ node_modules/",
31
+ "clean": "rimraf build/* *.tsbuildinfo",
32
32
  "build": "tsc --project .",
33
33
  "watch": "tsc --watch --preserveWatchOutput --project .",
34
- "test": "jest",
35
34
  "typecheck": "tsc --noEmit --incremental --project .",
36
35
  "lint": "eslint src",
37
- "lint:fix": "npm run lint -- --fix",
38
- "prettier": "prettier --check './**/*.(js|ts|tsx|css)'",
39
- "prettier:fix": "npm run prettier -- --write --no-list-different",
40
- "check": "npm run lint && npm run typecheck",
41
- "prerelease": "npm run clean && npm install && npm run check && npm run build",
42
- "release": "np",
43
- "release:preview": "npm run prerelease && np --any-branch --no-release-draft --tag=preview"
36
+ "test": "jest"
44
37
  },
45
38
  "peerDependencies": {
46
39
  "next": "^12.x || ^13.x",
@@ -55,23 +48,13 @@
55
48
  "parse-data-url": "^4.0.1"
56
49
  },
57
50
  "devDependencies": {
58
- "@prezly/eslint-config": "4.4.1",
59
- "@sentry/nextjs": "7.38.0",
60
- "@types/jest": "29.4.0",
61
- "@types/node": "17.0.14",
51
+ "@sentry/nextjs": "7.44.2",
62
52
  "@types/parse-data-url": "3.0.0",
63
- "@types/react": "18.0.28",
64
- "@types/react-dom": "18.0.11",
65
- "eslint": "8.35.0",
66
- "jest": "29.4.3",
67
- "np": "7.6.3",
68
- "prettier": "2.8.4",
69
- "rimraf": "3.0.2",
70
- "ts-jest": "29.0.5",
71
- "typescript": "4.9.5"
53
+ "rimraf": "3.0.2"
72
54
  },
73
55
  "publishConfig": {
74
56
  "access": "public"
75
57
  },
76
- "sideEffects": false
58
+ "sideEffects": false,
59
+ "gitHead": "a7c2714bef6c2fe101ff364d9def6e90a3b10226"
77
60
  }
@@ -1,9 +1,9 @@
1
+ import { useRouter } from 'next/router';
1
2
  import { NextSeo } from 'next-seo';
2
3
  import type { NextSeoProps } from 'next-seo';
3
- import { useRouter } from 'next/router';
4
4
  import { useMemo } from 'react';
5
5
 
6
- import { getUsedLanguages } from '../../intl';
6
+ import { getUsedLanguages, LocaleObject } from '../../intl';
7
7
  import {
8
8
  useCompanyInformation,
9
9
  useCurrentLocale,
@@ -13,7 +13,6 @@ import {
13
13
  useLanguages,
14
14
  useNewsroom,
15
15
  } from '../../newsroom-context';
16
- import { getAlternateLanguageLinks } from '../../seo';
17
16
  import { getNewsroomLogoUrl } from '../../utils';
18
17
 
19
18
  import { getAbsoluteUrl } from './lib/getAbsoluteUrl';
@@ -66,22 +65,31 @@ export function PageSeo({
66
65
  return [];
67
66
  }
68
67
 
69
- const usedLanguages = getUsedLanguages(languages);
68
+ const alternateLanguages = getUsedLanguages(languages).filter(
69
+ (language) => language.code !== currentLocale.toUnderscoreCode(),
70
+ );
71
+
72
+ return alternateLanguages
73
+ .map((language) => {
74
+ const locale = LocaleObject.fromAnyCode(language.code);
70
75
 
71
- return getAlternateLanguageLinks(usedLanguages, (locale) => {
72
- const translationUrl = getTranslationUrl(locale);
76
+ const translationLink = getTranslationUrl(locale, true);
73
77
 
74
- if (!translationUrl) {
75
- return undefined;
76
- }
78
+ if (!translationLink) {
79
+ return undefined;
80
+ }
77
81
 
78
- return getAbsoluteUrl(
79
- translationUrl,
80
- site.url,
81
- currentStory && translationUrl !== '/' ? false : getLinkLocaleSlug(locale),
82
- );
83
- });
84
- }, [currentStory, getLinkLocaleSlug, getTranslationUrl, languages, site.url]);
82
+ return {
83
+ hrefLang: locale.toHyphenCode(),
84
+ href: getAbsoluteUrl(
85
+ translationLink,
86
+ site.url,
87
+ currentStory && translationLink !== '/' ? false : getLinkLocaleSlug(locale),
88
+ ),
89
+ };
90
+ })
91
+ .filter<AlternateLanguageLink>(Boolean as any);
92
+ }, [currentLocale, getLinkLocaleSlug, getTranslationUrl, languages, site.url, currentStory]);
85
93
 
86
94
  return (
87
95
  <NextSeo
@@ -26,6 +26,7 @@ export class PrezlyThemeDocument extends Document {
26
26
  <Html lang={locale.toHyphenCode()} dir={direction}>
27
27
  <Head>
28
28
  <meta name="og:locale" content={locale.toHyphenCode()} />
29
+ {/* TODO: Add alternate locales */}
29
30
  </Head>
30
31
  <body>
31
32
  <Main />
package/src/intl/index.ts CHANGED
@@ -1,5 +1,4 @@
1
- export * from './getFallbackLocale';
2
1
  export * from './languages';
3
- export { default as localeConfig } from './localeConfig';
4
2
  export * from './locale';
3
+ export { default as localeConfig } from './localeConfig';
5
4
  export * from './localeObject';
@@ -8,15 +8,11 @@ export const DEFAULT_LOCALE = 'en';
8
8
  // We use pseudo locale used for localization testing, to reliably determine if we need to fallback to the default newsroom language
9
9
  export const DUMMY_DEFAULT_LOCALE = 'qps-ploc';
10
10
 
11
- export type LangCode = string;
12
- export type RegionCode = string;
13
- export type LocaleCode = string;
14
-
15
11
  /**
16
12
  * This a list of locales that Prezly has translations for. Each code represents a language file in the `@prezly/themes-intl-messages` package.
17
13
  * See https://github.com/prezly/themes-intl-messages for more info.
18
14
  */
19
- const SUPPORTED_LOCALES: LocaleCode[] = [
15
+ const SUPPORTED_LOCALES = [
20
16
  'af',
21
17
  'ar',
22
18
  'az',
@@ -12,12 +12,6 @@ export class LocaleObject {
12
12
  */
13
13
  private localeCode: string;
14
14
 
15
- /**
16
- * Whether the locale is region independent (without region/culture part).
17
- * I.E. `en` is region independent, while `en-US` is not.
18
- */
19
- public isRegionIndependent: boolean;
20
-
21
15
  private constructor(localeCode: string) {
22
16
  if (!/^([a-z]{2,3})(-[a-z\d]{1,4})?$/i.test(localeCode)) {
23
17
  throw new Error('Invalid locale code provided!');
@@ -26,13 +20,11 @@ export class LocaleObject {
26
20
  const [language, region] = localeCode.split('-');
27
21
 
28
22
  if (region) {
29
- this.isRegionIndependent = false;
30
23
  // Workaround for `zh-Hant` locale, which is the only locale with non-uppercase region part
31
24
  const regionSuffix = region === 'hant' ? 'Hant' : region.toUpperCase();
32
25
 
33
26
  this.localeCode = [language, regionSuffix].join('-');
34
27
  } else {
35
- this.isRegionIndependent = true;
36
28
  this.localeCode = language;
37
29
  }
38
30
  }
@@ -1,2 +1,2 @@
1
- export { NewsroomContext, NewsroomContextProvider, NewsroomContextProps } from './context';
1
+ export { NewsroomContext, NewsroomContextProvider, type NewsroomContextProps } from './context';
2
2
  export * from './hooks';
@@ -2,6 +2,9 @@ import type { init } from '@sentry/nextjs';
2
2
 
3
3
  import { getCommonClientOptions } from './common';
4
4
 
5
- export function getSentryClientOptions(dsn: string, themeName: string): Parameters<typeof init>[0] {
5
+ export function getSentryClientOptions(
6
+ dsn: string,
7
+ themeName: string | null,
8
+ ): Parameters<typeof init>[0] {
6
9
  return getCommonClientOptions(dsn, themeName);
7
10
  }
@@ -1,14 +1,50 @@
1
- import type { init } from '@sentry/nextjs';
1
+ import type { Exception, init, StackFrame } from '@sentry/nextjs';
2
2
 
3
3
  const IGNORED_EVENT_CULPRITS = [
4
4
  // This usually means that something happened outside of application code.
5
5
  // All instances of errors with this origin that I found usually were caused by referring to variables that couldn't ever exist in our code.
6
6
  // Likely misbehaving browser extensions or people playing around in DevTools trying to break the app.
7
+ '<anonymous>',
7
8
  '?(<anonymous>)',
8
9
  'global code',
9
10
  ];
10
11
 
11
- export function getCommonClientOptions(dsn: string, themeName: string): Parameters<typeof init>[0] {
12
+ function shouldStackFrameBeIgnored(frame: StackFrame) {
13
+ const { abs_path, function: frameFunction } = frame;
14
+
15
+ if (
16
+ abs_path &&
17
+ IGNORED_EVENT_CULPRITS.some((ignoredCulprit) => abs_path.includes(ignoredCulprit))
18
+ ) {
19
+ return true;
20
+ }
21
+
22
+ if (
23
+ frameFunction &&
24
+ IGNORED_EVENT_CULPRITS.some((ignoredCulprit) => frameFunction.includes(ignoredCulprit))
25
+ ) {
26
+ return true;
27
+ }
28
+
29
+ return false;
30
+ }
31
+
32
+ function shouldExceptionBeIgnored(exception: Exception) {
33
+ const { stacktrace } = exception;
34
+
35
+ // Ignore global code errors that are not related to the application code.
36
+ // See comments in `IGNORED_EVENT_CULPRITS` const for context on each entry
37
+ if (stacktrace && stacktrace.frames?.some(shouldStackFrameBeIgnored)) {
38
+ return true;
39
+ }
40
+
41
+ return false;
42
+ }
43
+
44
+ export function getCommonClientOptions(
45
+ dsn: string,
46
+ themeName: string | null,
47
+ ): Parameters<typeof init>[0] {
12
48
  return {
13
49
  dsn,
14
50
  // Adjust this value in production, or use tracesSampler for greater control
@@ -27,34 +63,9 @@ export function getCommonClientOptions(dsn: string, themeName: string): Paramete
27
63
  'Illegal invocation',
28
64
  ],
29
65
 
30
- // Ignore global code errors that are not related to the application code.
31
- // See comments in `IGNORED_EVENT_CULPRITS` const for context on each entry
32
66
  beforeSend: (event) => {
33
- // `culprit` is not a documented property, but it is present in all Sentry events and is even displayed in the interface.
34
- // Just in case it's not defined, we can fallback to the stack trace.
35
- if ('culprit' in event && typeof event.culprit === 'string') {
36
- const { culprit } = event;
37
- if (
38
- IGNORED_EVENT_CULPRITS.some((ignoredCulprit) =>
39
- culprit.includes(ignoredCulprit),
40
- )
41
- ) {
42
- return null;
43
- }
44
- } else if (event.exception) {
45
- if (
46
- event.exception.values?.some((value) =>
47
- value.stacktrace?.frames?.some(
48
- (frame) =>
49
- frame.abs_path &&
50
- IGNORED_EVENT_CULPRITS.some((ignoredCulprit) =>
51
- frame.abs_path?.includes(ignoredCulprit),
52
- ),
53
- ),
54
- )
55
- ) {
56
- return null;
57
- }
67
+ if (event.exception?.values?.every(shouldExceptionBeIgnored)) {
68
+ return null;
58
69
  }
59
70
 
60
71
  return event;
@@ -62,7 +73,9 @@ export function getCommonClientOptions(dsn: string, themeName: string): Paramete
62
73
 
63
74
  // Attach theme tag to each event
64
75
  initialScope: (scope) => {
65
- scope.setTags({ prezly_theme: themeName });
76
+ if (themeName) {
77
+ scope.setTags({ prezly_theme: themeName });
78
+ }
66
79
  return scope;
67
80
  },
68
81
  };
@@ -2,6 +2,9 @@ import type { init } from '@sentry/nextjs';
2
2
 
3
3
  import { getCommonClientOptions } from './common';
4
4
 
5
- export function getSentryServerOptions(dsn: string, themeName: string): Parameters<typeof init>[0] {
5
+ export function getSentryServerOptions(
6
+ dsn: string,
7
+ themeName: string | null,
8
+ ): Parameters<typeof init>[0] {
6
9
  return getCommonClientOptions(dsn, themeName);
7
10
  }
@@ -1,10 +0,0 @@
1
- import type { LangCode } from './locale';
2
- import { LocaleObject } from './localeObject';
3
- /**
4
- * Fallback locales for each region independent locale.
5
- * For example, a story has en-CA en-AU and en-GB locales. As you can see there is no region independent locale.
6
- * We will use a list of possible fallbacks to determine region independent locale alias.
7
- * In the provided example the result will be en-GB since it is defined in the localeFallback list
8
- * If the list will be en-CA en-AU and en-US then the result will be en-US since it is the first one and hence takes precedence.
9
- */
10
- export declare function getFallbackLocale(langCode: LangCode, availableLocales: LocaleObject[]): LocaleObject | undefined;