From 9543edb0eb66957a8a951c9242998ad412d41b1d Mon Sep 17 00:00:00 2001 From: agorskiy12 Date: Fri, 22 Mar 2024 17:07:50 -0400 Subject: [PATCH] fix(latest): allow ":latest" image tag --- .../one-app-runner/__tests__/src/startApp.spec.js | 12 ++++++++++++ packages/one-app-runner/src/startApp.js | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/one-app-runner/__tests__/src/startApp.spec.js b/packages/one-app-runner/__tests__/src/startApp.spec.js index 7c20d586..4156f600 100644 --- a/packages/one-app-runner/__tests__/src/startApp.spec.js +++ b/packages/one-app-runner/__tests__/src/startApp.spec.js @@ -400,6 +400,18 @@ Array [ ); }); + it('adds node flags when one-app version is :latest', async () => { + expect.assertions(1); + const mockSpawn = makeMockSpawn(); + childProcess.spawn.mockImplementation(mockSpawn); + await startApp({ + moduleMapUrl: 'https://example.com/module-map.json', rootModuleName: 'frank-lloyd-root', appDockerImage: 'one-app:latest', modulesToServe: ['/path/to/module-a'], + }); + expect(mockSpawn.calls[1].args[mockSpawn.calls[1].args.indexOf('-c') + 1]).toMatch( + '--dns-result-order=ipv4first --no-experimental-fetch' + ); + }); + it('adds node flags when one-app version is greater than 5.13.0', async () => { expect.assertions(1); const mockSpawn = makeMockSpawn(); diff --git a/packages/one-app-runner/src/startApp.js b/packages/one-app-runner/src/startApp.js index bd1085c8..d3374369 100644 --- a/packages/one-app-runner/src/startApp.js +++ b/packages/one-app-runner/src/startApp.js @@ -136,7 +136,7 @@ const generateDebug = (port, useDebug) => (useDebug ? `--inspect=0.0.0.0:${port} // So we have to remove those flags if the one-app version is less than 5.13.0 // 5.13.0 is when node 16 was introduced. const generateNodeFlags = (appVersion) => { - if (semver.intersects(appVersion, '^5.13.0', { includePrerelease: true })) { + if (appVersion === 'latest' ? true : semver.intersects(appVersion, '^5.13.0', { includePrerelease: true })) { return '--dns-result-order=ipv4first --no-experimental-fetch'; } return '';