From 4ae1c4038234f8394510621b78c7b4e077777e78 Mon Sep 17 00:00:00 2001 From: riddhi2910 Date: Wed, 4 Feb 2026 10:45:33 -0800 Subject: [PATCH 1/2] Fix require() of ES Module error --- src/commands/console/open.js | 2 +- test/commands/console/open.test.js | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/commands/console/open.js b/src/commands/console/open.js index c0f1a8b..fae8bff 100644 --- a/src/commands/console/open.js +++ b/src/commands/console/open.js @@ -11,7 +11,6 @@ governing permissions and limitations under the License. const aioLogger = require('@adobe/aio-lib-core-logging')('@adobe/aio-cli-plugin-console:open', { provider: 'debug' }) const { getCliEnv } = require('@adobe/aio-lib-env') const { OPEN_URLS } = require('../../config') -const open = require('open') const ConsoleCommand = require('./index') class OpenCommand extends ConsoleCommand { async run () { @@ -32,6 +31,7 @@ class OpenCommand extends ConsoleCommand { } } aioLogger.debug(`opening url ${url}`) + const { default: open } = await import('open') open(url) } } diff --git a/test/commands/console/open.test.js b/test/commands/console/open.test.js index f229d9a..32d7f69 100644 --- a/test/commands/console/open.test.js +++ b/test/commands/console/open.test.js @@ -13,9 +13,9 @@ const TestCommand = require('../../../src/commands/console/open') const config = require('@adobe/aio-lib-core-config') const { STAGE_ENV } = require('@adobe/aio-lib-env') -jest.mock('open', () => jest.fn()) +const mockOpen = jest.fn() +jest.mock('open', () => ({ default: mockOpen }), { virtual: true }) const { Command } = require('@oclif/core') -const open = require('open') let command let ORIGINAL_AIO_CLI_ENV @@ -24,6 +24,7 @@ beforeAll(() => { }) beforeEach(() => { config.get.mockReset() + mockOpen.mockReset() command = new TestCommand([]) }) afterEach(() => { @@ -56,19 +57,19 @@ describe('console:open', () => { test('should open a browser', async () => { await expect(command.run()).resolves.not.toThrow() - expect(open).toHaveBeenCalledWith('https://developer.adobe.com/console/projects') + expect(mockOpen).toHaveBeenCalledWith('https://developer.adobe.com/console/projects') }) test('should open a browser (stage_env)', async () => { process.env.AIO_CLI_ENV = STAGE_ENV await expect(command.run()).resolves.not.toThrow() - expect(open).toHaveBeenCalledWith('https://developer-stage.adobe.com/console/projects') + expect(mockOpen).toHaveBeenCalledWith('https://developer-stage.adobe.com/console/projects') }) test('should open a browser with default view if no project/workspace selected', async () => { config.get.mockReturnValue(null) await expect(command.run()).resolves.not.toThrow() - expect(open).toHaveBeenLastCalledWith('https://developer.adobe.com/console/projects') + expect(mockOpen).toHaveBeenLastCalledWith('https://developer.adobe.com/console/projects') }) test('should open a browser with project overview', async () => { @@ -82,7 +83,7 @@ describe('console:open', () => { } }) await expect(command.run()).resolves.not.toThrow() - expect(open).toHaveBeenLastCalledWith('https://developer.adobe.com/console/projects/53444/4566206088344853970/overview') + expect(mockOpen).toHaveBeenLastCalledWith('https://developer.adobe.com/console/projects/53444/4566206088344853970/overview') }) test('should open a browser with project workspace', async () => { @@ -97,6 +98,6 @@ describe('console:open', () => { workspace: { id: '4566206088344859372', name: 'Stage' } }) await expect(command.run()).resolves.not.toThrow() - expect(open).toHaveBeenLastCalledWith('https://developer.adobe.com/console/projects/53444/4566206088344853970/workspaces/4566206088344859372/details') + expect(mockOpen).toHaveBeenLastCalledWith('https://developer.adobe.com/console/projects/53444/4566206088344853970/workspaces/4566206088344859372/details') }) }) From bbaef7dbe0a32123b2bcd36801a7eba86e8136d0 Mon Sep 17 00:00:00 2001 From: riddhi2910 Date: Wed, 4 Feb 2026 10:58:44 -0800 Subject: [PATCH 2/2] mock open dynamic open --- src/commands/console/open.js | 1 + test/commands/console/open.test.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/commands/console/open.js b/src/commands/console/open.js index fae8bff..77f5004 100644 --- a/src/commands/console/open.js +++ b/src/commands/console/open.js @@ -31,6 +31,7 @@ class OpenCommand extends ConsoleCommand { } } aioLogger.debug(`opening url ${url}`) + // eslint-disable-next-line node/no-unsupported-features/es-syntax const { default: open } = await import('open') open(url) } diff --git a/test/commands/console/open.test.js b/test/commands/console/open.test.js index 32d7f69..4014a45 100644 --- a/test/commands/console/open.test.js +++ b/test/commands/console/open.test.js @@ -14,7 +14,9 @@ const config = require('@adobe/aio-lib-core-config') const { STAGE_ENV } = require('@adobe/aio-lib-env') const mockOpen = jest.fn() -jest.mock('open', () => ({ default: mockOpen }), { virtual: true }) +jest.unstable_mockModule('open', () => ({ + default: mockOpen +})) const { Command } = require('@oclif/core') let command