Skip to content
Snippets Groups Projects
Unverified Commit 4d891a60 authored by Jack Reed's avatar Jack Reed Committed by GitHub
Browse files

Merge pull request #3414 from ProjectMirador/cbeer-patch-2

Update dev dependencies
parents a1652fe9 3f8803f8
Branches
No related tags found
No related merge requests found
const path = require('path');
const fs = require('fs');
const url = require('url');
// Make sure any symlinks in the project folder are resolved:
// https://github.com/facebook/create-react-app/issues/637
const appDirectory = fs.realpathSync(process.cwd());
/**
*
* @param relativePath
* @returns {string}
*/
const resolveApp = relativePath => path.resolve(appDirectory, relativePath);
const envPublicUrl = process.env.PUBLIC_URL;
/**
*
* @param inputPath
* @param needsSlash
* @returns {*}
*/
function ensureSlash(inputPath, needsSlash) {
const hasSlash = inputPath.endsWith('/');
if (hasSlash && !needsSlash) {
return inputPath.substr(0, inputPath.length - 1);
} else if (!hasSlash && needsSlash) {
return `${inputPath}/`;
} else {
return inputPath;
}
}
/**
*
* @param appPackageJson
* @returns {string | *}
*/
const getPublicUrl = appPackageJson => envPublicUrl || require(appPackageJson).homepage;
/**
*
* @param appPackageJson
* @returns {*}
*/
function getServedPath(appPackageJson) {
const publicUrl = getPublicUrl(appPackageJson);
const servedUrl =
envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/');
return ensureSlash(servedUrl, true);
}
const moduleFileExtensions = [
'web.mjs',
'mjs',
'web.js',
'js',
'web.ts',
'ts',
'web.tsx',
'tsx',
'json',
'web.jsx',
'jsx',
];
/**
*
* @param resolveFn
* @param filePath
* @returns {*}
*/
const resolveModule = (resolveFn, filePath) => {
const extension = moduleFileExtensions.find(extension => fs.existsSync(resolveFn(`${filePath}.${extension}`)));
if (extension) {
return resolveFn(`${filePath}.${extension}`);
}
return resolveFn(`${filePath}.js`);
};
module.exports = {
dotenv: resolveApp('.env'),
appPath: resolveApp('.'),
appBuild: resolveApp('build'),
appDist: resolveApp('dist'),
appIndexJs: resolveModule(resolveApp, 'src/index'),
appPackageJson: resolveApp('package.json'),
appSrc: resolveApp('src'),
testsSetup: resolveModule(resolveApp, 'src/setupTests'),
appNodeModules: resolveApp('node_modules'),
publicUrl: getPublicUrl(resolveApp('package.json')),
servedPath: getServedPath(resolveApp('package.json')),
};
module.exports.moduleFileExtensions = moduleFileExtensions;
...@@ -86,7 +86,9 @@ ...@@ -86,7 +86,9 @@
"@babel/preset-env": "^7.10.3", "@babel/preset-env": "^7.10.3",
"@babel/preset-react": "^7.10.1", "@babel/preset-react": "^7.10.1",
"@pmmmwh/react-refresh-webpack-plugin": "^0.3.3", "@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-jest": "^26.0.1",
"babel-loader": "^8.0.6", "babel-loader": "^8.0.6",
"babel-plugin-lodash": "^3.3.4", "babel-plugin-lodash": "^3.3.4",
...@@ -98,15 +100,16 @@ ...@@ -98,15 +100,16 @@
"core-js": "^3.4.8", "core-js": "^3.4.8",
"enzyme": "^3.10.0", "enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.15.0", "enzyme-adapter-react-16": "^1.15.0",
"eslint": "^6.0.0", "eslint": "^7.23.0",
"eslint-config-airbnb": "^18.2.0", "eslint-config-airbnb": "^18.2.0",
"eslint-config-react-app": "^3.0.5", "eslint-config-react-app": "^6.0.0",
"eslint-loader": "^4.0.2", "eslint-loader": "^4.0.2",
"eslint-plugin-flowtype": "^4.7.0", "eslint-plugin-flowtype": "^5.6.0",
"eslint-plugin-import": "^2.18.0", "eslint-plugin-import": "^2.22.1",
"eslint-plugin-jest": "^23.16.0", "eslint-plugin-jest": "^24.0.0",
"eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-react": "^7.14.2", "eslint-plugin-react": "^7.23.2",
"eslint-plugin-react-hooks": "^4.2.0",
"glob": "^7.1.4", "glob": "^7.1.4",
"http-server": "^0.12.3", "http-server": "^0.12.3",
"jest": "^26.0.1", "jest": "^26.0.1",
...@@ -115,7 +118,6 @@ ...@@ -115,7 +118,6 @@
"jsdom": "15.1.1", "jsdom": "15.1.1",
"puppeteer": "^4.0.0", "puppeteer": "^4.0.0",
"react": "^16.8.6", "react": "^16.8.6",
"react-dev-utils": "^10.2.1",
"react-dom": "^16.8.6", "react-dom": "^16.8.6",
"react-refresh": "^0.8.3", "react-refresh": "^0.8.3",
"redux-mock-store": "^1.5.1", "redux-mock-store": "^1.5.1",
......
...@@ -16,7 +16,7 @@ export default function PluginProvider(props) { ...@@ -16,7 +16,7 @@ export default function PluginProvider(props) {
const connectedPlugins = connectPluginsToStore(plugins); const connectedPlugins = connectPluginsToStore(plugins);
addPluginsToCompanionWindowsRegistry(connectedPlugins); addPluginsToCompanionWindowsRegistry(connectedPlugins);
setPluginMap(createTargetToPluginMapping(connectedPlugins)); setPluginMap(createTargetToPluginMapping(connectedPlugins));
}, []); }, [plugins]);
return ( return (
<PluginContext.Provider value={pluginMap}> <PluginContext.Provider value={pluginMap}>
......
...@@ -14,8 +14,10 @@ import sr from './locales/sr/translation.json'; ...@@ -14,8 +14,10 @@ import sr from './locales/sr/translation.json';
import lt from './locales/lt/translation.json'; import lt from './locales/lt/translation.json';
import vi from './locales/vi/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 = { const resources = {
ar, ar,
de, de,
...@@ -43,4 +45,6 @@ export default () => { ...@@ -43,4 +45,6 @@ export default () => {
}); });
return instance; return instance;
}; }
export default createI18nInstance;
...@@ -18,9 +18,11 @@ const mirador2 = { ...@@ -18,9 +18,11 @@ const mirador2 = {
ALLOWED_TAGS: ['a', 'b', 'br', 'i', 'img', 'p', 'span', 'strong', 'em', 'ul', 'ol', 'li'], ALLOWED_TAGS: ['a', 'b', 'br', 'i', 'img', 'p', 'span', 'strong', 'em', 'ul', 'ol', 'li'],
}; };
export default { const htmlRules = {
iiif, iiif,
liberal, liberal,
mirador2, mirador2,
noHtml, noHtml,
}; };
export default htmlRules;
...@@ -14,7 +14,7 @@ import settings from '../config/settings'; ...@@ -14,7 +14,7 @@ import settings from '../config/settings';
/** /**
* Configure Store * Configure Store
*/ */
export default function (pluginReducers, pluginSagas = []) { function configureStore(pluginReducers, pluginSagas = []) {
const miradorReducer = createRootReducer(pluginReducers); const miradorReducer = createRootReducer(pluginReducers);
const rootReducer = settings.state.slice const rootReducer = settings.state.slice
...@@ -38,3 +38,5 @@ export default function (pluginReducers, pluginSagas = []) { ...@@ -38,3 +38,5 @@ export default function (pluginReducers, pluginSagas = []) {
return store; return store;
} }
export default configureStore;
const path = require('path'); const path = require('path');
const fs = require('fs');
const webpack = require('webpack'); const webpack = require('webpack');
const TerserPlugin = require('terser-webpack-plugin'); const TerserPlugin = require('terser-webpack-plugin');
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
const paths = require('./config/paths');
/** */ /** */
const baseConfig = mode => ({ const baseConfig = mode => ({
...@@ -10,7 +10,7 @@ const baseConfig = mode => ({ ...@@ -10,7 +10,7 @@ const baseConfig = mode => ({
module: { module: {
rules: [ rules: [
{ {
include: paths.appPath, // CRL include: path.resolve(fs.realpathSync(process.cwd()), '.'), // CRL
loader: require.resolve('babel-loader'), loader: require.resolve('babel-loader'),
options: { options: {
// Save disk space when time isn't as important // Save disk space when time isn't as important
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment