aboutsummaryrefslogtreecommitdiff
path: root/src/wxBackend.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-04-20 03:09:25 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-04-24 16:14:29 +0200
commit82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8 (patch)
tree965f6eb89b84d65a62b49008fd972c004832ccd1 /src/wxBackend.ts
parente6e0cbc387c2a77b48e4065c229daa65bf1aa0fa (diff)
downloadwallet-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.ts19
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 = [];