/** * Provider-agnostic Node server entry generator for `target: 'server'` units. * * Produces a `node:http`-based HTTP entry built on `@pikku/node-http-server` * — the same runtime `pikku dev` uses. Containers sit behind something * (Cloudflare Workers, a load balancer) so raw uWS throughput isn't * required; sharing the dev server keeps one HTTP path to maintain. * * The same bundle runs anywhere a Node process can run: CF Containers, * fly.io, ECS, bare VM. Provider-specific config (Dockerfile, infra) is * emitted by the provider adapter on top of this entry + bundle.js. */ import type { EntryGenerationContext } from './provider-adapter.js'; export declare function generateServerEntrySource(ctx: EntryGenerationContext): string; export declare const SERVER_DOCKERFILE = "# Generated by @pikku/cli \u2014 do not edit\n# Full image (not -slim): carries the build toolchain so externalised deps with\n# native addons can compile from source at `npm install` time.\nFROM node:26\n\nRUN apt-get update \\\n && apt-get install -y --no-install-recommends tini ca-certificates \\\n && rm -rf /var/lib/apt/lists/*\n\nRUN groupadd -r pikku && useradd -r -g pikku -u 1001 pikku\n\nWORKDIR /app\n\n# Pikku bundles user code + first-party deps inline; only externalised deps\n# (typically empty for pure-JS apps) are listed in package.json. We ship no\n# lockfile because the bundle has already pinned everything via the\n# extracted exact-dependencies \u2014 `npm install --omit=dev` resolves the\n# leftover externals (if any) at build time.\nCOPY --chown=pikku:pikku package.json ./\nRUN npm install --omit=dev --no-audit --no-fund\n\nCOPY --chown=pikku:pikku bundle.js ./\n\nUSER pikku\nENV NODE_ENV=production\nENV PORT=8080\nEXPOSE 8080\n\nENTRYPOINT [\"/usr/bin/tini\", \"--\"]\nCMD [\"node\", \"bundle.js\"]\n"; export declare const SERVER_DOCKERIGNORE = "node_modules\n.git\n*.log\nmetafile.json\nexact-dependencies.json\n";