diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-04-20 03:09:25 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-04-24 16:14:29 +0200 |
commit | 82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8 (patch) | |
tree | 965f6eb89b84d65a62b49008fd972c004832ccd1 /src/wxBackend.ts | |
parent | e6e0cbc387c2a77b48e4065c229daa65bf1aa0fa (diff) | |
download | wallet-core-82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8.tar.xz |
Reorganize module loading.
We now use webpack instead of SystemJS, effectively bundling modules
into one file (plus commons chunks) for every entry point. This results
in a much smaller extension size (almost half). Furthermore we use
yarn/npm even for extension run-time dependencies. This relieves us
from manually vendoring and building dependencies. It's also easier to
understand for new developers familiar with node.
Diffstat (limited to 'src/wxBackend.ts')
-rw-r--r-- | src/wxBackend.ts | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/wxBackend.ts b/src/wxBackend.ts index f31472cca..173870b26 100644 --- a/src/wxBackend.ts +++ b/src/wxBackend.ts @@ -31,6 +31,7 @@ import { Contract } from "./types"; import MessageSender = chrome.runtime.MessageSender; import { ChromeBadge } from "./chromeBadge"; import * as logging from "./logging"; +import URI = require("urijs"); "use strict"; @@ -401,7 +402,7 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea try { amountParsed = JSON.parse(amount); } catch (e) { - let uri = URI(chrome.extension.getURL("/src/pages/error.html")); + let uri = new URI(chrome.extension.getURL("/src/pages/error.html")); let p = { message: `Can't parse amount ("${amount}"): ${e.message}`, }; @@ -415,13 +416,13 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea } let params = { amount: amount, - callback_url: URI(callbackUrl) + callback_url: new URI(callbackUrl) .absoluteTo(url), bank_url: url, wt_types: wtTypes, suggested_exchange_url: headers["x-taler-suggested-exchange"], }; - let uri = URI(chrome.extension.getURL("/src/pages/confirm-create-reserve.html")); + let uri = new URI(chrome.extension.getURL("/src/pages/confirm-create-reserve.html")); let redirectUrl = uri.query(params).href(); return {redirectUrl}; } @@ -453,12 +454,10 @@ export async function wxMain() { if (!tab.url || !tab.id) { return; } - let uri = URI(tab.url); + let uri = new URI(tab.url); if (uri.protocol() == "http" || uri.protocol() == "https") { console.log("injecting into existing tab", tab.id); - chrome.tabs.executeScript(tab.id, { file: "/src/vendor/URI.js" }); - chrome.tabs.executeScript(tab.id, { file: "/src/taler-wallet-lib.js" }); - chrome.tabs.executeScript(tab.id, { file: "/src/content_scripts/notify.js" }); + chrome.tabs.executeScript(tab.id, { file: "/dist/contentScript-bundle.js" }); let code = ` if (("taler" in window) || document.documentElement.getAttribute("data-taler-nojs")) { document.dispatchEvent(new Event("taler-probe-result")); @@ -497,7 +496,7 @@ export async function wxMain() { if (!tab.url || !tab.id) { return; } - let uri = URI(tab.url); + let uri = new URI(tab.url); if (!(uri.protocol() == "http" || uri.protocol() == "https")) { return; } @@ -565,7 +564,7 @@ export async function wxMain() { * to the taler wallet db. */ function openTalerDb(): Promise<IDBDatabase> { - return new Promise((resolve, reject) => { + return new Promise<IDBDatabase>((resolve, reject) => { const req = indexedDB.open(DB_NAME, DB_VERSION); req.onerror = (e) => { reject(e); @@ -640,7 +639,7 @@ function exportDb(db: IDBDatabase): Promise<any> { function importDb(db: IDBDatabase, dump: any): Promise<void> { console.log("importing db", dump); - return new Promise((resolve, reject) => { + return new Promise<void>((resolve, reject) => { let tx = db.transaction(Array.from(db.objectStoreNames), "readwrite"); for (let storeName in dump.stores) { let objects = []; |