summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/compat/esm/compat.ts
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/compat/esm/compat.ts')
-rw-r--r--remote/test/puppeteer/compat/esm/compat.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/remote/test/puppeteer/compat/esm/compat.ts b/remote/test/puppeteer/compat/esm/compat.ts
new file mode 100644
index 0000000000..8d74765870
--- /dev/null
+++ b/remote/test/puppeteer/compat/esm/compat.ts
@@ -0,0 +1,22 @@
+import {createRequire} from 'module';
+import {dirname} from 'path';
+import {fileURLToPath} from 'url';
+
+const require = createRequire(import.meta.url);
+
+/**
+ * @internal
+ */
+let puppeteerDirname: string;
+
+try {
+ // In some environments, like esbuild, this will throw an error.
+ // We suppress the error since the bundled binary is not expected
+ // to be used or installed in this case and, therefore, the
+ // root directory does not have to be known.
+ puppeteerDirname = dirname(require.resolve('./compat'));
+} catch (error) {
+ puppeteerDirname = dirname(fileURLToPath(import.meta.url));
+}
+
+export {puppeteerDirname};