effortless-aws 0.14.0 → 0.14.2

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 CHANGED
@@ -70916,13 +70916,20 @@ var makeTags = (ctx, type2) => ({
70916
70916
  var toAwsTagList = (tags2) => Object.entries(tags2).map(([Key2, Value]) => ({ Key: Key2, Value }));
70917
70917
  var resolveStage = (input) => input ?? process.env.EFFORTLESS_STAGE ?? "dev";
70918
70918
  var getResourcesByTags = (project2, stage) => Effect_exports.gen(function* () {
70919
- const result = yield* resource_groups_tagging_api_exports.make("get_resources", {
70920
- TagFilters: [
70921
- { Key: "effortless:project", Values: [project2] },
70922
- { Key: "effortless:stage", Values: [stage] }
70923
- ]
70924
- });
70925
- return result.ResourceTagMappingList ?? [];
70919
+ const all13 = [];
70920
+ let token;
70921
+ do {
70922
+ const result = yield* resource_groups_tagging_api_exports.make("get_resources", {
70923
+ TagFilters: [
70924
+ { Key: "effortless:project", Values: [project2] },
70925
+ { Key: "effortless:stage", Values: [stage] }
70926
+ ],
70927
+ ...token ? { PaginationToken: token } : {}
70928
+ });
70929
+ all13.push(...result.ResourceTagMappingList ?? []);
70930
+ token = result.PaginationToken;
70931
+ } while (token);
70932
+ return all13;
70926
70933
  });
70927
70934
  var getAllResourcesByTags = (project2, stage, region) => Effect_exports.gen(function* () {
70928
70935
  const tagFilters = [
@@ -70931,13 +70938,19 @@ var getAllResourcesByTags = (project2, stage, region) => Effect_exports.gen(func
70931
70938
  ];
70932
70939
  const regional = yield* getResourcesByTags(project2, stage);
70933
70940
  if (region === "us-east-1") return regional;
70934
- const globalResult = yield* resource_groups_tagging_api_exports.make("get_resources", {
70935
- TagFilters: tagFilters
70936
- }).pipe(
70937
- Effect_exports.provide(resource_groups_tagging_api_exports.ResourceGroupsTaggingAPIClient.Default({ region: "us-east-1" })),
70938
- Effect_exports.catchAll(() => Effect_exports.succeed({ ResourceTagMappingList: [] }))
70939
- );
70940
- const global = globalResult.ResourceTagMappingList ?? [];
70941
+ const global = [];
70942
+ let globalToken;
70943
+ do {
70944
+ const globalResult = yield* resource_groups_tagging_api_exports.make("get_resources", {
70945
+ TagFilters: tagFilters,
70946
+ ...globalToken ? { PaginationToken: globalToken } : {}
70947
+ }).pipe(
70948
+ Effect_exports.provide(resource_groups_tagging_api_exports.ResourceGroupsTaggingAPIClient.Default({ region: "us-east-1" })),
70949
+ Effect_exports.catchAll(() => Effect_exports.succeed({ ResourceTagMappingList: [], PaginationToken: void 0 }))
70950
+ );
70951
+ global.push(...globalResult.ResourceTagMappingList ?? []);
70952
+ globalToken = globalResult.PaginationToken;
70953
+ } while (globalToken);
70941
70954
  const seen = new Set(regional.map((r) => r.ResourceARN));
70942
70955
  return [...regional, ...global.filter((r) => !seen.has(r.ResourceARN))];
70943
70956
  });
@@ -72314,7 +72327,13 @@ var findDistributionByTags = (project2, stage, handlerName) => Effect_exports.ge
72314
72327
  });
72315
72328
  if (!dist?.ResourceARN) return void 0;
72316
72329
  const distributionId = dist.ResourceARN.split("/").pop();
72317
- const result = yield* cloudfront_exports.make("get_distribution", { Id: distributionId });
72330
+ const result = yield* cloudfront_exports.make("get_distribution", { Id: distributionId }).pipe(
72331
+ Effect_exports.catchIf(
72332
+ (e) => e._tag === "CloudFrontError" && e.is("NoSuchDistribution"),
72333
+ () => Effect_exports.succeed(void 0)
72334
+ )
72335
+ );
72336
+ if (!result) return void 0;
72318
72337
  return {
72319
72338
  Id: distributionId,
72320
72339
  DomainName: result.Distribution.DomainName
@@ -73363,17 +73382,22 @@ var deployStaticSite = (input) => Effect_exports.gen(function* () {
73363
73382
  if (domain) {
73364
73383
  const certResult = yield* findCertificate(domain);
73365
73384
  acmCertificateArn = certResult.certificateArn;
73366
- const wwwCandidate = `www.${domain}`;
73367
- const certCoversWww = certResult.coveredDomains.includes(wwwCandidate) || certResult.coveredDomains.includes(`*.${domain}`);
73368
- if (certCoversWww) {
73369
- aliases = [domain, wwwCandidate];
73370
- wwwDomain = wwwCandidate;
73371
- yield* Effect_exports.logDebug(`ACM certificate covers ${wwwCandidate}, enabling www \u2192 non-www redirect`);
73385
+ const isRootDomain = domain.split(".").length === 2;
73386
+ if (isRootDomain) {
73387
+ const wwwCandidate = `www.${domain}`;
73388
+ const certCoversWww = certResult.coveredDomains.includes(wwwCandidate) || certResult.coveredDomains.includes(`*.${domain}`);
73389
+ if (certCoversWww) {
73390
+ aliases = [domain, wwwCandidate];
73391
+ wwwDomain = wwwCandidate;
73392
+ yield* Effect_exports.logDebug(`ACM certificate covers ${wwwCandidate}, enabling www \u2192 non-www redirect`);
73393
+ } else {
73394
+ aliases = [domain];
73395
+ yield* Effect_exports.logWarning(
73396
+ `ACM certificate does not cover ${wwwCandidate}. For SEO, add ${wwwCandidate} to your ACM certificate in us-east-1 to enable www \u2192 non-www redirect.`
73397
+ );
73398
+ }
73372
73399
  } else {
73373
73400
  aliases = [domain];
73374
- yield* Effect_exports.logWarning(
73375
- `ACM certificate does not cover ${wwwCandidate}. For SEO, add ${wwwCandidate} to your ACM certificate in us-east-1 to enable www \u2192 non-www redirect.`
73376
- );
73377
73401
  }
73378
73402
  }
73379
73403
  const isSpa = config2.spa ?? false;