@jaypie/constructs 1.1.62-rc.3 → 1.1.63

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.
@@ -23,6 +23,7 @@ export { AccountAssignments, JaypieSsoPermissions, JaypieSsoPermissionsProps, }
23
23
  export { JaypieSsoSyncApplication, JaypieSsoSyncApplicationProps, } from "./JaypieSsoSyncApplication";
24
24
  export { JaypieQueuedLambda } from "./JaypieQueuedLambda";
25
25
  export { JaypieStack, JaypieStackProps } from "./JaypieStack";
26
+ export { JaypieStaticWebBucket, JaypieStaticWebBucketProps, } from "./JaypieStaticWebBucket";
26
27
  export { JaypieTraceSigningKeySecret } from "./JaypieTraceSigningKeySecret";
27
28
  export { JaypieWebDeploymentBucket } from "./JaypieWebDeploymentBucket";
28
29
  export * from "./helpers";
@@ -0,0 +1,22 @@
1
+ import { Construct } from "constructs";
2
+ import { JaypieWebDeploymentBucket, JaypieWebDeploymentBucketProps } from "./JaypieWebDeploymentBucket";
3
+ export interface JaypieStaticWebBucketProps extends Omit<JaypieWebDeploymentBucketProps, "host" | "name" | "roleTag"> {
4
+ /**
5
+ * The domain name for the website
6
+ * @default envHostname({ subdomain: "static" })
7
+ */
8
+ host?: string;
9
+ /**
10
+ * Optional bucket name
11
+ * @default constructEnvName("static")
12
+ */
13
+ name?: string;
14
+ /**
15
+ * Role tag for tagging resources
16
+ * @default CDK.ROLE.HOSTING
17
+ */
18
+ roleTag?: string;
19
+ }
20
+ export declare class JaypieStaticWebBucket extends JaypieWebDeploymentBucket {
21
+ constructor(scope: Construct, id?: string | JaypieStaticWebBucketProps, props?: JaypieStaticWebBucketProps);
22
+ }
@@ -6,6 +6,7 @@ import * as route53 from "aws-cdk-lib/aws-route53";
6
6
  import * as s3 from "aws-cdk-lib/aws-s3";
7
7
  import * as kms from "aws-cdk-lib/aws-kms";
8
8
  import { Construct } from "constructs";
9
+ import { JaypieHostedZone } from "./JaypieHostedZone";
9
10
  export interface JaypieWebDeploymentBucketProps extends s3.BucketProps {
10
11
  /**
11
12
  * SSL certificate for the CloudFront distribution
@@ -30,7 +31,7 @@ export interface JaypieWebDeploymentBucketProps extends s3.BucketProps {
30
31
  * The hosted zone for DNS records
31
32
  * @default CDK_ENV_WEB_HOSTED_ZONE || CDK_ENV_HOSTED_ZONE
32
33
  */
33
- zone?: string | route53.IHostedZone;
34
+ zone?: string | route53.IHostedZone | JaypieHostedZone;
34
35
  }
35
36
  export declare class JaypieWebDeploymentBucket extends Construct implements s3.IBucket {
36
37
  readonly bucket: s3.Bucket;
@@ -0,0 +1 @@
1
+ export {};
@@ -23,6 +23,7 @@ export { AccountAssignments, JaypieSsoPermissions, JaypieSsoPermissionsProps, }
23
23
  export { JaypieSsoSyncApplication, JaypieSsoSyncApplicationProps, } from "./JaypieSsoSyncApplication";
24
24
  export { JaypieQueuedLambda } from "./JaypieQueuedLambda";
25
25
  export { JaypieStack, JaypieStackProps } from "./JaypieStack";
26
+ export { JaypieStaticWebBucket, JaypieStaticWebBucketProps, } from "./JaypieStaticWebBucket";
26
27
  export { JaypieTraceSigningKeySecret } from "./JaypieTraceSigningKeySecret";
27
28
  export { JaypieWebDeploymentBucket } from "./JaypieWebDeploymentBucket";
28
29
  export * from "./helpers";
package/dist/esm/index.js CHANGED
@@ -2932,18 +2932,6 @@ class JaypieSsoSyncApplication extends Construct {
2932
2932
  }
2933
2933
  }
2934
2934
 
