From 9d0341251c5aa93416f1796ebf6e9ce252a36f38 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 29 Jan 2025 12:50:45 -0500 Subject: [PATCH 1/6] feat: add native require(ESM) example --- packages/require-esm/README.md | 7 +++++++ packages/require-esm/package.json | 17 +++++++++++++++++ packages/require-esm/test.spec.js | 11 +++++++++++ 3 files changed, 35 insertions(+) create mode 100644 packages/require-esm/README.md create mode 100644 packages/require-esm/package.json create mode 100644 packages/require-esm/test.spec.js diff --git a/packages/require-esm/README.md b/packages/require-esm/README.md new file mode 100644 index 0000000..e98213f --- /dev/null +++ b/packages/require-esm/README.md @@ -0,0 +1,7 @@ +# `require(ESM)` Example + +A straightforward example of a CommonJS project that requires an ESM module. +Requires Node.js `^22.12.0 || >=23.0.0`. + +1. `npm install` +2. `npm run test` diff --git a/packages/require-esm/package.json b/packages/require-esm/package.json new file mode 100644 index 0000000..4f21cc9 --- /dev/null +++ b/packages/require-esm/package.json @@ -0,0 +1,17 @@ +{ + "name": "esm", + "version": "1.0.0", + "description": "Example of using Mocha with native ESM in Node.js", + "scripts": { + "test": "mocha test.spec.js" + }, + "engines": { + "node": "^22.12.0 || >=23.0.0" + }, + "license": "ISC", + "devDependencies": { + "chai": "^4.4.1", + "mocha": "latest" + }, + "type": "commonjs" +} diff --git a/packages/require-esm/test.spec.js b/packages/require-esm/test.spec.js new file mode 100644 index 0000000..2838b84 --- /dev/null +++ b/packages/require-esm/test.spec.js @@ -0,0 +1,11 @@ +const { expect } = require("chai"); + +describe("example", () => { + it("2 + 2 === 4", () => { + expect(2 + 2).to.be.eq(4); + }); + + it("2 + 2 === 5", () => { + expect(2 + 2).to.be.eq(5); + }); +}); From 6d75cf4635b0f779bd86f679afafa49bfb2a0d1b Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 29 Jan 2025 12:55:35 -0500 Subject: [PATCH 2/6] correction: Chai 5 --- packages/require-esm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/require-esm/package.json b/packages/require-esm/package.json index 4f21cc9..fa30eeb 100644 --- a/packages/require-esm/package.json +++ b/packages/require-esm/package.json @@ -10,7 +10,7 @@ }, "license": "ISC", "devDependencies": { - "chai": "^4.4.1", + "chai": "^5.1.2", "mocha": "latest" }, "type": "commonjs" From c503664a8d213d5b410ed43e35795aa782fff3c0 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 29 Jan 2025 12:55:57 -0500 Subject: [PATCH 3/6] docs: output --- packages/require-esm/README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/require-esm/README.md b/packages/require-esm/README.md index e98213f..f535ca1 100644 --- a/packages/require-esm/README.md +++ b/packages/require-esm/README.md @@ -5,3 +5,25 @@ Requires Node.js `^22.12.0 || >=23.0.0`. 1. `npm install` 2. `npm run test` + +```plaintext + example + ✔ 2 + 2 === 4 + 1) 2 + 2 === 5 + + + 1 passing (3ms) + 1 failing + + 1) example + 2 + 2 === 5: + + AssertionError: expected 4 to equal 5 + + expected - actual + + -4 + +5 + + at Context. (test.spec.js:9:25) + at process.processImmediate (node:internal/timers:511:21) +``` \ No newline at end of file From 93c12cd3b165401adf7070f156d621dbb6807a28 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 29 Jan 2025 12:57:54 -0500 Subject: [PATCH 4/6] ah, update name --- packages/require-esm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/require-esm/package.json b/packages/require-esm/package.json index fa30eeb..d6aec83 100644 --- a/packages/require-esm/package.json +++ b/packages/require-esm/package.json @@ -1,5 +1,5 @@ { - "name": "esm", + "name": "require-esm", "version": "1.0.0", "description": "Example of using Mocha with native ESM in Node.js", "scripts": { From 377e54fc2f323c242b6bb31089f00b0fc5741210 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 18 Feb 2025 07:19:37 -0500 Subject: [PATCH 5/6] Remove intentionally failing test --- packages/require-esm/test.spec.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/require-esm/test.spec.js b/packages/require-esm/test.spec.js index 2838b84..38d55af 100644 --- a/packages/require-esm/test.spec.js +++ b/packages/require-esm/test.spec.js @@ -4,8 +4,4 @@ describe("example", () => { it("2 + 2 === 4", () => { expect(2 + 2).to.be.eq(4); }); - - it("2 + 2 === 5", () => { - expect(2 + 2).to.be.eq(5); - }); }); From 54f8126b01e9a53e8f86ed9059a20a5e486e5ff3 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 18 Feb 2025 07:20:06 -0500 Subject: [PATCH 6/6] Update docs too --- packages/require-esm/README.md | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/packages/require-esm/README.md b/packages/require-esm/README.md index f535ca1..9169086 100644 --- a/packages/require-esm/README.md +++ b/packages/require-esm/README.md @@ -9,21 +9,7 @@ Requires Node.js `^22.12.0 || >=23.0.0`. ```plaintext example ✔ 2 + 2 === 4 - 1) 2 + 2 === 5 - 1 passing (3ms) - 1 failing - - 1) example - 2 + 2 === 5: - - AssertionError: expected 4 to equal 5 - + expected - actual - - -4 - +5 - - at Context. (test.spec.js:9:25) - at process.processImmediate (node:internal/timers:511:21) -``` \ No newline at end of file + 1 passing (2ms) +```