skedyul 1.1.7 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +1 -1
- package/dist/dockerfile.d.ts +1 -1
- package/dist/esm/index.mjs +4255 -0
- package/dist/index.js +2 -2
- package/package.json +2 -1
package/dist/cli/index.js
CHANGED
|
@@ -7124,7 +7124,7 @@ async function buildCommand(args2) {
|
|
|
7124
7124
|
console.log(`Loading config from ${path12.basename(configPath)}...`);
|
|
7125
7125
|
try {
|
|
7126
7126
|
const config = await loadConfig(configPath);
|
|
7127
|
-
const computeLayer =
|
|
7127
|
+
const computeLayer = config.computeLayer ?? "serverless";
|
|
7128
7128
|
const format = computeLayer === "serverless" ? "esm" : "cjs";
|
|
7129
7129
|
const baseExternals = ["skedyul", `skedyul/${computeLayer}`, "zod"];
|
|
7130
7130
|
const userExternals = config.build && "external" in config.build ? config.build.external ?? [] : [];
|
package/dist/dockerfile.d.ts
CHANGED
|
@@ -13,4 +13,4 @@
|
|
|
13
13
|
* - BUILD_EXTERNAL: comma-separated list of external dependencies (e.g., 'twilio,stripe')
|
|
14
14
|
* - MCP_ENV_JSON: JSON string of environment variables to bake into the image
|
|
15
15
|
*/
|
|
16
|
-
export declare const DEFAULT_DOCKERFILE = "# =============================================================================\n# BUILDER STAGE - Common build for all targets\n# =============================================================================\nFROM public.ecr.aws/docker/library/node:22-alpine AS builder\n\nARG COMPUTE_LAYER=serverless\nARG BUILD_EXTERNAL=\"\"\nWORKDIR /app\n\n# Install pnpm\nRUN corepack enable && corepack prepare pnpm@latest --activate\n\n# Copy package files (lockfile is optional)\nCOPY package.json tsconfig.json skedyul.config.ts ./\nCOPY src ./src\n\n# Copy tsup.config.ts if it exists, otherwise generate based on COMPUTE_LAYER\n# BUILD_EXTERNAL is a comma-separated list of additional externals (e.g., \"twilio,stripe\")\nCOPY tsup.config.t[s] ./\nRUN if [ ! -f tsup.config.ts ]; then \\\n BASE_EXT=\"skedyul,zod\"; \\\n if [ \"$COMPUTE_LAYER\" = \"serverless\" ]; then \\\n BASE_EXT=\"skedyul,skedyul/serverless,zod\"; \\\n FORMAT=\"esm\"; \\\n else \\\n BASE_EXT=\"skedyul,skedyul/dedicated,zod\"; \\\n FORMAT=\"cjs\"; \\\n fi; \\\n if [ -n \"$BUILD_EXTERNAL\" ]; then \\\n ALL_EXT=\"$BASE_EXT,$BUILD_EXTERNAL\"; \\\n else \\\n ALL_EXT=\"$BASE_EXT\"; \\\n fi; \\\n EXT_ARRAY=$(echo \"$ALL_EXT\" | sed 's/,/\",\"/g'); \\\n printf 'import{defineConfig}from\"tsup\";export default defineConfig({entry:[\"src/server/mcp_server.ts\"],format:[\"%s\"],target:\"node22\",outDir:\"dist/server\",clean:true,splitting:false,dts:false,external:[\"%s\"]})' \"$FORMAT\" \"$EXT_ARRAY\" > tsup.config.ts; \\\n fi\n\n# Install dependencies (including dev deps for build), compile, smoke test, then prune\n# Note: Using --no-frozen-lockfile since lockfile may not exist\n#
|
|
16
|
+
export declare const DEFAULT_DOCKERFILE = "# =============================================================================\n# BUILDER STAGE - Common build for all targets\n# =============================================================================\nFROM public.ecr.aws/docker/library/node:22-alpine AS builder\n\nARG COMPUTE_LAYER=serverless\nARG BUILD_EXTERNAL=\"\"\nWORKDIR /app\n\n# Install pnpm\nRUN corepack enable && corepack prepare pnpm@latest --activate\n\n# Copy package files (lockfile is optional)\nCOPY package.json tsconfig.json skedyul.config.ts ./\nCOPY src ./src\n\n# Copy tsup.config.ts if it exists, otherwise generate based on COMPUTE_LAYER\n# BUILD_EXTERNAL is a comma-separated list of additional externals (e.g., \"twilio,stripe\")\nCOPY tsup.config.t[s] ./\nRUN if [ ! -f tsup.config.ts ]; then \\\n BASE_EXT=\"skedyul,zod\"; \\\n if [ \"$COMPUTE_LAYER\" = \"serverless\" ]; then \\\n BASE_EXT=\"skedyul,skedyul/serverless,zod\"; \\\n FORMAT=\"esm\"; \\\n else \\\n BASE_EXT=\"skedyul,skedyul/dedicated,zod\"; \\\n FORMAT=\"cjs\"; \\\n fi; \\\n if [ -n \"$BUILD_EXTERNAL\" ]; then \\\n ALL_EXT=\"$BASE_EXT,$BUILD_EXTERNAL\"; \\\n else \\\n ALL_EXT=\"$BASE_EXT\"; \\\n fi; \\\n EXT_ARRAY=$(echo \"$ALL_EXT\" | sed 's/,/\",\"/g'); \\\n printf 'import{defineConfig}from\"tsup\";export default defineConfig({entry:[\"src/server/mcp_server.ts\"],format:[\"%s\"],target:\"node22\",outDir:\"dist/server\",clean:true,splitting:false,dts:false,external:[\"%s\"]})' \"$FORMAT\" \"$EXT_ARRAY\" > tsup.config.ts; \\\n fi\n\n# Install dependencies (including dev deps for build), compile, smoke test, then prune\n# Note: Using --no-frozen-lockfile since lockfile may not exist\n# skedyul build reads computeLayer from skedyul.config.ts\n# Smoke test runs before pruning since skedyul CLI is a dev dependency\nRUN pnpm install --no-frozen-lockfile && \\\n pnpm run build && \\\n skedyul smoke-test && \\\n pnpm prune --prod && \\\n pnpm store prune && \\\n rm -rf /tmp/* /var/cache/apk/* ~/.npm\n\n# =============================================================================\n# DEDICATED STAGE - For local Docker and ECS deployments (HTTP server)\n# =============================================================================\nFROM public.ecr.aws/docker/library/node:22-alpine AS dedicated\n\nWORKDIR /app\n\n# Copy built artifacts\nCOPY --from=builder /app/node_modules ./node_modules\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/package.json ./package.json\n\n# Allow overriding the baked-in MCP env at runtime\nARG MCP_ENV_JSON=\"{}\"\nENV MCP_ENV_JSON=${MCP_ENV_JSON}\n\n# Expose the HTTP port\nEXPOSE 3000\n\n# Run as HTTP server (dedicated mode auto-detected by absence of AWS_LAMBDA_FUNCTION_NAME)\nCMD [\"node\", \"dist/server/mcp_server.js\"]\n\n# =============================================================================\n# SERVERLESS STAGE - For AWS Lambda deployments\n# =============================================================================\nFROM public.ecr.aws/lambda/nodejs:22 AS serverless\n\nWORKDIR ${LAMBDA_TASK_ROOT}\n\nCOPY --from=builder /app/node_modules ./node_modules\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/package.json ./package.json\n\n# Allow overriding the baked-in MCP env at runtime\nARG MCP_ENV_JSON=\"{}\"\nENV MCP_ENV_JSON=${MCP_ENV_JSON}\n\n# Lambda handler format\nCMD [\"dist/server/mcp_server.handler\"]\n\n# =============================================================================\n# DEFAULT - Use dedicated for local development, override with --target for production\n# =============================================================================\nFROM dedicated\n";
|