@magmamath/frontend-config 1.3.1 → 1.3.2-rc.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.
- package/dist/{common.constants-Dy4DFaEM.d.mts → common.constants-ClvjFWRr.d.mts} +1 -2
- package/dist/{common.constants-Dy4DFaEM.d.ts → common.constants-ClvjFWRr.d.ts} +1 -2
- package/dist/index.d.mts +3 -21
- package/dist/index.d.ts +3 -21
- package/dist/index.js +7 -213
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -213
- package/dist/index.mjs.map +1 -1
- package/dist/translation/index.d.mts +1 -1
- package/dist/translation/index.d.ts +1 -1
- package/dist/translation/index.js +1 -0
- package/dist/translation/index.js.map +1 -1
- package/dist/translation/index.mjs +1 -0
- package/dist/translation/index.mjs.map +1 -1
- package/package.json +10 -4
|
@@ -1 +1 @@
|
|
|
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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
|
|
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 keySeparator: false,\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 canUseTolgeeDevTools = this.isDev && this.tolgeeCfg.apiKey && this.tolgeeCfg.apiUrl\n\n const tolgee = canUseTolgeeDevTools\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/translation/TranslationManager.ts","../../src/translation/translation.constants.ts"],"names":["TranslationNamespace"],"mappings":"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
|
|
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 keySeparator: false,\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 canUseTolgeeDevTools = this.isDev && this.tolgeeCfg.apiKey && this.tolgeeCfg.apiUrl\n\n const tolgee = canUseTolgeeDevTools\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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magmamath/frontend-config",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2-rc.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -56,9 +56,15 @@
|
|
|
56
56
|
"@tolgee/i18next": ">=5"
|
|
57
57
|
},
|
|
58
58
|
"peerDependenciesMeta": {
|
|
59
|
-
"i18next": {
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
"i18next": {
|
|
60
|
+
"optional": true
|
|
61
|
+
},
|
|
62
|
+
"react-i18next": {
|
|
63
|
+
"optional": true
|
|
64
|
+
},
|
|
65
|
+
"@tolgee/i18next": {
|
|
66
|
+
"optional": true
|
|
67
|
+
}
|
|
62
68
|
},
|
|
63
69
|
"dependencies": {},
|
|
64
70
|
"devDependencies": {
|