diff --git a/package.json b/package.json index 5ee8dde2e045e44f941d2baf5286a5e411ece994..0dd587d6cebf14d8f13c83e58caf9f0424e18185 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,9 @@ "@babel/preset-env": "^7.10.3", "@babel/preset-react": "^7.10.1", "@pmmmwh/react-refresh-webpack-plugin": "^0.3.3", - "babel-eslint": "10.1.0", + "@typescript-eslint/eslint-plugin": "^4.21.0", + "@typescript-eslint/parser": "^4.21.0", + "babel-eslint": "^10.1.0", "babel-jest": "^26.0.1", "babel-loader": "^8.0.6", "babel-plugin-lodash": "^3.3.4", @@ -98,15 +100,16 @@ "core-js": "^3.4.8", "enzyme": "^3.10.0", "enzyme-adapter-react-16": "^1.15.0", - "eslint": "^7.0.0", + "eslint": "^7.23.0", "eslint-config-airbnb": "^18.2.0", "eslint-config-react-app": "^6.0.0", "eslint-loader": "^4.0.2", - "eslint-plugin-flowtype": "^5.2.0", - "eslint-plugin-import": "^2.18.0", + "eslint-plugin-flowtype": "^5.6.0", + "eslint-plugin-import": "^2.22.1", "eslint-plugin-jest": "^24.0.0", - "eslint-plugin-jsx-a11y": "^6.2.3", - "eslint-plugin-react": "^7.21.0", + "eslint-plugin-jsx-a11y": "^6.4.1", + "eslint-plugin-react": "^7.23.2", + "eslint-plugin-react-hooks": "^4.2.0", "glob": "^7.1.4", "http-server": "^0.12.3", "jest": "^26.0.1", @@ -115,7 +118,6 @@ "jsdom": "15.1.1", "puppeteer": "^4.0.0", "react": "^16.8.6", - "react-dev-utils": "^11.0.2", "react-dom": "^16.8.6", "react-refresh": "^0.8.3", "redux-mock-store": "^1.5.1", diff --git a/src/extend/PluginProvider.js b/src/extend/PluginProvider.js index ee9269e58f462c7a7500be9c946bd698d2604e0b..784191184315d514b59b25a64e23bd1897bc9f1b 100644 --- a/src/extend/PluginProvider.js +++ b/src/extend/PluginProvider.js @@ -16,7 +16,7 @@ export default function PluginProvider(props) { const connectedPlugins = connectPluginsToStore(plugins); addPluginsToCompanionWindowsRegistry(connectedPlugins); setPluginMap(createTargetToPluginMapping(connectedPlugins)); - }, []); + }, [plugins]); return ( <PluginContext.Provider value={pluginMap}> diff --git a/src/i18n.js b/src/i18n.js index 5742a271d834641d659091427d21f1a002e2fbb5..168dcb81f9af01140164293376c5fb7dfdd4c9a0 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -14,8 +14,10 @@ import sr from './locales/sr/translation.json'; import lt from './locales/lt/translation.json'; import vi from './locales/vi/translation.json'; -export default () => { - // Load translations for each language +/** + * Load translations for each language + */ +function createI18nInstance() { const resources = { ar, de, @@ -43,4 +45,6 @@ export default () => { }); return instance; -}; +} + +export default createI18nInstance; diff --git a/src/lib/htmlRules.js b/src/lib/htmlRules.js index 43fd823275b1bf50c98b29f68b4f8ef34353c09a..f50c3ae246f8b1219a2fe40af0a7947e8c798be9 100644 --- a/src/lib/htmlRules.js +++ b/src/lib/htmlRules.js @@ -18,9 +18,11 @@ const mirador2 = { ALLOWED_TAGS: ['a', 'b', 'br', 'i', 'img', 'p', 'span', 'strong', 'em', 'ul', 'ol', 'li'], }; -export default { +const htmlRules = { iiif, liberal, mirador2, noHtml, }; + +export default htmlRules; diff --git a/src/state/createStore.js b/src/state/createStore.js index 4797c59ebfe99ea942b02576f4e16bee8db49222..717b0b8915cc9dd00df4b0652a56a4d291b80c65 100644 --- a/src/state/createStore.js +++ b/src/state/createStore.js @@ -14,7 +14,7 @@ import settings from '../config/settings'; /** * Configure Store */ -export default function (pluginReducers, pluginSagas = []) { +function configureStore(pluginReducers, pluginSagas = []) { const miradorReducer = createRootReducer(pluginReducers); const rootReducer = settings.state.slice @@ -38,3 +38,5 @@ export default function (pluginReducers, pluginSagas = []) { return store; } + +export default configureStore;