UNPKG

i18next-hmr

Version:

I18Next HMR🔥 webpack / vite plugin that allows reload translation resources instantly on the client & the server.

28 lines (21 loc) • 797 B
module.exports = function applyClientHMR(i18nOrGetter) { if (module.hot) { const { extractList, printList, reloadTranslations, log } = require('../utils'); const { changedFile } = require('./trigger.js'); if (!changedFile || changedFile) { // We must use the required variable log('Client HMR has started'); } module.hot.accept('./trigger.js', () => { const { changedFiles } = require('./trigger.js'); const i18nInstance = typeof i18nOrGetter === 'function' ? i18nOrGetter({ changedFiles }) : i18nOrGetter; const list = extractList(changedFiles, i18nInstance); if (!list.length) { return; } log(`Got an update with ${printList(list)}`); return reloadTranslations(list, i18nInstance); }); } };