From 63c6f600bf4f46c2aaa867d5fd47e99dd70fbd24 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 1 Mar 2019 11:30:50 +0000 Subject: [PATCH 1/4] Use webpack alias to resolve the languages file Hopefully this will end up simpler than having to figure out in riot-web what the relative path is from react-sdk's src/languageHandler.js to riot-web's webapp directory. --- scripts/travis/build.sh | 2 +- src/languageHandler.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/travis/build.sh b/scripts/travis/build.sh index df192d70b2..a353e38a06 100755 --- a/scripts/travis/build.sh +++ b/scripts/travis/build.sh @@ -23,5 +23,5 @@ ln -s "$REACT_SDK_DIR/node_modules/matrix-js-sdk" node_modules/matrix-js-sdk rm -r node_modules/matrix-react-sdk ln -s "$REACT_SDK_DIR" node_modules/matrix-react-sdk -RIOT_LANGUAGES_FILE="../riot-web/webapp/i18n/languages.json" npm run build +npm run build popd diff --git a/src/languageHandler.js b/src/languageHandler.js index 7c1a47fed9..bc2bd429b5 100644 --- a/src/languageHandler.js +++ b/src/languageHandler.js @@ -338,8 +338,8 @@ export function getCurrentLanguage() { function getLangsJson() { return new Promise((resolve, reject) => { - // LANGUAGES_FILE is a webpack compile-time define, see webpack config - const url = (typeof LANGUAGES_FILE === "string") ? require(LANGUAGES_FILE) : (i18nFolder + 'languages.json'); + // Webapp is a webpack resolve alias pointing to the output directory, see webpack config + const url = require('Webapp/i18n/languages.json'); request( { method: "GET", url }, (err, response, body) => { From 53aceaa41292defb9e61760b8e59f1aa865b0448 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 1 Mar 2019 11:44:44 +0000 Subject: [PATCH 2/4] Add fallback for languages file So we're not completely dependent on the alias being set --- src/languageHandler.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/languageHandler.js b/src/languageHandler.js index bc2bd429b5..9f08acdd32 100644 --- a/src/languageHandler.js +++ b/src/languageHandler.js @@ -338,8 +338,13 @@ export function getCurrentLanguage() { function getLangsJson() { return new Promise((resolve, reject) => { - // Webapp is a webpack resolve alias pointing to the output directory, see webpack config - const url = require('Webapp/i18n/languages.json'); + let url; + try { + // Webapp is a webpack resolve alias pointing to the output directory, see webpack config + url; = require('Webapp/i18n/languages.json'); + } catch (e) { + url = i18nFolder + 'languages.json'; + } request( { method: "GET", url }, (err, response, body) => { From f2328904cdafb99d1d5039f0dcb3b87823137a7e Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 1 Mar 2019 11:48:48 +0000 Subject: [PATCH 3/4] stray semicolon --- src/languageHandler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languageHandler.js b/src/languageHandler.js index 9f08acdd32..cee3822a50 100644 --- a/src/languageHandler.js +++ b/src/languageHandler.js @@ -341,7 +341,7 @@ function getLangsJson() { let url; try { // Webapp is a webpack resolve alias pointing to the output directory, see webpack config - url; = require('Webapp/i18n/languages.json'); + url = require('Webapp/i18n/languages.json'); } catch (e) { url = i18nFolder + 'languages.json'; } From 4f84311bde1c6a4a250c37a995d452107475c64b Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 1 Mar 2019 12:03:04 +0000 Subject: [PATCH 4/4] Use $webapp rather than Webapp --- src/languageHandler.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languageHandler.js b/src/languageHandler.js index cee3822a50..854ac079bc 100644 --- a/src/languageHandler.js +++ b/src/languageHandler.js @@ -340,8 +340,8 @@ function getLangsJson() { return new Promise((resolve, reject) => { let url; try { - // Webapp is a webpack resolve alias pointing to the output directory, see webpack config - url = require('Webapp/i18n/languages.json'); + // $webapp is a webpack resolve alias pointing to the output directory, see webpack config + url = require('$webapp/i18n/languages.json'); } catch (e) { url = i18nFolder + 'languages.json'; }