From 3b0de03b59b0e3eee09c9161dc05e39544108a53 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Sat, 10 Sep 2022 11:38:11 -0400 Subject: fix(npm): remove export binding to match node (#15837) --- cli/tests/testdata/npm/cjs_this_in_exports/main.js | 11 +++++++++++ cli/tests/testdata/npm/cjs_this_in_exports/main.out | 5 +++++ .../npm/registry/@denotest/cjs-this-in-exports/1.0.0/index.js | 8 ++++++++ .../registry/@denotest/cjs-this-in-exports/1.0.0/package.json | 5 +++++ cli/tests/testdata/npm/tarball_with_global_header/main.out | 2 +- cli/tests/testdata/npm/translate_cjs_to_esm/main.out | 2 +- 6 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 cli/tests/testdata/npm/cjs_this_in_exports/main.js create mode 100644 cli/tests/testdata/npm/cjs_this_in_exports/main.out create mode 100644 cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/index.js create mode 100644 cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/package.json (limited to 'cli/tests/testdata') diff --git a/cli/tests/testdata/npm/cjs_this_in_exports/main.js b/cli/tests/testdata/npm/cjs_this_in_exports/main.js new file mode 100644 index 000000000..03aaabe05 --- /dev/null +++ b/cli/tests/testdata/npm/cjs_this_in_exports/main.js @@ -0,0 +1,11 @@ +import defaultImport, { getValue } from "npm:@denotest/cjs-this-in-exports"; +import * as namespaceImport from "npm:@denotest/cjs-this-in-exports"; + +console.log(defaultImport.getValue()); +// In Node this actually fails, but it seems to work in Deno +// so I guess there's no harm in that. +console.log(namespaceImport.getValue()); + +// This will throw because it's lost its context. +// (same thing occurs with Node's cjs -> esm translation) +getValue(); diff --git a/cli/tests/testdata/npm/cjs_this_in_exports/main.out b/cli/tests/testdata/npm/cjs_this_in_exports/main.out new file mode 100644 index 000000000..653a62335 --- /dev/null +++ b/cli/tests/testdata/npm/cjs_this_in_exports/main.out @@ -0,0 +1,5 @@ +1 +1 +error: Uncaught TypeError: this.otherMethod is not a function + at getValue (file://[WILDCARD]/@denotest/cjs-this-in-exports/1.0.0/index.js:3:17) + at file://[WILDCARD]/testdata/npm/cjs_this_in_exports/main.js:11:1 diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/index.js b/cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/index.js new file mode 100644 index 000000000..21a9d7d7e --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/index.js @@ -0,0 +1,8 @@ +module.exports = { + getValue() { + return this.otherMethod(); + }, + otherMethod() { + return 1; + }, +}; diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/package.json new file mode 100644 index 000000000..729b8c34e --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-this-in-exports/1.0.0/package.json @@ -0,0 +1,5 @@ +{ + "name": "@denotest/cjs-this-in-exports", + "version": "1.0.0", + "main": "./index.js" +} diff --git a/cli/tests/testdata/npm/tarball_with_global_header/main.out b/cli/tests/testdata/npm/tarball_with_global_header/main.out index c8016c362..2f309499e 100644 --- a/cli/tests/testdata/npm/tarball_with_global_header/main.out +++ b/cli/tests/testdata/npm/tarball_with_global_header/main.out @@ -1 +1 @@ -[Function: bound Client] +[Function: Client] diff --git a/cli/tests/testdata/npm/translate_cjs_to_esm/main.out b/cli/tests/testdata/npm/translate_cjs_to_esm/main.out index a1f331331..c472472f3 100644 --- a/cli/tests/testdata/npm/translate_cjs_to_esm/main.out +++ b/cli/tests/testdata/npm/translate_cjs_to_esm/main.out @@ -1,2 +1,2 @@ [Function: access] -[Function: bound createApp] +[Function: createApp] -- cgit v1.2.3