@awsless/awsless 0.0.361 → 0.0.363
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 +58 -51
- package/package.json +9 -9
package/dist/bin.js
CHANGED
|
@@ -13394,24 +13394,6 @@ var SharedData = class {
|
|
|
13394
13394
|
};
|
|
13395
13395
|
|
|
13396
13396
|
// src/app.ts
|
|
13397
|
-
var getFiltersWithDeps = (stacks, filters) => {
|
|
13398
|
-
const list4 = [];
|
|
13399
|
-
const walk = (deps) => {
|
|
13400
|
-
deps.forEach((dep) => {
|
|
13401
|
-
const stack = stacks.find((stack2) => stack2.name === dep);
|
|
13402
|
-
if (stack) {
|
|
13403
|
-
if (!list4.includes(dep)) {
|
|
13404
|
-
list4.push(dep);
|
|
13405
|
-
if (stack.depends) {
|
|
13406
|
-
walk(stack.depends);
|
|
13407
|
-
}
|
|
13408
|
-
}
|
|
13409
|
-
}
|
|
13410
|
-
});
|
|
13411
|
-
};
|
|
13412
|
-
walk(filters);
|
|
13413
|
-
return list4;
|
|
13414
|
-
};
|
|
13415
13397
|
var assertDepsExists = (stack, stacks) => {
|
|
13416
13398
|
for (const dep of stack.depends ?? []) {
|
|
13417
13399
|
const found = stacks.find((i) => i.name === dep);
|
|
@@ -13420,7 +13402,7 @@ var assertDepsExists = (stack, stacks) => {
|
|
|
13420
13402
|
}
|
|
13421
13403
|
}
|
|
13422
13404
|
};
|
|
13423
|
-
var createApp = (props
|
|
13405
|
+
var createApp = (props) => {
|
|
13424
13406
|
const app = new App2(props.appConfig.name);
|
|
13425
13407
|
const base2 = new Stack(app, "base");
|
|
13426
13408
|
const shared = new SharedData();
|
|
@@ -13467,11 +13449,13 @@ var createApp = (props, filters = []) => {
|
|
|
13467
13449
|
registerPolicy(policy) {
|
|
13468
13450
|
globalPolicies.push(policy);
|
|
13469
13451
|
},
|
|
13470
|
-
registerTest(name, paths) {
|
|
13471
|
-
tests.push({ name, paths });
|
|
13472
|
-
},
|
|
13473
13452
|
registerBuild(type, name, builder) {
|
|
13474
|
-
builders.push({
|
|
13453
|
+
builders.push({
|
|
13454
|
+
stackName: base2.name,
|
|
13455
|
+
type,
|
|
13456
|
+
name,
|
|
13457
|
+
builder
|
|
13458
|
+
});
|
|
13475
13459
|
},
|
|
13476
13460
|
registerCommand(command) {
|
|
13477
13461
|
commands7.push(command);
|
|
@@ -13496,12 +13480,7 @@ var createApp = (props, filters = []) => {
|
|
|
13496
13480
|
}
|
|
13497
13481
|
});
|
|
13498
13482
|
}
|
|
13499
|
-
|
|
13500
|
-
if (filters.length > 0) {
|
|
13501
|
-
const filtersWithDeps = getFiltersWithDeps(filterdStacks, filters);
|
|
13502
|
-
filterdStacks = filterdStacks.filter((stack) => filtersWithDeps.includes(stack.name));
|
|
13503
|
-
}
|
|
13504
|
-
for (const stackConfig of filterdStacks) {
|
|
13483
|
+
for (const stackConfig of props.stackConfigs) {
|
|
13505
13484
|
const stack = new Stack(app, stackConfig.name);
|
|
13506
13485
|
const localPolicyListeners = [];
|
|
13507
13486
|
const localPolicies = [];
|
|
@@ -13536,10 +13515,19 @@ var createApp = (props, filters = []) => {
|
|
|
13536
13515
|
localPolicies.push(policy);
|
|
13537
13516
|
},
|
|
13538
13517
|
registerTest(name, paths) {
|
|
13539
|
-
tests.push({
|
|
13518
|
+
tests.push({
|
|
13519
|
+
stackName: stack.name,
|
|
13520
|
+
name,
|
|
13521
|
+
paths
|
|
13522
|
+
});
|
|
13540
13523
|
},
|
|
13541
13524
|
registerBuild(type, name, builder) {
|
|
13542
|
-
builders.push({
|
|
13525
|
+
builders.push({
|
|
13526
|
+
stackName: stack.name,
|
|
13527
|
+
type,
|
|
13528
|
+
name,
|
|
13529
|
+
builder
|
|
13530
|
+
});
|
|
13543
13531
|
},
|
|
13544
13532
|
registerConfig(name) {
|
|
13545
13533
|
configs.add(name);
|
|
@@ -13591,7 +13579,7 @@ var createApp = (props, filters = []) => {
|
|
|
13591
13579
|
listener(env.name, env.value);
|
|
13592
13580
|
}
|
|
13593
13581
|
}
|
|
13594
|
-
for (const stackConfig of
|
|
13582
|
+
for (const stackConfig of props.stackConfigs) {
|
|
13595
13583
|
const policies = allLocalPolicies[stackConfig.name];
|
|
13596
13584
|
const envListeners = allLocalEnvListeners[stackConfig.name];
|
|
13597
13585
|
for (const dependency of stackConfig.depends ?? []) {
|
|
@@ -13628,7 +13616,7 @@ var createApp = (props, filters = []) => {
|
|
|
13628
13616
|
// src/cli/ui/complex/build-assets.ts
|
|
13629
13617
|
import { loadWorkspace } from "@awsless/ts-file-cache";
|
|
13630
13618
|
import chalk3 from "chalk";
|
|
13631
|
-
var buildAssets = async (builders, showResult = false) => {
|
|
13619
|
+
var buildAssets = async (builders, stackFilters, showResult = false) => {
|
|
13632
13620
|
if (builders.length === 0) {
|
|
13633
13621
|
return;
|
|
13634
13622
|
}
|
|
@@ -13636,10 +13624,20 @@ var buildAssets = async (builders, showResult = false) => {
|
|
|
13636
13624
|
await task("Building assets", async (update) => {
|
|
13637
13625
|
const workspace = await loadWorkspace(directories.root);
|
|
13638
13626
|
for (const builder of builders) {
|
|
13639
|
-
|
|
13640
|
-
|
|
13641
|
-
|
|
13642
|
-
|
|
13627
|
+
if (stackFilters && stackFilters.length > 0) {
|
|
13628
|
+
if (!stackFilters.includes(builder.stackName)) {
|
|
13629
|
+
continue;
|
|
13630
|
+
}
|
|
13631
|
+
}
|
|
13632
|
+
try {
|
|
13633
|
+
const result = await build(builder.type, builder.name, builder.builder, {
|
|
13634
|
+
workspace
|
|
13635
|
+
});
|
|
13636
|
+
results.push({ ...builder, result });
|
|
13637
|
+
} catch (error) {
|
|
13638
|
+
logError(new Error(`Build failed for: ${builder.type} ${builder.name}`));
|
|
13639
|
+
throw error;
|
|
13640
|
+
}
|
|
13643
13641
|
}
|
|
13644
13642
|
update("Done building assets.");
|
|
13645
13643
|
});
|
|
@@ -13659,8 +13657,8 @@ var build2 = (program2) => {
|
|
|
13659
13657
|
await layout("build", async ({ appConfig, stackConfigs }) => {
|
|
13660
13658
|
const credentials = getCredentials(appConfig.profile);
|
|
13661
13659
|
const accountId = await getAccountId(credentials, appConfig.region);
|
|
13662
|
-
const { builders } = createApp({ appConfig, stackConfigs, accountId }
|
|
13663
|
-
await buildAssets(builders, true);
|
|
13660
|
+
const { builders } = createApp({ appConfig, stackConfigs, accountId });
|
|
13661
|
+
await buildAssets(builders, filters, true);
|
|
13664
13662
|
return "Build was successful.";
|
|
13665
13663
|
});
|
|
13666
13664
|
});
|
|
@@ -13815,8 +13813,8 @@ var del2 = (program2) => {
|
|
|
13815
13813
|
const region = appConfig.region;
|
|
13816
13814
|
const credentials = getCredentials(appConfig.profile);
|
|
13817
13815
|
const accountId = await getAccountId(credentials, region);
|
|
13818
|
-
const { app } = createApp({ appConfig, stackConfigs, accountId }
|
|
13819
|
-
const stackNames =
|
|
13816
|
+
const { app } = createApp({ appConfig, stackConfigs, accountId });
|
|
13817
|
+
const stackNames = app.stacks.filter((stack) => filters.includes(stack.name)).map((s) => s.name);
|
|
13820
13818
|
const formattedFilter = stackNames.map((i) => color.info(i)).join(color.dim(", "));
|
|
13821
13819
|
debug("Stacks to delete", formattedFilter);
|
|
13822
13820
|
if (!process.env.SKIP_PROMPT) {
|
|
@@ -13837,7 +13835,9 @@ var del2 = (program2) => {
|
|
|
13837
13835
|
region
|
|
13838
13836
|
});
|
|
13839
13837
|
await task("Deleting the stacks to AWS", async (update) => {
|
|
13840
|
-
await workspace.deleteApp(app
|
|
13838
|
+
await workspace.deleteApp(app, {
|
|
13839
|
+
filters
|
|
13840
|
+
});
|
|
13841
13841
|
await pullRemoteState(app, stateProvider);
|
|
13842
13842
|
update("Done deleting the stacks to AWS.");
|
|
13843
13843
|
});
|
|
@@ -14161,10 +14161,15 @@ var runTest = async (stack, dir, filters) => {
|
|
|
14161
14161
|
);
|
|
14162
14162
|
return result.errors.length === 0;
|
|
14163
14163
|
};
|
|
14164
|
-
var runTests = async (tests,
|
|
14164
|
+
var runTests = async (tests, stackFilters = [], testFilters = []) => {
|
|
14165
14165
|
for (const test2 of tests) {
|
|
14166
|
+
if (stackFilters && stackFilters.length > 0) {
|
|
14167
|
+
if (!stackFilters.includes(test2.stackName)) {
|
|
14168
|
+
continue;
|
|
14169
|
+
}
|
|
14170
|
+
}
|
|
14166
14171
|
for (const path of test2.paths) {
|
|
14167
|
-
const result = await runTest(test2.name, path,
|
|
14172
|
+
const result = await runTest(test2.name, path, testFilters);
|
|
14168
14173
|
if (!result) {
|
|
14169
14174
|
return false;
|
|
14170
14175
|
}
|
|
@@ -14181,8 +14186,8 @@ var deploy = (program2) => {
|
|
|
14181
14186
|
const credentials = getCredentials(appConfig.profile);
|
|
14182
14187
|
const accountId = await getAccountId(credentials, region);
|
|
14183
14188
|
await bootstrapAwsless({ credentials, region, accountId });
|
|
14184
|
-
const { app, tests, builders } = createApp({ appConfig, stackConfigs, accountId }
|
|
14185
|
-
const stackNames =
|
|
14189
|
+
const { app, tests, builders } = createApp({ appConfig, stackConfigs, accountId });
|
|
14190
|
+
const stackNames = app.stacks.filter((stack) => filters.includes(stack.name)).map((s) => s.name);
|
|
14186
14191
|
const formattedFilter = stackNames.map((i) => color.info(i)).join(color.dim(", "));
|
|
14187
14192
|
debug("Stacks to deploy", formattedFilter);
|
|
14188
14193
|
if (!process.env.SKIP_PROMPT) {
|
|
@@ -14195,18 +14200,20 @@ var deploy = (program2) => {
|
|
|
14195
14200
|
throw new Cancelled();
|
|
14196
14201
|
}
|
|
14197
14202
|
}
|
|
14198
|
-
const passed = await runTests(tests);
|
|
14203
|
+
const passed = await runTests(tests, filters);
|
|
14199
14204
|
if (!passed) {
|
|
14200
14205
|
throw new Cancelled();
|
|
14201
14206
|
}
|
|
14202
|
-
await buildAssets(builders);
|
|
14207
|
+
await buildAssets(builders, filters);
|
|
14203
14208
|
const { workspace, stateProvider } = createWorkSpace({
|
|
14204
14209
|
credentials,
|
|
14205
14210
|
accountId,
|
|
14206
14211
|
region
|
|
14207
14212
|
});
|
|
14208
14213
|
await task("Deploying the stacks to AWS", async (update) => {
|
|
14209
|
-
await workspace.deployApp(app
|
|
14214
|
+
await workspace.deployApp(app, {
|
|
14215
|
+
filters
|
|
14216
|
+
});
|
|
14210
14217
|
await pullRemoteState(app, stateProvider);
|
|
14211
14218
|
update("Done deploying the stacks to AWS.");
|
|
14212
14219
|
});
|
|
@@ -14640,11 +14647,11 @@ var test = (program2) => {
|
|
|
14640
14647
|
const region = props.appConfig.region;
|
|
14641
14648
|
const credentials = getCredentials(props.appConfig.profile);
|
|
14642
14649
|
const accountId = await getAccountId(credentials, region);
|
|
14643
|
-
const { tests } = createApp({ ...props, accountId }
|
|
14650
|
+
const { tests } = createApp({ ...props, accountId });
|
|
14644
14651
|
if (tests.length === 0) {
|
|
14645
14652
|
return "No tests found.";
|
|
14646
14653
|
}
|
|
14647
|
-
await runTests(tests, options?.filters);
|
|
14654
|
+
await runTests(tests, stacks, options?.filters);
|
|
14648
14655
|
return "All tests finished.";
|
|
14649
14656
|
});
|
|
14650
14657
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awsless/awsless",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.363",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"@awsless/iot": "^0.0.2",
|
|
32
|
+
"@awsless/lambda": "^0.0.26",
|
|
32
33
|
"@awsless/redis": "^0.0.12",
|
|
33
34
|
"@awsless/open-search": "^0.0.15",
|
|
34
|
-
"@awsless/sns": "^0.0.7",
|
|
35
|
-
"@awsless/ssm": "^0.0.7",
|
|
36
|
-
"@awsless/validate": "^0.0.15",
|
|
37
35
|
"@awsless/s3": "^0.0.18",
|
|
38
|
-
"@awsless/
|
|
36
|
+
"@awsless/sns": "^0.0.7",
|
|
39
37
|
"@awsless/sqs": "^0.0.7",
|
|
40
|
-
"@awsless/
|
|
38
|
+
"@awsless/ssm": "^0.0.7",
|
|
39
|
+
"@awsless/weak-cache": "^0.0.1",
|
|
40
|
+
"@awsless/validate": "^0.0.15"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@arcanyx/cidr-slicer": "^0.3.0",
|
|
@@ -108,12 +108,12 @@
|
|
|
108
108
|
"zod": "^3.21.4",
|
|
109
109
|
"zod-to-json-schema": "^3.22.3",
|
|
110
110
|
"@awsless/code": "^0.0.10",
|
|
111
|
-
"@awsless/
|
|
111
|
+
"@awsless/formation": "^0.0.56",
|
|
112
112
|
"@awsless/graphql": "^0.0.9",
|
|
113
113
|
"@awsless/size": "^0.0.1",
|
|
114
|
-
"@awsless/ts-file-cache": "^0.0.10",
|
|
115
114
|
"@awsless/validate": "^0.0.15",
|
|
116
|
-
"@awsless/
|
|
115
|
+
"@awsless/ts-file-cache": "^0.0.10",
|
|
116
|
+
"@awsless/duration": "^0.0.1"
|
|
117
117
|
},
|
|
118
118
|
"scripts": {
|
|
119
119
|
"test": "pnpm code test",
|