gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated: taler-util: fix config utils


From: gnunet
Subject: [taler-wallet-core] branch master updated: taler-util: fix config utils for ESM
Date: Mon, 31 Oct 2022 20:28:31 +0100

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 2f6225f6e taler-util: fix config utils for ESM
2f6225f6e is described below

commit 2f6225f6e7cb70f1fd083a5b26143f5c8c2776c5
Author: Florian Dold <florian@dold.me>
AuthorDate: Mon Oct 31 20:28:28 2022 +0100

    taler-util: fix config utils for ESM
---
 packages/taler-util/src/talerconfig.ts             | 99 +++++++---------------
 .../src/integrationtests/testrunner.ts             |  5 +-
 2 files changed, 33 insertions(+), 71 deletions(-)

diff --git a/packages/taler-util/src/talerconfig.ts 
b/packages/taler-util/src/talerconfig.ts
index 7f485e1ed..59c789cae 100644
--- a/packages/taler-util/src/talerconfig.ts
+++ b/packages/taler-util/src/talerconfig.ts
@@ -26,50 +26,9 @@
 import { AmountJson } from "./amounts.js";
 import { Amounts } from "./amounts.js";
 
-const nodejs_fs = (function () {
-  let fs: typeof import("fs");
-  return function () {
-    if (!fs) {
-      /**
-       * need to use an expression when doing a require if we want
-       * webpack not to find out about the requirement
-       */
-      const _r = "require";
-      fs = module[_r]("fs");
-    }
-    return fs;
-  };
-})();
-
-const nodejs_path = (function () {
-  let path: typeof import("path");
-  return function () {
-    if (!path) {
-      /**
-       * need to use an expression when doing a require if we want
-       * webpack not to find out about the requirement
-       */
-      const _r = "require";
-      path = module[_r]("path");
-    }
-    return path;
-  };
-})();
-
-const nodejs_os = (function () {
-  let os: typeof import("os");
-  return function () {
-    if (!os) {
-      /**
-       * need to use an expression when doing a require if we want
-       * webpack not to find out about the requirement
-       */
-      const _r = "require";
-      os = module[_r]("os");
-    }
-    return os;
-  };
-})();
+import nodejs_path from "path";
+import nodejs_os from "os";
+import nodejs_fs from "fs";
 
 export class ConfigError extends Error {
   constructor(message: string) {
@@ -138,10 +97,10 @@ export class ConfigValue<T> {
  */
 export function expandPath(path: string): string {
   if (path[0] === "~") {
-    path = nodejs_path().join(nodejs_os().homedir(), path.slice(1));
+    path = nodejs_path.join(nodejs_os.homedir(), path.slice(1));
   }
   if (path[0] !== "/") {
-    path = nodejs_path().join(process.cwd(), path);
+    path = nodejs_path.join(process.cwd(), path);
   }
   return path;
 }
@@ -288,10 +247,10 @@ function normalizeInlineFilename(parentFile: string, f: 
string): string {
   if (f[0] === "/") {
     return f;
   }
-  const resolvedParentDir = nodejs_path().dirname(
-    nodejs_fs().realpathSync(parentFile),
+  const resolvedParentDir = nodejs_path.dirname(
+    nodejs_fs.realpathSync(parentFile),
   );
-  return nodejs_path().join(resolvedParentDir, f);
+  return nodejs_path.join(resolvedParentDir, f);
 }
 
 /**
@@ -306,8 +265,8 @@ function which(name: string): string | undefined {
     return undefined;
   }
   for (const path of paths) {
-    const filename = nodejs_path().join(path, name);
-    if (nodejs_fs().existsSync(filename)) {
+    const filename = nodejs_path.join(path, name);
+    if (nodejs_fs.existsSync(filename)) {
       return filename;
     }
   }
@@ -342,7 +301,7 @@ export class Configuration {
 
     checkCycle();
 
-    const s = nodejs_fs().readFileSync(filename, "utf-8");
+    const s = nodejs_fs.readFileSync(filename, "utf-8");
     this.loadedFiles.push({
       filename: filename,
       level: this.nestLevel,
@@ -360,26 +319,26 @@ export class Configuration {
   }
 
   private loadGlob(parentFilename: string, fileglob: string): void {
-    const resolvedParent = nodejs_fs().realpathSync(parentFilename);
-    const parentDir = nodejs_path().dirname(resolvedParent);
+    const resolvedParent = nodejs_fs.realpathSync(parentFilename);
+    const parentDir = nodejs_path.dirname(resolvedParent);
 
     let fullFileglob: string;
 
     if (fileglob.startsWith("/")) {
       fullFileglob = fileglob;
     } else {
-      fullFileglob = nodejs_path().join(parentDir, fileglob);
+      fullFileglob = nodejs_path.join(parentDir, fileglob);
     }
 
     fullFileglob = expandPath(fullFileglob);
 
-    const head = nodejs_path().dirname(fullFileglob);
-    const tail = nodejs_path().basename(fullFileglob);
+    const head = nodejs_path.dirname(fullFileglob);
+    const tail = nodejs_path.basename(fullFileglob);
 
-    const files = nodejs_fs().readdirSync(head);
+    const files = nodejs_fs.readdirSync(head);
     for (const f of files) {
       if (globMatch(tail, f)) {
-        const fullPath = nodejs_path().join(head, f);
+        const fullPath = nodejs_path.join(head, f);
         this.loadFromFilename(fullPath);
       }
     }
@@ -390,7 +349,7 @@ export class Configuration {
     sec.secretFilename = filename;
     const otherCfg = new Configuration();
     try {
-      nodejs_fs().accessSync(filename, nodejs_fs().constants.R_OK);
+      nodejs_fs.accessSync(filename, nodejs_fs.constants.R_OK);
     } catch (err) {
       sec.inaccessible = true;
       return;
@@ -620,9 +579,9 @@ export class Configuration {
   }
 
   loadFrom(dirname: string): void {
-    const files = nodejs_fs().readdirSync(dirname);
+    const files = nodejs_fs.readdirSync(dirname);
     for (const f of files) {
-      const fn = nodejs_path().join(dirname, f);
+      const fn = nodejs_path.join(dirname, f);
       this.loadFromFilename(fn);
     }
   }
@@ -634,8 +593,8 @@ export class Configuration {
        * of the taler-config binary. */
       const path = which("taler-config");
       if (path) {
-        bc = nodejs_fs().realpathSync(
-          nodejs_path().dirname(path) + "/../share/taler/config.d",
+        bc = nodejs_fs.realpathSync(
+          nodejs_path.dirname(path) + "/../share/taler/config.d",
         );
       }
     }
@@ -650,19 +609,19 @@ export class Configuration {
     const home = process.env["HOME"];
     let fn: string | undefined;
     if (xdg) {
-      fn = nodejs_path().join(xdg, "taler.conf");
+      fn = nodejs_path.join(xdg, "taler.conf");
     } else if (home) {
-      fn = nodejs_path().join(home, ".config/taler.conf");
+      fn = nodejs_path.join(home, ".config/taler.conf");
     }
-    if (fn && nodejs_fs().existsSync(fn)) {
+    if (fn && nodejs_fs.existsSync(fn)) {
       return fn;
     }
     const etc1 = "/etc/taler.conf";
-    if (nodejs_fs().existsSync(etc1)) {
+    if (nodejs_fs.existsSync(etc1)) {
       return etc1;
     }
     const etc2 = "/etc/taler/taler.conf";
-    if (nodejs_fs().existsSync(etc2)) {
+    if (nodejs_fs.existsSync(etc2)) {
       return etc2;
     }
     return undefined;
@@ -718,6 +677,6 @@ export class Configuration {
   }
 
   write(filename: string): void {
-    nodejs_fs().writeFileSync(filename, this.stringify());
+    nodejs_fs.writeFileSync(filename, this.stringify());
   }
 }
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts 
b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
index e4a2193bb..c75cff7c0 100644
--- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
@@ -19,6 +19,7 @@ import * as child_process from "child_process";
 import * as fs from "fs";
 import * as os from "os";
 import * as path from "path";
+import url from "url";
 import {
   GlobalTestState,
   runTestWithState,
@@ -287,7 +288,9 @@ export async function runTests(spec: TestRunSpec) {
       testRootDir,
     };
 
-    currentChild = child_process.fork(__filename, ["__TWCLI_TESTWORKER"], {
+    const myFilename = url.fileURLToPath(import.meta.url);
+
+    currentChild = child_process.fork(myFilename, ["__TWCLI_TESTWORKER"], {
       env: {
         TWCLI_RUN_TEST_INSTRUCTION: JSON.stringify(testInstr),
         ...process.env,

-- 
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]