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 +48 -24
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
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
|
|
70920
|
-
|
|
70921
|
-
|
|
70922
|
-
|
|
70923
|
-
|
|
70924
|
-
|
|
70925
|
-
|
|
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
|
|
70935
|
-
|
|
70936
|
-
|
|
70937
|
-
|
|
70938
|
-
|
|
70939
|
-
|
|
70940
|
-
|
|
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
|
|
73367
|
-
|
|
73368
|
-
|
|
73369
|
-
|
|
73370
|
-
|
|
73371
|
-
|
|
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;
|