From 20d23404d65be639f748f718b01ebada30d1623a Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Mon, 16 Mar 2026 14:51:35 +0100 Subject: [PATCH] feat: extract image name to derived emulator config Signed-off-by: David Dal Busco --- src/configs/emulator.config.ts | 7 +++++-- src/services/emulator/_runner.services.ts | 4 +--- src/types/emulator.ts | 4 ++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/configs/emulator.config.ts b/src/configs/emulator.config.ts index 13f3c6c..3a86830 100644 --- a/src/configs/emulator.config.ts +++ b/src/configs/emulator.config.ts @@ -4,7 +4,7 @@ import * as z from 'zod'; import {DEPLOY_LOCAL_REPLICA_PATH} from '../constants/dev.constants'; import {EMULATOR_SKYLAB} from '../constants/emulator.constants'; import {ENV} from '../env'; -import type {CliEmulatorConfig} from '../types/emulator'; +import {type CliEmulatorConfig} from '../types/emulator'; import {readPackageJson} from '../utils/pkg.utils'; import {junoConfigExist, readJunoConfig} from './juno.config'; @@ -45,6 +45,8 @@ export const readEmulatorConfig = async (): Promise< `${hostname}:${destination}` ); + const image = config.runner?.image ?? `junobuild/${emulatorType}:latest`; + return { success: true, config: { @@ -54,7 +56,8 @@ export const readEmulatorConfig = async (): Promise< emulatorType, runner, targetDeploy, - extraHosts + extraHosts, + image } } }; diff --git a/src/services/emulator/_runner.services.ts b/src/services/emulator/_runner.services.ts index 1ae67a5..754b890 100644 --- a/src/services/emulator/_runner.services.ts +++ b/src/services/emulator/_runner.services.ts @@ -151,7 +151,7 @@ const initConfigFile = async () => { const startEmulator = async ({config: extendedConfig}: {config: CliEmulatorConfig}) => { const { config, - derivedConfig: {emulatorType, containerName, runner, targetDeploy, extraHosts} + derivedConfig: {emulatorType, containerName, runner, targetDeploy, extraHosts, image} } = extendedConfig; const {running} = await assertContainerRunning({containerName, runner}); @@ -217,8 +217,6 @@ const startEmulator = async ({config: extendedConfig}: {config: CliEmulatorConfi // Podman does not auto create the path folders. await createDeployTargetDir({targetDeploy}); - const image = config.runner?.image ?? `junobuild/${emulatorType}:latest`; - const platform = config.runner?.platform; await execute({ diff --git a/src/types/emulator.ts b/src/types/emulator.ts index 00741d5..e36bb80 100644 --- a/src/types/emulator.ts +++ b/src/types/emulator.ts @@ -6,12 +6,16 @@ export type EmulatorRunnerType = EmulatorRunner['type']; export type EmulatorConfigWithoutConsole = Exclude; +// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents +export type EmulatorImage = `junobuild/${EmulatorType}:latest` | string; + export interface CliEmulatorDerivedConfig { containerName: string; runner: EmulatorRunnerType; emulatorType: EmulatorType; targetDeploy: string; extraHosts: string[]; + image: EmulatorImage; } export interface CliEmulatorConfig {