summaryrefslogtreecommitdiff
path: root/cli/compat/testdata/conditions
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2021-10-18 19:36:28 +0200
committerGitHub <noreply@github.com>2021-10-18 19:36:28 +0200
commit617eeabe8369d7bfca7951d1cd55ac58ede1f9fb (patch)
tree61cfd7b8a5a0230528ed9547c12fcd7183125c6a /cli/compat/testdata/conditions
parent5a48d41bddf599b14dd9019ff49821c436ce4542 (diff)
feat(unstable): Node CJS and ESM resolvers for compat mode (#12424)
This commit adds CJS and ESM Node resolvers to the "--compat" mode. The functionality is spread across "cli/compat" module and Node compatibility layer in "deno_std/node"; this stems from the fact that ES module resolution can only be implemented in Rust as it needs to directly integrated with "deno_core"; however "deno_std/node" already provided CJS module resolution. Currently this resolution is only active when running a files using "deno run --compat --unstable <filename>", and is not available in other subcommands, which will be changed in follow up commits.
Diffstat (limited to 'cli/compat/testdata/conditions')
-rw-r--r--cli/compat/testdata/conditions/main.js1
-rw-r--r--cli/compat/testdata/conditions/node_modules/imports_exports/import_export.js6
-rw-r--r--cli/compat/testdata/conditions/node_modules/imports_exports/import_polyfill.js3
-rw-r--r--cli/compat/testdata/conditions/node_modules/imports_exports/package.json17
-rw-r--r--cli/compat/testdata/conditions/node_modules/imports_exports/require_export.cjs6
-rw-r--r--cli/compat/testdata/conditions/node_modules/imports_exports/require_polyfill.js3
-rw-r--r--cli/compat/testdata/conditions/package.json7
7 files changed, 43 insertions, 0 deletions
diff --git a/cli/compat/testdata/conditions/main.js b/cli/compat/testdata/conditions/main.js
new file mode 100644
index 000000000..cafddb5d6
--- /dev/null
+++ b/cli/compat/testdata/conditions/main.js
@@ -0,0 +1 @@
+import "imports_exports";
diff --git a/cli/compat/testdata/conditions/node_modules/imports_exports/import_export.js b/cli/compat/testdata/conditions/node_modules/imports_exports/import_export.js
new file mode 100644
index 000000000..3ebd222ea
--- /dev/null
+++ b/cli/compat/testdata/conditions/node_modules/imports_exports/import_export.js
@@ -0,0 +1,6 @@
+import dep from "#dep";
+
+export default {
+ bar: "bar",
+ dep,
+};
diff --git a/cli/compat/testdata/conditions/node_modules/imports_exports/import_polyfill.js b/cli/compat/testdata/conditions/node_modules/imports_exports/import_polyfill.js
new file mode 100644
index 000000000..76716a3ef
--- /dev/null
+++ b/cli/compat/testdata/conditions/node_modules/imports_exports/import_polyfill.js
@@ -0,0 +1,3 @@
+export default {
+ polyfill: "import",
+};
diff --git a/cli/compat/testdata/conditions/node_modules/imports_exports/package.json b/cli/compat/testdata/conditions/node_modules/imports_exports/package.json
new file mode 100644
index 000000000..5d26359db
--- /dev/null
+++ b/cli/compat/testdata/conditions/node_modules/imports_exports/package.json
@@ -0,0 +1,17 @@
+{
+ "version": "1.0.0",
+ "name": "imports_exports",
+ "main": "./require_export.cjs",
+ "imports": {
+ "#dep": {
+ "import": "./import_polyfill.js",
+ "require": "./require_polyfill.js"
+ }
+ },
+ "exports": {
+ ".": {
+ "import": "./import_export.js",
+ "require": "./require_export.cjs"
+ }
+ }
+}
diff --git a/cli/compat/testdata/conditions/node_modules/imports_exports/require_export.cjs b/cli/compat/testdata/conditions/node_modules/imports_exports/require_export.cjs
new file mode 100644
index 000000000..11648c0d7
--- /dev/null
+++ b/cli/compat/testdata/conditions/node_modules/imports_exports/require_export.cjs
@@ -0,0 +1,6 @@
+const dep = require("#dep");
+
+module.exports = {
+ foo: "foo",
+ dep,
+}; \ No newline at end of file
diff --git a/cli/compat/testdata/conditions/node_modules/imports_exports/require_polyfill.js b/cli/compat/testdata/conditions/node_modules/imports_exports/require_polyfill.js
new file mode 100644
index 000000000..1023fd65c
--- /dev/null
+++ b/cli/compat/testdata/conditions/node_modules/imports_exports/require_polyfill.js
@@ -0,0 +1,3 @@
+module.exports = {
+ polyfill: "require",
+};
diff --git a/cli/compat/testdata/conditions/package.json b/cli/compat/testdata/conditions/package.json
new file mode 100644
index 000000000..4d6d004dd
--- /dev/null
+++ b/cli/compat/testdata/conditions/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "conditions",
+ "type": "module",
+ "dependencies": {
+ "imports_exports": "1.0.0"
+ }
+}