2935
- class JaypieTraceSigningKeySecret extends JaypieEnvSecret {
2936
- constructor(scope, id = "TraceSigningKey", props) {
2937
- const defaultProps = {
2938
- envKey: "TRACE_SIGNING_KEY",
2939
- roleTag: CDK$2.ROLE.API,
2940
- vendorTag: CDK$2.VENDOR.KNOWTRACE,
2941
- ...props,
2942
- };
2943
- super(scope, id, defaultProps);
2944
- }
2945
- }
2946
-
2947
2935
  class JaypieWebDeploymentBucket extends Construct {
2948
2936
  constructor(scope, id, props = {}) {
2949
2937
  super(scope, id);
@@ -3056,11 +3044,18 @@ class JaypieWebDeploymentBucket extends Construct {
3056
3044
  }
3057
3045
  // Create CloudFront distribution and certificate if host and zone are provided
3058
3046
  if (host && zone) {
3059
- const hostedZone = typeof zone === "string"
3060
- ? route53.HostedZone.fromLookup(this, "HostedZone", {
3047
+ let hostedZone;
3048
+ if (typeof zone === "string") {
3049
+ hostedZone = route53.HostedZone.fromLookup(this, "HostedZone", {
3061
3050
  domainName: zone,
3062
- })
3063
- : zone;
3051
+ });
3052
+ }
3053
+ else if (zone instanceof JaypieHostedZone) {
3054
+ hostedZone = zone.hostedZone;
3055
+ }
3056
+ else {
3057
+ hostedZone = zone;
3058
+ }
3064
3059
  // Create certificate if not provided
3065
3060
  if (props.certificate !== false) {
3066
3061
  this.certificate =
@@ -3201,5 +3196,51 @@ class JaypieWebDeploymentBucket extends Construct {
3201
3196
  }
3202
3197
  }
3203
3198
 
3204
- export { CDK$2 as CDK, JaypieAccountLoggingBucket, JaypieApiGateway, JaypieAppStack, JaypieBucketQueuedLambda, JaypieDatadogBucket, JaypieDatadogForwarder, JaypieDatadogSecret, JaypieDistribution, JaypieDnsRecord, JaypieEnvSecret, JaypieEventsRule, JaypieExpressLambda, JaypieGitHubDeployRole, JaypieHostedZone, JaypieInfrastructureStack, JaypieLambda, JaypieMongoDbSecret, JaypieNextJs, JaypieOpenAiSecret, JaypieOrganizationTrail, JaypieQueuedLambda, JaypieSsoPermissions, JaypieSsoSyncApplication, JaypieStack, JaypieTraceSigningKeySecret, JaypieWebDeploymentBucket, addDatadogLayers, constructEnvName, constructStackName, constructTagger, envHostname, extendDatadogRole, isEnv, isProductionEnv, isSandboxEnv, isValidHostname$1 as isValidHostname, isValidSubdomain, jaypieLambdaEnv, mergeDomain, resolveDatadogForwarderFunction, resolveDatadogLayers, resolveDatadogLoggingDestination, resolveHostedZone, resolveParamsAndSecrets };
3199
+ class JaypieStaticWebBucket extends JaypieWebDeploymentBucket {
3200
+ constructor(scope, id, props = {}) {
3201
+ // Handle overloaded signatures: (scope), (scope, props), (scope, id, props)
3202
+ let resolvedId;
3203
+ let resolvedProps;
3204
+ if (typeof id === "string") {
3205
+ resolvedId = id;
3206
+ resolvedProps = props;
3207
+ }
3208
+ else if (typeof id === "object") {
3209
+ resolvedId = "JaypieStaticWebBucket";
3210
+ resolvedProps = id;
3211
+ }
3212
+ else {
3213
+ resolvedId = "JaypieStaticWebBucket";
3214
+ resolvedProps = props;
3215
+ }
3216
+ const host = resolvedProps.host ?? envHostname({ subdomain: "static" });
3217
+ const name = resolvedProps.name ?? constructEnvName("static");
3218
+ const roleTag = resolvedProps.roleTag ?? CDK$2.ROLE.HOSTING;
3219
+ // Only use default zone if zone is not explicitly provided (including undefined)
3220
+ const zone = "zone" in resolvedProps
3221
+ ? resolvedProps.zone
3222
+ : process.env.CDK_ENV_DOMAIN || process.env.CDK_ENV_HOSTED_ZONE;
3223
+ super(scope, resolvedId, {
3224
+ ...resolvedProps,
3225
+ host,
3226
+ name,
3227
+ roleTag,
3228
+ zone,
3229
+ });
3230
+ }
3231
+ }
3232
+
3233
+ class JaypieTraceSigningKeySecret extends JaypieEnvSecret {
3234
+ constructor(scope, id = "TraceSigningKey", props) {
3235
+ const defaultProps = {
3236
+ envKey: "TRACE_SIGNING_KEY",
3237
+ roleTag: CDK$2.ROLE.API,
3238
+ vendorTag: CDK$2.VENDOR.KNOWTRACE,
3239
+ ...props,
3240
+ };
3241
+ super(scope, id, defaultProps);
3242
+ }
3243
+ }
3244
+
3245
+ export { CDK$2 as CDK, JaypieAccountLoggingBucket, JaypieApiGateway, JaypieAppStack, JaypieBucketQueuedLambda, JaypieDatadogBucket, JaypieDatadogForwarder, JaypieDatadogSecret, JaypieDistribution, JaypieDnsRecord, JaypieEnvSecret, JaypieEventsRule, JaypieExpressLambda, JaypieGitHubDeployRole, JaypieHostedZone, JaypieInfrastructureStack, JaypieLambda, JaypieMongoDbSecret, JaypieNextJs, JaypieOpenAiSecret, JaypieOrganizationTrail, JaypieQueuedLambda, JaypieSsoPermissions, JaypieSsoSyncApplication, JaypieStack, JaypieStaticWebBucket, JaypieTraceSigningKeySecret, JaypieWebDeploymentBucket, addDatadogLayers, constructEnvName, constructStackName, constructTagger, envHostname, extendDatadogRole, isEnv, isProductionEnv, isSandboxEnv, isValidHostname$1 as isValidHostname, isValidSubdomain, jaypieLambdaEnv, mergeDomain, resolveDatadogForwarderFunction, resolveDatadogLayers, resolveDatadogLoggingDestination, resolveHostedZone, resolveParamsAndSecrets };
3205
3246
  //# sourceMappingURL=index.js.map