diff --git a/pkg/platform/src/components/aws/astro.ts b/pkg/platform/src/components/aws/astro.ts index 7a1877082..b9cb0439c 100644 --- a/pkg/platform/src/components/aws/astro.ts +++ b/pkg/platform/src/components/aws/astro.ts @@ -340,6 +340,16 @@ export class Astro extends Component implements Link.Linkable { path: sitePath, server: server.arn, }, + _receiver: { + directory: sitePath, + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, + }, + environment: args.environment, + }, _dev: { directory: sitePath, links: output(args.link || []) diff --git a/pkg/platform/src/components/aws/function.ts b/pkg/platform/src/components/aws/function.ts index b6649c25c..b02bb8ddb 100644 --- a/pkg/platform/src/components/aws/function.ts +++ b/pkg/platform/src/components/aws/function.ts @@ -932,23 +932,6 @@ export class Function extends Component implements Link.Linkable, AWSLinkable { this.fnUrl = fnUrl; this.registerOutputs({ - _receiver: args._skipMetadata - ? undefined - : unsecret( - all([args.bundle, args.handler, environment, region]).apply( - ([bundle, handler, env, region]) => ({ - directory: bundle || handler, - links, - environment: { - ...env, - AWS_REGION: region, - }, - aws: { - role: role?.arn, - }, - }), - ), - ), _live: unsecret( all([dev]).apply(([dev]) => { if (!dev) return undefined; diff --git a/pkg/platform/src/components/aws/nextjs.ts b/pkg/platform/src/components/aws/nextjs.ts index bd6827774..d790393df 100644 --- a/pkg/platform/src/components/aws/nextjs.ts +++ b/pkg/platform/src/components/aws/nextjs.ts @@ -2,7 +2,7 @@ import fs from "fs"; import path from "path"; import crypto from "crypto"; import { globSync } from "glob"; -import { ComponentResourceOptions, Output, all } from "@pulumi/pulumi"; +import { ComponentResourceOptions, Output, all, output } from "@pulumi/pulumi"; import { Size } from "../size.js"; import { Function } from "./function.js"; import { @@ -470,17 +470,33 @@ export class Nextjs extends Component implements Link.Linkable { const buildCommand = normalizeBuildCommand(); const { sitePath, partition, region } = prepare(args, opts); if ($dev) { + const server = createDevServer(parent, name, args); this.registerOutputs({ _metadata: { mode: "placeholder", path: sitePath, - server: createDevServer(parent, name, args).arn, + server: server.arn, + }, + _receiver: { + directory: sitePath, + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, + }, + environment: args.environment, }, _dev: { directory: sitePath, - dev: { - command: "npm run dev", + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, }, + environment: args.environment, + command: "npm run dev", }, }); return; diff --git a/pkg/platform/src/components/aws/nuxt.ts b/pkg/platform/src/components/aws/nuxt.ts index 27a9e3a86..0002daf3d 100644 --- a/pkg/platform/src/components/aws/nuxt.ts +++ b/pkg/platform/src/components/aws/nuxt.ts @@ -330,6 +330,16 @@ export class Nuxt extends Component implements Link.Linkable { path: sitePath, server: server.arn, }, + _receiver: { + directory: sitePath, + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, + }, + environment: args.environment, + }, _dev: { directory: sitePath, links: output(args.link || []) diff --git a/pkg/platform/src/components/aws/react.ts b/pkg/platform/src/components/aws/react.ts index 9db3872a5..6830a5045 100644 --- a/pkg/platform/src/components/aws/react.ts +++ b/pkg/platform/src/components/aws/react.ts @@ -347,6 +347,16 @@ export class React extends Component implements Link.Linkable { edge, server: server.arn, }, + _receiver: { + directory: sitePath, + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, + }, + environment: args.environment, + }, _dev: { directory: sitePath, links: output(args.link || []) diff --git a/pkg/platform/src/components/aws/remix.ts b/pkg/platform/src/components/aws/remix.ts index cd576ae99..0615f6725 100644 --- a/pkg/platform/src/components/aws/remix.ts +++ b/pkg/platform/src/components/aws/remix.ts @@ -341,6 +341,16 @@ export class Remix extends Component implements Link.Linkable { edge, server: server.arn, }, + _receiver: { + directory: sitePath, + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, + }, + environment: args.environment, + }, _dev: { directory: sitePath, links: output(args.link || []) diff --git a/pkg/platform/src/components/aws/solid-start.ts b/pkg/platform/src/components/aws/solid-start.ts index 9f2255807..27fee360c 100644 --- a/pkg/platform/src/components/aws/solid-start.ts +++ b/pkg/platform/src/components/aws/solid-start.ts @@ -331,6 +331,16 @@ export class SolidStart extends Component implements Link.Linkable { path: sitePath, server: server.arn, }, + _receiver: { + directory: sitePath, + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, + }, + environment: args.environment, + }, _dev: { directory: sitePath, links: output(args.link || []) diff --git a/pkg/platform/src/components/aws/svelte-kit.ts b/pkg/platform/src/components/aws/svelte-kit.ts index ccfe9f6c1..684c46ef8 100644 --- a/pkg/platform/src/components/aws/svelte-kit.ts +++ b/pkg/platform/src/components/aws/svelte-kit.ts @@ -342,6 +342,16 @@ export class SvelteKit extends Component implements Link.Linkable { edge, server: server.arn, }, + _receiver: { + directory: sitePath, + links: output(args.link || []) + .apply(Link.build) + .apply((links) => links.map((link) => link.name)), + aws: { + role: server.nodes.role.arn, + }, + environment: args.environment, + }, _dev: { directory: sitePath, links: output(args.link || [])