gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: asset loading for integration


From: gnunet
Subject: [taler-wallet-core] branch master updated: asset loading for integration tests
Date: Mon, 10 May 2021 15:32:22 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 8dc5384b asset loading for integration tests
8dc5384b is described below

commit 8dc5384bdcb42069e6d2f35fd3f1878afd728766
Author: Florian Dold <florian@dold.me>
AuthorDate: Mon May 10 15:32:11 2021 +0200

    asset loading for integration tests
---
 packages/taler-wallet-cli/assets/.gitkeep |  0
 packages/taler-wallet-cli/src/assets.ts   | 50 +++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git a/packages/taler-wallet-cli/assets/.gitkeep 
b/packages/taler-wallet-cli/assets/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/taler-wallet-cli/src/assets.ts 
b/packages/taler-wallet-cli/src/assets.ts
new file mode 100644
index 00000000..465ee7e8
--- /dev/null
+++ b/packages/taler-wallet-cli/src/assets.ts
@@ -0,0 +1,50 @@
+/*
+ This file is part of GNU Taler
+ (C) 2021 Taler Systems S.A.
+
+ GNU Taler is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 3, or (at your option) any later version.
+
+ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+ */
+
+/**
+ * Imports.
+ */
+import path from "path";
+import fs from "fs";
+
+/**
+ * Resolve an asset name into an absolute filename.
+ * 
+ * The asset file should be placed in the "assets" directory
+ * at the top level of the package (i.e. next to package.json).
+ */
+export function resolveAsset(name: string): string | null {
+  const n = __filename;
+  const d = __dirname;
+  let assetPath: string;
+  // Currently both asset paths are the same.
+  // This might change if the file that contains "resolveAsset"
+  // ever moves.  Thus, we're keeping the case distinction.
+  if (n.endsWith("assets.js")) {
+    // We're not bundled.  Path is relative to the current file.
+    assetPath = path.resolve(path.join(d, "..", "assets", name));
+  } else if (n.endsWith("taler-wallet-cli.js")) {
+    // We're bundled.  Currently, this path is the same
+    // FIXME:  Take into account some ASSETS environment variable?
+    assetPath = path.resolve(path.join(d, "..", "assets", name));
+  } else {
+    throw Error("Can't resolve asset (unknown )");
+  }
+  if (!fs.existsSync(assetPath)) {
+    throw Error(`Asset '${name} not found'`);
+  }
+  return assetPath;
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]