aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpackages/taler-harness/build.mjs61
-rw-r--r--packages/taler-harness/src/import-meta-url.js2
2 files changed, 33 insertions, 30 deletions
diff --git a/packages/taler-harness/build.mjs b/packages/taler-harness/build.mjs
index b02d159e1..3fb411342 100755
--- a/packages/taler-harness/build.mjs
+++ b/packages/taler-harness/build.mjs
@@ -15,31 +15,35 @@
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-import esbuild from 'esbuild'
-import path from "path"
-import fs from "fs"
+import esbuild from "esbuild";
+import path from "path";
+import fs from "fs";
-const BASE = process.cwd()
+const BASE = process.cwd();
-let GIT_ROOT = BASE
-while (!fs.existsSync(path.join(GIT_ROOT, '.git')) && GIT_ROOT !== '/') {
- GIT_ROOT = path.join(GIT_ROOT, '../')
+let GIT_ROOT = BASE;
+while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
+ GIT_ROOT = path.join(GIT_ROOT, "../");
}
-if (GIT_ROOT === '/') {
- console.log("not found")
+if (GIT_ROOT === "/") {
+ console.log("not found");
process.exit(1);
}
-const GIT_HASH = GIT_ROOT === '/' ? undefined : git_hash()
+const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
-
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, 'package.json')));
+let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
function git_hash() {
- const rev = fs.readFileSync(path.join(GIT_ROOT, '.git', 'HEAD')).toString().trim().split(/.*[: ]/).slice(-1)[0];
- if (rev.indexOf('/') === -1) {
+ const rev = fs
+ .readFileSync(path.join(GIT_ROOT, ".git", "HEAD"))
+ .toString()
+ .trim()
+ .split(/.*[: ]/)
+ .slice(-1)[0];
+ if (rev.indexOf("/") === -1) {
return rev;
} else {
- return fs.readFileSync(path.join(GIT_ROOT, '.git', rev)).toString().trim();
+ return fs.readFileSync(path.join(GIT_ROOT, ".git", rev)).toString().trim();
}
}
@@ -49,22 +53,19 @@ export const buildConfig = {
outfile: "dist/taler-harness-bundled.cjs",
bundle: true,
minify: false,
- target: [
- 'es2020'
- ],
- format: 'cjs',
- platform: 'node',
+ target: ["es2020"],
+ format: "cjs",
+ platform: "node",
sourcemap: true,
+ inject: ["src/import-meta-url.js"],
define: {
- '__VERSION__': `"${_package.version}"`,
- '__GIT_HASH__': `"${GIT_HASH}"`,
+ __VERSION__: `"${_package.version}"`,
+ __GIT_HASH__: `"${GIT_HASH}"`,
+ ["import.meta.url"]: "import_meta_url",
},
-}
-
-esbuild
- .build(buildConfig)
- .catch((e) => {
- console.log(e)
- process.exit(1)
- });
+};
+esbuild.build(buildConfig).catch((e) => {
+ console.log(e);
+ process.exit(1);
+});
diff --git a/packages/taler-harness/src/import-meta-url.js b/packages/taler-harness/src/import-meta-url.js
new file mode 100644
index 000000000..b7def9b07
--- /dev/null
+++ b/packages/taler-harness/src/import-meta-url.js
@@ -0,0 +1,2 @@
+// Helper to make 'import.meta.url' available in esbuild-bundled code as well.
+export const import_meta_url = require('url').pathToFileURL(__filename);