@magmamath/frontend-config 1.1.2-rc.23 → 1.1.2-rc.25

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.
@@ -1,5 +1,6 @@
1
1
  import { a as Locale } from '../common.constants-ClvjFWRr.mjs';
2
2
  import { InitOptions } from 'i18next';
3
+ export { TranslationNamespace } from './translation.constants.mjs';
3
4
 
4
5
  type TolgeeConfig = {
5
6
  cdnHost: string;
@@ -21,7 +22,6 @@ type TranslationManagerOptions = {
21
22
  isDev: boolean;
22
23
  projectId: string;
23
24
  i18nOptions: InitOptions;
24
- isMobile?: boolean;
25
25
  storage?: StorageConfig;
26
26
  fallbackResources?: FallbackResources;
27
27
  };
@@ -31,13 +31,12 @@ declare class TranslationManager {
31
31
  private readonly projectId;
32
32
  private readonly isDev;
33
33
  private readonly i18nOptions;
34
- private readonly isMobile;
35
34
  private readonly onInitCallbacks;
36
35
  private readonly fallbackResources?;
37
36
  private readonly storage?;
38
37
  private tolgeeCfg;
39
38
  private initPromise;
40
- constructor({ projectId, isDev, i18nOptions, storage, isMobile, fallbackResources, }: TranslationManagerOptions);
39
+ constructor({ projectId, isDev, i18nOptions, storage, fallbackResources }: TranslationManagerOptions);
41
40
  readonly onInit: (callback: OnTranslationInitCallback) => void;
42
41
  readonly init: (locale: Locale, envConfig: TolgeeConfig) => Promise<void>;
43
42
  readonly setLanguage: (locale: Locale) => Promise<void>;
@@ -46,16 +45,4 @@ declare class TranslationManager {
46
45
  private readonly initTolgeeDevTools;
47
46
  }
48
47
 
49
- declare enum TranslationNamespace {
50
- STUDENTS_WEB = "students-web",
51
- TEACHERS_WEB = "teachers-web",
52
- DISTRICT_DASH = "district-dash",
53
- AUTH_WEB = "auth-web",
54
- MOBILE = "mobile",
55
- MAGMAMATH_FEATURES = "magmamath-features",
56
- DRAW_BOARD = "drawboard",
57
- STUDENTS_FEATURES = "students-features",
58
- SHARED = "shared"
59
- }
60
-
61
- export { type OnTranslationInitCallback, type TolgeeConfig, TranslationManager, type TranslationManagerOptions, TranslationNamespace };
48
+ export { type OnTranslationInitCallback, type TolgeeConfig, TranslationManager, type TranslationManagerOptions };
@@ -1,5 +1,6 @@
1
1
  import { a as Locale } from '../common.constants-ClvjFWRr.js';
2
2
  import { InitOptions } from 'i18next';
3
+ export { TranslationNamespace } from './translation.constants.js';
3
4
 
4
5
  type TolgeeConfig = {
5
6
  cdnHost: string;
@@ -21,7 +22,6 @@ type TranslationManagerOptions = {
21
22
  isDev: boolean;
22
23
  projectId: string;
23
24
  i18nOptions: InitOptions;
24
- isMobile?: boolean;
25
25
  storage?: StorageConfig;
26
26
  fallbackResources?: FallbackResources;
27
27
  };
@@ -31,13 +31,12 @@ declare class TranslationManager {
31
31
  private readonly projectId;
32
32
  private readonly isDev;
33
33
  private readonly i18nOptions;
34
- private readonly isMobile;
35
34
  private readonly onInitCallbacks;
36
35
  private readonly fallbackResources?;
37
36
  private readonly storage?;
38
37
  private tolgeeCfg;
39
38
  private initPromise;
40
- constructor({ projectId, isDev, i18nOptions, storage, isMobile, fallbackResources, }: TranslationManagerOptions);
39
+ constructor({ projectId, isDev, i18nOptions, storage, fallbackResources }: TranslationManagerOptions);
41
40
  readonly onInit: (callback: OnTranslationInitCallback) => void;
42
41
  readonly init: (locale: Locale, envConfig: TolgeeConfig) => Promise<void>;
43
42
  readonly setLanguage: (locale: Locale) => Promise<void>;
@@ -46,16 +45,4 @@ declare class TranslationManager {
46
45
  private readonly initTolgeeDevTools;
47
46
  }
48
47
 
49
- declare enum TranslationNamespace {
50
- STUDENTS_WEB = "students-web",
51
- TEACHERS_WEB = "teachers-web",
52
- DISTRICT_DASH = "district-dash",
53
- AUTH_WEB = "auth-web",
54
- MOBILE = "mobile",
55
- MAGMAMATH_FEATURES = "magmamath-features",
56
- DRAW_BOARD = "drawboard",
57
- STUDENTS_FEATURES = "students-features",
58
- SHARED = "shared"
59
- }
60
-
61
- export { type OnTranslationInitCallback, type TolgeeConfig, TranslationManager, type TranslationManagerOptions, TranslationNamespace };
48
+ export { type OnTranslationInitCallback, type TolgeeConfig, TranslationManager, type TranslationManagerOptions };
@@ -9,20 +9,6 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
  var i18n__default = /*#__PURE__*/_interopDefault(i18n);
10
10
 
11
11
  // src/translation/TranslationManager.ts
12
-
13
- // src/translation/translation.constants.ts
14
- var TranslationNamespace = /* @__PURE__ */ ((TranslationNamespace2) => {
15
- TranslationNamespace2["STUDENTS_WEB"] = "students-web";
16
- TranslationNamespace2["TEACHERS_WEB"] = "teachers-web";
17
- TranslationNamespace2["DISTRICT_DASH"] = "district-dash";
18
- TranslationNamespace2["AUTH_WEB"] = "auth-web";
19
- TranslationNamespace2["MOBILE"] = "mobile";
20
- TranslationNamespace2["MAGMAMATH_FEATURES"] = "magmamath-features";
21
- TranslationNamespace2["DRAW_BOARD"] = "drawboard";
22
- TranslationNamespace2["STUDENTS_FEATURES"] = "students-features";
23
- TranslationNamespace2["SHARED"] = "shared";
24
- return TranslationNamespace2;
25
- })(TranslationNamespace || {});
26
12
  var TOLGEE_DEV_TIMEOUT_MS = 3e3;
27
13
  var DEFAULT_I18N_OPTIONS = {
28
14
  fallbackLng: void 0,
@@ -34,31 +20,20 @@ var DEFAULT_I18N_OPTIONS = {
34
20
  escapeValue: false
35
21
  }
36
22
  };
37
-
38
- // src/translation/TranslationManager.ts
39
23
  var TranslationManager = class {
40
24
  projectId;
41
25
  isDev;
42
26
  i18nOptions;
43
- isMobile;
44
27
  onInitCallbacks = [];
45
28
  fallbackResources;
46
29
  storage;
47
30
  tolgeeCfg = null;
48
31
  initPromise = null;
49
- constructor({
50
- projectId,
51
- isDev,
52
- i18nOptions,
53
- storage,
54
- isMobile = false,
55
- fallbackResources
56
- }) {
32
+ constructor({ projectId, isDev, i18nOptions, storage, fallbackResources }) {
57
33
  this.projectId = projectId;
58
34
  this.isDev = isDev;
59
35
  this.i18nOptions = i18nOptions;
60
36
  this.storage = storage;
61
- this.isMobile = isMobile;
62
37
  this.fallbackResources = fallbackResources;
63
38
  }
64
39
  onInit = (callback) => {
@@ -104,24 +79,38 @@ var TranslationManager = class {
104
79
  initTolgeeDevTools = async (tolgeeCfg) => {
105
80
  const { DevBackend } = await import('@tolgee/i18next');
106
81
  const instance = this.createBaseTolgeeInstance(tolgeeCfg).use(DevBackend());
107
- if (!this.isMobile) {
108
- const { InContextTools } = await import('@tolgee/web/tools');
109
- instance.use(InContextTools());
110
- }
111
82
  return instance.init({
112
83
  apiUrl: tolgeeCfg.apiUrl,
113
84
  apiKey: tolgeeCfg.apiKey,
114
85
  staticData: this.fallbackResources,
115
- fetch: (input, init) => {
86
+ fetch: async (input, init) => {
116
87
  const url = typeof input === "string" ? input.replace(/\/\?/, "?") : input;
117
88
  const controller = new AbortController();
118
- setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS);
119
- return fetch(url, { ...init, signal: controller.signal });
89
+ const timeoutId = setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS);
90
+ try {
91
+ return await fetch(url, { ...init, signal: controller.signal });
92
+ } finally {
93
+ clearTimeout(timeoutId);
94
+ }
120
95
  }
121
96
  });
122
97
  };
123
98
  };
124
99
 
100
+ // src/translation/translation.constants.ts
101
+ var TranslationNamespace = /* @__PURE__ */ ((TranslationNamespace2) => {
102
+ TranslationNamespace2["STUDENTS_WEB"] = "students-web";
103
+ TranslationNamespace2["TEACHERS_WEB"] = "teachers-web";
104
+ TranslationNamespace2["DISTRICT_DASH"] = "district-dash";
105
+ TranslationNamespace2["AUTH_WEB"] = "auth-web";
106
+ TranslationNamespace2["MOBILE"] = "mobile";
107
+ TranslationNamespace2["MAGMAMATH_FEATURES"] = "magmamath-features";
108
+ TranslationNamespace2["DRAW_BOARD"] = "drawboard";
109
+ TranslationNamespace2["STUDENTS_FEATURES"] = "students-features";
110
+ TranslationNamespace2["SHARED"] = "shared";
111
+ return TranslationNamespace2;
112
+ })(TranslationNamespace || {});
113
+
125
114
  exports.TranslationManager = TranslationManager;
126
115
  exports.TranslationNamespace = TranslationNamespace;
127
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translation/translation.constants.ts","../../src/translation/TranslationManager.ts"],"names":["TranslationNamespace","i18n","withTolgee","initReactI18next","Tolgee","I18nextPlugin","BackendFetch"],"mappings":"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","file":"index.js","sourcesContent":["import { InitOptions } from 'i18next'\n\nexport enum TranslationNamespace {\n STUDENTS_WEB = 'students-web',\n TEACHERS_WEB = 'teachers-web',\n DISTRICT_DASH = 'district-dash',\n AUTH_WEB = 'auth-web',\n MOBILE = 'mobile',\n MAGMAMATH_FEATURES = 'magmamath-features',\n DRAW_BOARD = 'drawboard',\n STUDENTS_FEATURES = 'students-features',\n SHARED = 'shared',\n}\n\nexport const TOLGEE_DEV_TIMEOUT_MS = 3000\n\nexport const DEFAULT_I18N_OPTIONS: InitOptions = {\n fallbackLng: undefined,\n load: 'currentOnly',\n react: {\n useSuspense: false,\n },\n interpolation: {\n escapeValue: false,\n },\n}\n","import i18n, { InitOptions } from 'i18next'\nimport { initReactI18next } from 'react-i18next'\nimport type { TolgeeInstance } from '@tolgee/i18next'\nimport { BackendFetch, I18nextPlugin, Tolgee, withTolgee } from '@tolgee/i18next'\nimport { Locale } from '../shared/constants/common.constants'\nimport {\n FallbackResources,\n OnTranslationInitCallback,\n StorageConfig,\n TolgeeConfig,\n TranslationManagerOptions,\n} from './translation.types'\nimport { DEFAULT_I18N_OPTIONS, TOLGEE_DEV_TIMEOUT_MS } from './translation.constants'\n\nexport class TranslationManager {\n private readonly projectId: string\n private readonly isDev: boolean\n private readonly i18nOptions: InitOptions\n private readonly isMobile: boolean\n private readonly onInitCallbacks: OnTranslationInitCallback[] = []\n private readonly fallbackResources?: FallbackResources\n private readonly storage?: StorageConfig\n\n private tolgeeCfg: TolgeeConfig | null = null\n private initPromise: Promise<void> | null = null\n\n constructor({\n projectId,\n isDev,\n i18nOptions,\n storage,\n isMobile = false,\n fallbackResources,\n }: TranslationManagerOptions) {\n this.projectId = projectId\n this.isDev = isDev\n this.i18nOptions = i18nOptions\n this.storage = storage\n this.isMobile = isMobile\n this.fallbackResources = fallbackResources\n }\n\n public readonly onInit = (callback: OnTranslationInitCallback) => {\n this.onInitCallbacks.push(callback)\n }\n\n public readonly init = async (locale: Locale, envConfig: TolgeeConfig) => {\n this.tolgeeCfg = envConfig\n\n if (!this.initPromise) {\n this.initPromise = this.initI18n(locale).catch((error) => {\n this.initPromise = null\n throw error\n })\n }\n await this.initPromise\n }\n\n public readonly setLanguage = async (locale: Locale) => {\n if (!i18n.isInitialized) return\n\n if (this.storage) {\n this.storage.adapter.setItem(this.storage.key, locale)\n }\n\n if (i18n.language !== locale) {\n await i18n.changeLanguage(locale)\n }\n }\n\n private readonly initI18n = async (locale: Locale) => {\n if (!this.tolgeeCfg) return\n\n const tolgee = this.isDev\n ? await this.initTolgeeDevTools(this.tolgeeCfg)\n : this.createBaseTolgeeInstance(this.tolgeeCfg).init({ staticData: this.fallbackResources })\n\n await withTolgee(i18n, tolgee)\n .use(initReactI18next)\n .init({\n ...DEFAULT_I18N_OPTIONS,\n ...this.i18nOptions,\n lng: locale,\n })\n\n this.onInitCallbacks.forEach((callback) => callback(locale))\n }\n\n private readonly createBaseTolgeeInstance = (tolgeeCfg: TolgeeConfig) => {\n return Tolgee()\n .use(I18nextPlugin())\n .use(\n BackendFetch({\n prefix: `${tolgeeCfg.cdnHost}/${this.projectId}`,\n fallbackOnFail: true,\n })\n )\n }\n\n private readonly initTolgeeDevTools = async (tolgeeCfg: TolgeeConfig): Promise<TolgeeInstance> => {\n const { DevBackend } = await import('@tolgee/i18next')\n\n const instance = this.createBaseTolgeeInstance(tolgeeCfg).use(DevBackend())\n\n if (!this.isMobile) {\n const { InContextTools } = await import('@tolgee/web/tools')\n instance.use(InContextTools())\n }\n\n return instance.init({\n apiUrl: tolgeeCfg.apiUrl,\n apiKey: tolgeeCfg.apiKey,\n staticData: this.fallbackResources,\n fetch: (input, init) => {\n // hermes appends trailing slash to the url, we need to remove it\n const url = typeof input === 'string' ? input.replace(/\\/\\?/, '?') : input\n const controller = new AbortController()\n setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS)\n return fetch(url, { ...init, signal: controller.signal })\n },\n })\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/translation/TranslationManager.ts","../../src/translation/translation.constants.ts"],"names":["i18n","withTolgee","initReactI18next","Tolgee","I18nextPlugin","BackendFetch","TranslationNamespace"],"mappings":"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","file":"index.js","sourcesContent":["import i18n, { InitOptions } from 'i18next'\nimport { initReactI18next } from 'react-i18next'\nimport type { TolgeeInstance } from '@tolgee/i18next'\nimport { BackendFetch, I18nextPlugin, Tolgee, withTolgee } from '@tolgee/i18next'\nimport { Locale } from '../shared/constants/common.constants'\nimport {\n FallbackResources,\n OnTranslationInitCallback,\n StorageConfig,\n TolgeeConfig,\n TranslationManagerOptions,\n} from './translation.types'\n\nconst TOLGEE_DEV_TIMEOUT_MS = 3000\n\nconst DEFAULT_I18N_OPTIONS: InitOptions = {\n fallbackLng: undefined,\n load: 'currentOnly',\n react: {\n useSuspense: false,\n },\n interpolation: {\n escapeValue: false,\n },\n}\n\nexport class TranslationManager {\n private readonly projectId: string\n private readonly isDev: boolean\n private readonly i18nOptions: InitOptions\n private readonly onInitCallbacks: OnTranslationInitCallback[] = []\n private readonly fallbackResources?: FallbackResources\n private readonly storage?: StorageConfig\n\n private tolgeeCfg: TolgeeConfig | null = null\n private initPromise: Promise<void> | null = null\n\n constructor({ projectId, isDev, i18nOptions, storage, fallbackResources }: TranslationManagerOptions) {\n this.projectId = projectId\n this.isDev = isDev\n this.i18nOptions = i18nOptions\n this.storage = storage\n this.fallbackResources = fallbackResources\n }\n\n public readonly onInit = (callback: OnTranslationInitCallback) => {\n this.onInitCallbacks.push(callback)\n }\n\n public readonly init = async (locale: Locale, envConfig: TolgeeConfig) => {\n this.tolgeeCfg = envConfig\n\n if (!this.initPromise) {\n this.initPromise = this.initI18n(locale).catch((error) => {\n this.initPromise = null\n throw error\n })\n }\n await this.initPromise\n }\n\n public readonly setLanguage = async (locale: Locale) => {\n if (!i18n.isInitialized) return\n\n if (this.storage) {\n this.storage.adapter.setItem(this.storage.key, locale)\n }\n\n if (i18n.language !== locale) {\n await i18n.changeLanguage(locale)\n }\n }\n\n private readonly initI18n = async (locale: Locale) => {\n if (!this.tolgeeCfg) return\n\n const tolgee = this.isDev\n ? await this.initTolgeeDevTools(this.tolgeeCfg)\n : this.createBaseTolgeeInstance(this.tolgeeCfg).init({ staticData: this.fallbackResources })\n\n await withTolgee(i18n, tolgee)\n .use(initReactI18next)\n .init({\n ...DEFAULT_I18N_OPTIONS,\n ...this.i18nOptions,\n lng: locale,\n })\n\n this.onInitCallbacks.forEach((callback) => callback(locale))\n }\n\n private readonly createBaseTolgeeInstance = (tolgeeCfg: TolgeeConfig) => {\n return Tolgee()\n .use(I18nextPlugin())\n .use(\n BackendFetch({\n prefix: `${tolgeeCfg.cdnHost}/${this.projectId}`,\n fallbackOnFail: true,\n })\n )\n }\n\n private readonly initTolgeeDevTools = async (tolgeeCfg: TolgeeConfig): Promise<TolgeeInstance> => {\n const { DevBackend } = await import('@tolgee/i18next')\n\n const instance = this.createBaseTolgeeInstance(tolgeeCfg).use(DevBackend())\n\n return instance.init({\n apiUrl: tolgeeCfg.apiUrl,\n apiKey: tolgeeCfg.apiKey,\n staticData: this.fallbackResources,\n fetch: async (input, init) => {\n // fix for react-native\n const url = typeof input === 'string' ? input.replace(/\\/\\?/, '?') : input\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS)\n try {\n return await fetch(url, { ...init, signal: controller.signal })\n } finally {\n clearTimeout(timeoutId)\n }\n },\n })\n }\n}\n","export enum TranslationNamespace {\n STUDENTS_WEB = 'students-web',\n TEACHERS_WEB = 'teachers-web',\n DISTRICT_DASH = 'district-dash',\n AUTH_WEB = 'auth-web',\n MOBILE = 'mobile',\n MAGMAMATH_FEATURES = 'magmamath-features',\n DRAW_BOARD = 'drawboard',\n STUDENTS_FEATURES = 'students-features',\n SHARED = 'shared',\n}\n"]}
@@ -3,20 +3,6 @@ import { initReactI18next } from 'react-i18next';
3
3
  import { withTolgee, Tolgee, I18nextPlugin, BackendFetch } from '@tolgee/i18next';
4
4
 
5
5
  // src/translation/TranslationManager.ts
6
-
7
- // src/translation/translation.constants.ts
8
- var TranslationNamespace = /* @__PURE__ */ ((TranslationNamespace2) => {
9
- TranslationNamespace2["STUDENTS_WEB"] = "students-web";
10
- TranslationNamespace2["TEACHERS_WEB"] = "teachers-web";
11
- TranslationNamespace2["DISTRICT_DASH"] = "district-dash";
12
- TranslationNamespace2["AUTH_WEB"] = "auth-web";
13
- TranslationNamespace2["MOBILE"] = "mobile";
14
- TranslationNamespace2["MAGMAMATH_FEATURES"] = "magmamath-features";
15
- TranslationNamespace2["DRAW_BOARD"] = "drawboard";
16
- TranslationNamespace2["STUDENTS_FEATURES"] = "students-features";
17
- TranslationNamespace2["SHARED"] = "shared";
18
- return TranslationNamespace2;
19
- })(TranslationNamespace || {});
20
6
  var TOLGEE_DEV_TIMEOUT_MS = 3e3;
21
7
  var DEFAULT_I18N_OPTIONS = {
22
8
  fallbackLng: void 0,
@@ -28,31 +14,20 @@ var DEFAULT_I18N_OPTIONS = {
28
14
  escapeValue: false
29
15
  }
30
16
  };
31
-
32
- // src/translation/TranslationManager.ts
33
17
  var TranslationManager = class {
34
18
  projectId;
35
19
  isDev;
36
20
  i18nOptions;
37
- isMobile;
38
21
  onInitCallbacks = [];
39
22
  fallbackResources;
40
23
  storage;
41
24
  tolgeeCfg = null;
42
25
  initPromise = null;
43
- constructor({
44
- projectId,
45
- isDev,
46
- i18nOptions,
47
- storage,
48
- isMobile = false,
49
- fallbackResources
50
- }) {
26
+ constructor({ projectId, isDev, i18nOptions, storage, fallbackResources }) {
51
27
  this.projectId = projectId;
52
28
  this.isDev = isDev;
53
29
  this.i18nOptions = i18nOptions;
54
30
  this.storage = storage;
55
- this.isMobile = isMobile;
56
31
  this.fallbackResources = fallbackResources;
57
32
  }
58
33
  onInit = (callback) => {
@@ -98,24 +73,38 @@ var TranslationManager = class {
98
73
  initTolgeeDevTools = async (tolgeeCfg) => {
99
74
  const { DevBackend } = await import('@tolgee/i18next');
100
75
  const instance = this.createBaseTolgeeInstance(tolgeeCfg).use(DevBackend());
101
- if (!this.isMobile) {
102
- const { InContextTools } = await import('@tolgee/web/tools');
103
- instance.use(InContextTools());
104
- }
105
76
  return instance.init({
106
77
  apiUrl: tolgeeCfg.apiUrl,
107
78
  apiKey: tolgeeCfg.apiKey,
108
79
  staticData: this.fallbackResources,
109
- fetch: (input, init) => {
80
+ fetch: async (input, init) => {
110
81
  const url = typeof input === "string" ? input.replace(/\/\?/, "?") : input;
111
82
  const controller = new AbortController();
112
- setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS);
113
- return fetch(url, { ...init, signal: controller.signal });
83
+ const timeoutId = setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS);
84
+ try {
85
+ return await fetch(url, { ...init, signal: controller.signal });
86
+ } finally {
87
+ clearTimeout(timeoutId);
88
+ }
114
89
  }
115
90
  });
116
91
  };
117
92
  };
118
93
 
94
+ // src/translation/translation.constants.ts
95
+ var TranslationNamespace = /* @__PURE__ */ ((TranslationNamespace2) => {
96
+ TranslationNamespace2["STUDENTS_WEB"] = "students-web";
97
+ TranslationNamespace2["TEACHERS_WEB"] = "teachers-web";
98
+ TranslationNamespace2["DISTRICT_DASH"] = "district-dash";
99
+ TranslationNamespace2["AUTH_WEB"] = "auth-web";
100
+ TranslationNamespace2["MOBILE"] = "mobile";
101
+ TranslationNamespace2["MAGMAMATH_FEATURES"] = "magmamath-features";
102
+ TranslationNamespace2["DRAW_BOARD"] = "drawboard";
103
+ TranslationNamespace2["STUDENTS_FEATURES"] = "students-features";
104
+ TranslationNamespace2["SHARED"] = "shared";
105
+ return TranslationNamespace2;
106
+ })(TranslationNamespace || {});
107
+
119
108
  export { TranslationManager, TranslationNamespace };
120
109
  //# sourceMappingURL=index.mjs.map
121
110
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/translation/translation.constants.ts","../../src/translation/TranslationManager.ts"],"names":["TranslationNamespace"],"mappings":"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","file":"index.mjs","sourcesContent":["import { InitOptions } from 'i18next'\n\nexport enum TranslationNamespace {\n STUDENTS_WEB = 'students-web',\n TEACHERS_WEB = 'teachers-web',\n DISTRICT_DASH = 'district-dash',\n AUTH_WEB = 'auth-web',\n MOBILE = 'mobile',\n MAGMAMATH_FEATURES = 'magmamath-features',\n DRAW_BOARD = 'drawboard',\n STUDENTS_FEATURES = 'students-features',\n SHARED = 'shared',\n}\n\nexport const TOLGEE_DEV_TIMEOUT_MS = 3000\n\nexport const DEFAULT_I18N_OPTIONS: InitOptions = {\n fallbackLng: undefined,\n load: 'currentOnly',\n react: {\n useSuspense: false,\n },\n interpolation: {\n escapeValue: false,\n },\n}\n","import i18n, { InitOptions } from 'i18next'\nimport { initReactI18next } from 'react-i18next'\nimport type { TolgeeInstance } from '@tolgee/i18next'\nimport { BackendFetch, I18nextPlugin, Tolgee, withTolgee } from '@tolgee/i18next'\nimport { Locale } from '../shared/constants/common.constants'\nimport {\n FallbackResources,\n OnTranslationInitCallback,\n StorageConfig,\n TolgeeConfig,\n TranslationManagerOptions,\n} from './translation.types'\nimport { DEFAULT_I18N_OPTIONS, TOLGEE_DEV_TIMEOUT_MS } from './translation.constants'\n\nexport class TranslationManager {\n private readonly projectId: string\n private readonly isDev: boolean\n private readonly i18nOptions: InitOptions\n private readonly isMobile: boolean\n private readonly onInitCallbacks: OnTranslationInitCallback[] = []\n private readonly fallbackResources?: FallbackResources\n private readonly storage?: StorageConfig\n\n private tolgeeCfg: TolgeeConfig | null = null\n private initPromise: Promise<void> | null = null\n\n constructor({\n projectId,\n isDev,\n i18nOptions,\n storage,\n isMobile = false,\n fallbackResources,\n }: TranslationManagerOptions) {\n this.projectId = projectId\n this.isDev = isDev\n this.i18nOptions = i18nOptions\n this.storage = storage\n this.isMobile = isMobile\n this.fallbackResources = fallbackResources\n }\n\n public readonly onInit = (callback: OnTranslationInitCallback) => {\n this.onInitCallbacks.push(callback)\n }\n\n public readonly init = async (locale: Locale, envConfig: TolgeeConfig) => {\n this.tolgeeCfg = envConfig\n\n if (!this.initPromise) {\n this.initPromise = this.initI18n(locale).catch((error) => {\n this.initPromise = null\n throw error\n })\n }\n await this.initPromise\n }\n\n public readonly setLanguage = async (locale: Locale) => {\n if (!i18n.isInitialized) return\n\n if (this.storage) {\n this.storage.adapter.setItem(this.storage.key, locale)\n }\n\n if (i18n.language !== locale) {\n await i18n.changeLanguage(locale)\n }\n }\n\n private readonly initI18n = async (locale: Locale) => {\n if (!this.tolgeeCfg) return\n\n const tolgee = this.isDev\n ? await this.initTolgeeDevTools(this.tolgeeCfg)\n : this.createBaseTolgeeInstance(this.tolgeeCfg).init({ staticData: this.fallbackResources })\n\n await withTolgee(i18n, tolgee)\n .use(initReactI18next)\n .init({\n ...DEFAULT_I18N_OPTIONS,\n ...this.i18nOptions,\n lng: locale,\n })\n\n this.onInitCallbacks.forEach((callback) => callback(locale))\n }\n\n private readonly createBaseTolgeeInstance = (tolgeeCfg: TolgeeConfig) => {\n return Tolgee()\n .use(I18nextPlugin())\n .use(\n BackendFetch({\n prefix: `${tolgeeCfg.cdnHost}/${this.projectId}`,\n fallbackOnFail: true,\n })\n )\n }\n\n private readonly initTolgeeDevTools = async (tolgeeCfg: TolgeeConfig): Promise<TolgeeInstance> => {\n const { DevBackend } = await import('@tolgee/i18next')\n\n const instance = this.createBaseTolgeeInstance(tolgeeCfg).use(DevBackend())\n\n if (!this.isMobile) {\n const { InContextTools } = await import('@tolgee/web/tools')\n instance.use(InContextTools())\n }\n\n return instance.init({\n apiUrl: tolgeeCfg.apiUrl,\n apiKey: tolgeeCfg.apiKey,\n staticData: this.fallbackResources,\n fetch: (input, init) => {\n // hermes appends trailing slash to the url, we need to remove it\n const url = typeof input === 'string' ? input.replace(/\\/\\?/, '?') : input\n const controller = new AbortController()\n setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS)\n return fetch(url, { ...init, signal: controller.signal })\n },\n })\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/translation/TranslationManager.ts","../../src/translation/translation.constants.ts"],"names":["TranslationNamespace"],"mappings":"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","file":"index.mjs","sourcesContent":["import i18n, { InitOptions } from 'i18next'\nimport { initReactI18next } from 'react-i18next'\nimport type { TolgeeInstance } from '@tolgee/i18next'\nimport { BackendFetch, I18nextPlugin, Tolgee, withTolgee } from '@tolgee/i18next'\nimport { Locale } from '../shared/constants/common.constants'\nimport {\n FallbackResources,\n OnTranslationInitCallback,\n StorageConfig,\n TolgeeConfig,\n TranslationManagerOptions,\n} from './translation.types'\n\nconst TOLGEE_DEV_TIMEOUT_MS = 3000\n\nconst DEFAULT_I18N_OPTIONS: InitOptions = {\n fallbackLng: undefined,\n load: 'currentOnly',\n react: {\n useSuspense: false,\n },\n interpolation: {\n escapeValue: false,\n },\n}\n\nexport class TranslationManager {\n private readonly projectId: string\n private readonly isDev: boolean\n private readonly i18nOptions: InitOptions\n private readonly onInitCallbacks: OnTranslationInitCallback[] = []\n private readonly fallbackResources?: FallbackResources\n private readonly storage?: StorageConfig\n\n private tolgeeCfg: TolgeeConfig | null = null\n private initPromise: Promise<void> | null = null\n\n constructor({ projectId, isDev, i18nOptions, storage, fallbackResources }: TranslationManagerOptions) {\n this.projectId = projectId\n this.isDev = isDev\n this.i18nOptions = i18nOptions\n this.storage = storage\n this.fallbackResources = fallbackResources\n }\n\n public readonly onInit = (callback: OnTranslationInitCallback) => {\n this.onInitCallbacks.push(callback)\n }\n\n public readonly init = async (locale: Locale, envConfig: TolgeeConfig) => {\n this.tolgeeCfg = envConfig\n\n if (!this.initPromise) {\n this.initPromise = this.initI18n(locale).catch((error) => {\n this.initPromise = null\n throw error\n })\n }\n await this.initPromise\n }\n\n public readonly setLanguage = async (locale: Locale) => {\n if (!i18n.isInitialized) return\n\n if (this.storage) {\n this.storage.adapter.setItem(this.storage.key, locale)\n }\n\n if (i18n.language !== locale) {\n await i18n.changeLanguage(locale)\n }\n }\n\n private readonly initI18n = async (locale: Locale) => {\n if (!this.tolgeeCfg) return\n\n const tolgee = this.isDev\n ? await this.initTolgeeDevTools(this.tolgeeCfg)\n : this.createBaseTolgeeInstance(this.tolgeeCfg).init({ staticData: this.fallbackResources })\n\n await withTolgee(i18n, tolgee)\n .use(initReactI18next)\n .init({\n ...DEFAULT_I18N_OPTIONS,\n ...this.i18nOptions,\n lng: locale,\n })\n\n this.onInitCallbacks.forEach((callback) => callback(locale))\n }\n\n private readonly createBaseTolgeeInstance = (tolgeeCfg: TolgeeConfig) => {\n return Tolgee()\n .use(I18nextPlugin())\n .use(\n BackendFetch({\n prefix: `${tolgeeCfg.cdnHost}/${this.projectId}`,\n fallbackOnFail: true,\n })\n )\n }\n\n private readonly initTolgeeDevTools = async (tolgeeCfg: TolgeeConfig): Promise<TolgeeInstance> => {\n const { DevBackend } = await import('@tolgee/i18next')\n\n const instance = this.createBaseTolgeeInstance(tolgeeCfg).use(DevBackend())\n\n return instance.init({\n apiUrl: tolgeeCfg.apiUrl,\n apiKey: tolgeeCfg.apiKey,\n staticData: this.fallbackResources,\n fetch: async (input, init) => {\n // fix for react-native\n const url = typeof input === 'string' ? input.replace(/\\/\\?/, '?') : input\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), TOLGEE_DEV_TIMEOUT_MS)\n try {\n return await fetch(url, { ...init, signal: controller.signal })\n } finally {\n clearTimeout(timeoutId)\n }\n },\n })\n }\n}\n","export enum TranslationNamespace {\n STUDENTS_WEB = 'students-web',\n TEACHERS_WEB = 'teachers-web',\n DISTRICT_DASH = 'district-dash',\n AUTH_WEB = 'auth-web',\n MOBILE = 'mobile',\n MAGMAMATH_FEATURES = 'magmamath-features',\n DRAW_BOARD = 'drawboard',\n STUDENTS_FEATURES = 'students-features',\n SHARED = 'shared',\n}\n"]}
@@ -0,0 +1,13 @@
1
+ declare enum TranslationNamespace {
2
+ STUDENTS_WEB = "students-web",
3
+ TEACHERS_WEB = "teachers-web",
4
+ DISTRICT_DASH = "district-dash",
5
+ AUTH_WEB = "auth-web",
6
+ MOBILE = "mobile",
7
+ MAGMAMATH_FEATURES = "magmamath-features",
8
+ DRAW_BOARD = "drawboard",
9
+ STUDENTS_FEATURES = "students-features",
10
+ SHARED = "shared"
11
+ }
12
+
13
+ export { TranslationNamespace };
@@ -0,0 +1,13 @@
1
+ declare enum TranslationNamespace {
2
+ STUDENTS_WEB = "students-web",
3
+ TEACHERS_WEB = "teachers-web",
4
+ DISTRICT_DASH = "district-dash",
5
+ AUTH_WEB = "auth-web",
6
+ MOBILE = "mobile",
7
+ MAGMAMATH_FEATURES = "magmamath-features",
8
+ DRAW_BOARD = "drawboard",
9
+ STUDENTS_FEATURES = "students-features",
10
+ SHARED = "shared"
11
+ }
12
+
13
+ export { TranslationNamespace };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ // src/translation/translation.constants.ts
4
+ var TranslationNamespace = /* @__PURE__ */ ((TranslationNamespace2) => {
5
+ TranslationNamespace2["STUDENTS_WEB"] = "students-web";
6
+ TranslationNamespace2["TEACHERS_WEB"] = "teachers-web";
7
+ TranslationNamespace2["DISTRICT_DASH"] = "district-dash";
8
+ TranslationNamespace2["AUTH_WEB"] = "auth-web";
9
+ TranslationNamespace2["MOBILE"] = "mobile";
10
+ TranslationNamespace2["MAGMAMATH_FEATURES"] = "magmamath-features";
11
+ TranslationNamespace2["DRAW_BOARD"] = "drawboard";
12
+ TranslationNamespace2["STUDENTS_FEATURES"] = "students-features";
13
+ TranslationNamespace2["SHARED"] = "shared";
14
+ return TranslationNamespace2;
15
+ })(TranslationNamespace || {});
16
+
17
+ exports.TranslationNamespace = TranslationNamespace;
18
+ //# sourceMappingURL=translation.constants.js.map
19
+ //# sourceMappingURL=translation.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/translation/translation.constants.ts"],"names":["TranslationNamespace"],"mappings":";;;AAAY,IAAA,oBAAA,qBAAAA,qBAAL,KAAA;AACL,EAAAA,sBAAA,cAAe,CAAA,GAAA,cAAA;AACf,EAAAA,sBAAA,cAAe,CAAA,GAAA,cAAA;AACf,EAAAA,sBAAA,eAAgB,CAAA,GAAA,eAAA;AAChB,EAAAA,sBAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,sBAAA,QAAS,CAAA,GAAA,QAAA;AACT,EAAAA,sBAAA,oBAAqB,CAAA,GAAA,oBAAA;AACrB,EAAAA,sBAAA,YAAa,CAAA,GAAA,WAAA;AACb,EAAAA,sBAAA,mBAAoB,CAAA,GAAA,mBAAA;AACpB,EAAAA,sBAAA,QAAS,CAAA,GAAA,QAAA;AATC,EAAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA","file":"translation.constants.js","sourcesContent":["export enum TranslationNamespace {\n STUDENTS_WEB = 'students-web',\n TEACHERS_WEB = 'teachers-web',\n DISTRICT_DASH = 'district-dash',\n AUTH_WEB = 'auth-web',\n MOBILE = 'mobile',\n MAGMAMATH_FEATURES = 'magmamath-features',\n DRAW_BOARD = 'drawboard',\n STUDENTS_FEATURES = 'students-features',\n SHARED = 'shared',\n}\n"]}
@@ -0,0 +1,17 @@
1
+ // src/translation/translation.constants.ts
2
+ var TranslationNamespace = /* @__PURE__ */ ((TranslationNamespace2) => {
3
+ TranslationNamespace2["STUDENTS_WEB"] = "students-web";
4
+ TranslationNamespace2["TEACHERS_WEB"] = "teachers-web";
5
+ TranslationNamespace2["DISTRICT_DASH"] = "district-dash";
6
+ TranslationNamespace2["AUTH_WEB"] = "auth-web";
7
+ TranslationNamespace2["MOBILE"] = "mobile";
8
+ TranslationNamespace2["MAGMAMATH_FEATURES"] = "magmamath-features";
9
+ TranslationNamespace2["DRAW_BOARD"] = "drawboard";
10
+ TranslationNamespace2["STUDENTS_FEATURES"] = "students-features";
11
+ TranslationNamespace2["SHARED"] = "shared";
12
+ return TranslationNamespace2;
13
+ })(TranslationNamespace || {});
14
+
15
+ export { TranslationNamespace };
16
+ //# sourceMappingURL=translation.constants.mjs.map
17
+ //# sourceMappingURL=translation.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/translation/translation.constants.ts"],"names":["TranslationNamespace"],"mappings":";AAAY,IAAA,oBAAA,qBAAAA,qBAAL,KAAA;AACL,EAAAA,sBAAA,cAAe,CAAA,GAAA,cAAA;AACf,EAAAA,sBAAA,cAAe,CAAA,GAAA,cAAA;AACf,EAAAA,sBAAA,eAAgB,CAAA,GAAA,eAAA;AAChB,EAAAA,sBAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,sBAAA,QAAS,CAAA,GAAA,QAAA;AACT,EAAAA,sBAAA,oBAAqB,CAAA,GAAA,oBAAA;AACrB,EAAAA,sBAAA,YAAa,CAAA,GAAA,WAAA;AACb,EAAAA,sBAAA,mBAAoB,CAAA,GAAA,mBAAA;AACpB,EAAAA,sBAAA,QAAS,CAAA,GAAA,QAAA;AATC,EAAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA","file":"translation.constants.mjs","sourcesContent":["export enum TranslationNamespace {\n STUDENTS_WEB = 'students-web',\n TEACHERS_WEB = 'teachers-web',\n DISTRICT_DASH = 'district-dash',\n AUTH_WEB = 'auth-web',\n MOBILE = 'mobile',\n MAGMAMATH_FEATURES = 'magmamath-features',\n DRAW_BOARD = 'drawboard',\n STUDENTS_FEATURES = 'students-features',\n SHARED = 'shared',\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/frontend-config",
3
- "version": "1.1.2-rc.23",
3
+ "version": "1.1.2-rc.25",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -14,12 +14,20 @@
14
14
  "types": "./dist/translation/index.d.ts",
15
15
  "import": "./dist/translation/index.mjs",
16
16
  "require": "./dist/translation/index.js"
17
+ },
18
+ "./translation/constants": {
19
+ "types": "./dist/translation/translation.constants.d.ts",
20
+ "import": "./dist/translation/translation.constants.mjs",
21
+ "require": "./dist/translation/translation.constants.js"
17
22
  }
18
23
  },
19
24
  "typesVersions": {
20
25
  "*": {
21
26
  "translation": [
22
27
  "./dist/translation/index.d.ts"
28
+ ],
29
+ "translation/constants": [
30
+ "./dist/translation/translation.constants.d.ts"
23
31
  ]
24
32
  }
25
33
  },
@@ -43,22 +51,22 @@
43
51
  "i18next": ">=23",
44
52
  "react": "^18",
45
53
  "react-dom": "^18",
46
- "react-i18next": ">=14",
54
+ "react-i18next": ">=15",
47
55
  "react-native-svg": "15.13.0",
48
56
  "@tolgee/i18next": ">=5",
49
- "@tolgee/web": ">=5"
57
+ "@tolgee/web": ">=6"
50
58
  },
51
59
  "dependencies": {},
52
60
  "devDependencies": {
53
- "@tolgee/i18next": "^5.0.0",
54
- "@tolgee/web": "^5.0.0",
61
+ "@tolgee/i18next": "^7.0.0",
62
+ "@tolgee/web": "^7.0.0",
55
63
  "@types/node": "^18.0.0",
56
64
  "@types/react": "^19.2.2",
57
65
  "effector": "^23.4.4",
58
66
  "eslint": "^8.57.0",
59
- "i18next": "^23.0.0",
67
+ "i18next": "^25.2.1",
60
68
  "react": "^18",
61
- "react-i18next": "^14.0.0",
69
+ "react-i18next": "^15.5.2",
62
70
  "react-native-svg": "15.13.0",
63
71
  "rimraf": "^5.0.0",
64
72
  "tsup": "^8.0.0",