10export const genViteBuilderDockerfile = async ({srcDir, monorepoRoot, buildCmd, installCmd, viteBuildEnvH}: {srcDir?: string, monorepoRoot?: string | null, buildCmd?: string, installCmd?: string, viteBuildEnvH?: Record<string, string>}) => { 13 const ptMonorepoRoot = absPathToPtPath(monorepoRoot as Parameters<typeof absPathToPtPath>[0]) 16 const {pushLine} = builderDf 18 pushLine(`WORKDIR /app`) 19 pushLine(corepackInstallLine) 21 const envLines = envToDockerLines({VITE_PROJECT_ID: walletConnectProjectId, ...viteBuildEnvH}) 24 builderDf.pushCpTar({...tarInfo, dockerPathsA: []} as any) 25 pushLine(`WORKDIR /app/${ptMonorepoRoot}`) 26 pushLine(`RUN ${installCmd || 'yarn install'}`) 28 pushLine(`RUN ${buildCmd || 'yarn build'}`) 30 return {builderDf, ptSrcDir} 33export const genViteRunnerDockerfile = ({builderRepoNameTag, ptSrcDir, distDir, svcPortNo}: {builderRepoNameTag: string, ptSrcDir: string, distDir: string, svcPortNo: number}) => { 35 const {pushLine} = runnerDf 37 const distPath = `/app/${ptSrcDir}/${distDir}` 39 pushLine(`FROM ${builderRepoNameTag} AS buildstage`) 41 pushLine(`RUN npm install -g serve`) 42 pushLine(`COPY --from=buildstage ${distPath} /app`) 43 pushLine(`WORKDIR /app`) 44 pushLine(`EXPOSE ${svcPortNo}`) 45 pushLine(`CMD ["serve", "-s", "/app", "-l", "${svcPortNo}"]`)