summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/compat/esm
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/compat/esm')
-rw-r--r--remote/test/puppeteer/compat/esm/compat.ts22
-rw-r--r--remote/test/puppeteer/compat/esm/tsconfig.json8
2 files changed, 30 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};
diff --git a/remote/test/puppeteer/compat/esm/tsconfig.json b/remote/test/puppeteer/compat/esm/tsconfig.json
new file mode 100644
index 0000000000..5afe459a05
--- /dev/null
+++ b/remote/test/puppeteer/compat/esm/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "composite": true,
+ "outDir": "../../lib/esm/puppeteer",
+ "module": "esnext"
+ }
+}