@awsless/awsless 0.0.312 → 0.0.314

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/bin.js CHANGED
@@ -1068,7 +1068,7 @@ var CronsSchema = z23.record(
1068
1068
  ),
1069
1069
  payload: z23.unknown().optional().describe("The JSON payload that will be passed to the consumer.")
1070
1070
  })
1071
- ).optional();
1071
+ ).optional().describe(`Define the cron jobs in your stack.`);
1072
1072
 
1073
1073
  // src/feature/on-failure/schema.ts
1074
1074
  var OnFailureSchema = FunctionSchema.optional().describe(
@@ -1187,7 +1187,7 @@ var ErrorResponseSchema = z25.union([
1187
1187
  var SitesSchema = z25.record(
1188
1188
  ResourceIdSchema,
1189
1189
  z25.object({
1190
- domain: ResourceIdSchema.describe("The domain id to link your site with."),
1190
+ domain: ResourceIdSchema.describe("The domain id to link your site with.").optional(),
1191
1191
  subDomain: z25.string().optional(),
1192
1192
  // bind: z
1193
1193
  // .object({
@@ -3954,6 +3954,7 @@ var getContentType = (file) => {
3954
3954
  };
3955
3955
 
3956
3956
  // src/feature/site/index.ts
3957
+ import { constantCase as constantCase10 } from "change-case";
3957
3958
  var siteFeature = defineFeature({
3958
3959
  name: "site",
3959
3960
  onStack(ctx) {
@@ -4009,6 +4010,9 @@ var siteFeature = defineFeature({
4009
4010
  }
4010
4011
  ]
4011
4012
  });
4013
+ ctx.onPolicy((policy) => {
4014
+ policy.addStatement(bucket.permissions);
4015
+ });
4012
4016
  bucket.deletionPolicy = "after-deployment";
4013
4017
  const accessControl = new aws16.cloudFront.OriginAccessControl(group, `access`, {
4014
4018
  name,
@@ -4059,7 +4063,6 @@ var siteFeature = defineFeature({
4059
4063
  values: ["host", "authorization"]
4060
4064
  }
4061
4065
  });
4062
- const domainName = formatFullDomainName(ctx.appConfig, props.domain, props.subDomain);
4063
4066
  const responseHeaders = new aws16.cloudFront.ResponseHeadersPolicy(group, "response", {
4064
4067
  name,
4065
4068
  cors: props.cors,
@@ -4068,11 +4071,13 @@ var siteFeature = defineFeature({
4068
4071
  // override: true,
4069
4072
  // },
4070
4073
  });
4074
+ const domainName = props.domain ? formatFullDomainName(ctx.appConfig, props.domain, props.subDomain) : void 0;
4075
+ const certificateArn = props.domain ? ctx.shared.get(`global-certificate-${props.domain}-arn`) : void 0;
4071
4076
  const distribution = new aws16.cloudFront.Distribution(group, "distribution", {
4072
4077
  name,
4073
- certificateArn: ctx.shared.get(`global-certificate-${props.domain}-arn`),
4074
4078
  compress: true,
4075
- aliases: [domainName],
4079
+ certificateArn,
4080
+ aliases: domainName ? [domainName] : void 0,
4076
4081
  origins,
4077
4082
  originGroups,
4078
4083
  // defaultRootObject: 'index.html',
@@ -4128,16 +4133,18 @@ var siteFeature = defineFeature({
4128
4133
  ]
4129
4134
  });
4130
4135
  }
4131
- new aws16.route53.RecordSet(group, `record`, {
4132
- hostedZoneId: ctx.shared.get(`hosted-zone-${props.domain}-id`),
4133
- type: "A",
4134
- name: domainName,
4135
- alias: {
4136
- dnsName: distribution.domainName,
4137
- hostedZoneId: distribution.hostedZoneId,
4138
- evaluateTargetHealth: false
4139
- }
4140
- });
4136
+ if (domainName) {
4137
+ new aws16.route53.RecordSet(group, `record`, {
4138
+ hostedZoneId: ctx.shared.get(`hosted-zone-${props.domain}-id`),
4139
+ type: "A",
4140
+ name: domainName,
4141
+ alias: distribution.aliasTarget
4142
+ });
4143
+ }
4144
+ ctx.bind(
4145
+ `SITE_${constantCase10(ctx.stack.name)}_${constantCase10(id)}_ENDPOINT`,
4146
+ domainName ? domainName : distribution.domainName
4147
+ );
4141
4148
  }
4142
4149
  }
4143
4150
  });
@@ -4228,7 +4235,7 @@ var storeFeature = defineFeature({
4228
4235
 
4229
4236
  // src/feature/stream/index.ts
4230
4237
  import { aws as aws18, Node as Node17 } from "@awsless/formation";
4231
- import { constantCase as constantCase10 } from "change-case";
4238
+ import { constantCase as constantCase11 } from "change-case";
4232
4239
  var streamFeature = defineFeature({
4233
4240
  name: "stream",
4234
4241
  onStack(ctx) {
@@ -4242,7 +4249,7 @@ var streamFeature = defineFeature({
4242
4249
  const streamKey = new aws18.ivs.StreamKey(group, "key", {
4243
4250
  channel: channel.arn
4244
4251
  });
4245
- const prefix = `STREAM_${constantCase10(ctx.stack.name)}_${constantCase10(id)}`;
4252
+ const prefix = `STREAM_${constantCase11(ctx.stack.name)}_${constantCase11(id)}`;
4246
4253
  ctx.bind(`${prefix}_ENDPOINT`, channel.playbackUrl);
4247
4254
  ctx.addEnv(`${prefix}_INGEST_ENDPOINT`, channel.ingestEndpoint);
4248
4255
  ctx.addEnv(`${prefix}_STREAM_KEY`, streamKey.value);
@@ -384,7 +384,7 @@ var CronsSchema = z12.record(
384
384
  ),
385
385
  payload: z12.unknown().optional().describe("The JSON payload that will be passed to the consumer.")
386
386
  })
387
- ).optional();
387
+ ).optional().describe(`Define the cron jobs in your stack.`);
388
388
 
389
389
  // src/feature/graphql/schema.ts
390
390
  import { z as z13 } from "zod";
@@ -758,7 +758,7 @@ var ErrorResponseSchema = z22.union([
758
758
  var SitesSchema = z22.record(
759
759
  ResourceIdSchema,
760
760
  z22.object({
761
- domain: ResourceIdSchema.describe("The domain id to link your site with."),
761
+ domain: ResourceIdSchema.describe("The domain id to link your site with.").optional(),
762
762
  subDomain: z22.string().optional(),
763
763
  // bind: z
764
764
  // .object({
package/dist/server.d.ts CHANGED
@@ -93,6 +93,8 @@ interface SearchResources {
93
93
  }
94
94
  declare const Search: SearchResources;
95
95
 
96
+ declare const getSiteBucketName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--site--${N}`;
97
+
96
98
  declare const getStoreName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--store--${N}`;
97
99
  interface StoreResources {
98
100
  }
@@ -116,4 +118,4 @@ declare const Topic: TopicResources;
116
118
  declare const APP: "app";
117
119
  declare const STACK: "stack";
118
120
 
119
- export { APP, Cache, CacheResources, CommandContext, CommandHandler, CommandOptions, Config, ConfigResources, Fn, Function, FunctionMock, FunctionMockResponse, FunctionResources, PubSub, PublishOptions, Queue, QueueMock, QueueMockResponse, QueueResources, STACK, Search, SearchResources, Store, StoreResources, Table, TableResources, Task, TaskMock, TaskMockResponse, TaskResources, Topic, TopicMock, TopicMockResponse, TopicResources, getCacheProps, getConfigName, getFunctionName, getPubSubTopic, getQueueName, getQueueUrl, getSearchName, getSearchProps, getStoreName, getTableName, getTaskName, getTopicName, mockFunction, mockPubSub, mockQueue, mockTask, mockTopic };
121
+ export { APP, Cache, CacheResources, CommandContext, CommandHandler, CommandOptions, Config, ConfigResources, Fn, Function, FunctionMock, FunctionMockResponse, FunctionResources, PubSub, PublishOptions, Queue, QueueMock, QueueMockResponse, QueueResources, STACK, Search, SearchResources, Store, StoreResources, Table, TableResources, Task, TaskMock, TaskMockResponse, TaskResources, Topic, TopicMock, TopicMockResponse, TopicResources, getCacheProps, getConfigName, getFunctionName, getPubSubTopic, getQueueName, getQueueUrl, getSearchName, getSearchProps, getSiteBucketName, getStoreName, getTableName, getTaskName, getTopicName, mockFunction, mockPubSub, mockQueue, mockTask, mockTopic };
package/dist/server.js CHANGED
@@ -339,6 +339,9 @@ var Search = /* @__PURE__ */ createProxy((stack) => {
339
339
  });
340
340
  });
341
341
 
342
+ // src/lib/server/site.ts
343
+ var getSiteBucketName = bindLocalResourceName("site");
344
+
342
345
  // src/lib/server/store.ts
343
346
  import { deleteObject, getObject, headObject, putObject } from "@awsless/s3";
344
347
  var getStoreName = bindLocalResourceName("store");
@@ -404,6 +407,7 @@ export {
404
407
  getQueueUrl,
405
408
  getSearchName,
406
409
  getSearchProps,
410
+ getSiteBucketName,
407
411
  getStoreName,
408
412
  getTableName,
409
413
  getTaskName,