@awsless/awsless 0.0.362 → 0.0.364

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.
Files changed (2) hide show
  1. package/dist/bin.js +49 -47
  2. package/package.json +8 -8
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, filters = []) => {
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({ type, name, builder });
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
- let filterdStacks = props.stackConfigs;
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({ name, paths });
13518
+ tests.push({
13519
+ stackName: stack.name,
13520
+ name,
13521
+ paths
13522
+ });
13540
13523
  },
13541
13524
  registerBuild(type, name, builder) {
13542
- builders.push({ type, name, builder });
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 filterdStacks) {
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,6 +13624,11 @@ 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) {
13627
+ if (stackFilters && stackFilters.length > 0) {
13628
+ if (!stackFilters.includes(builder.stackName)) {
13629
+ continue;
13630
+ }
13631
+ }
13639
13632
  try {
13640
13633
  const result = await build(builder.type, builder.name, builder.builder, {
13641
13634
  workspace
@@ -13664,8 +13657,8 @@ var build2 = (program2) => {
13664
13657
  await layout("build", async ({ appConfig, stackConfigs }) => {
13665
13658
  const credentials = getCredentials(appConfig.profile);
13666
13659
  const accountId = await getAccountId(credentials, appConfig.region);
13667
- const { builders } = createApp({ appConfig, stackConfigs, accountId }, filters);
13668
- await buildAssets(builders, true);
13660
+ const { builders } = createApp({ appConfig, stackConfigs, accountId });
13661
+ await buildAssets(builders, filters, true);
13669
13662
  return "Build was successful.";
13670
13663
  });
13671
13664
  });
@@ -13820,8 +13813,8 @@ var del2 = (program2) => {
13820
13813
  const region = appConfig.region;
13821
13814
  const credentials = getCredentials(appConfig.profile);
13822
13815
  const accountId = await getAccountId(credentials, region);
13823
- const { app } = createApp({ appConfig, stackConfigs, accountId }, filters);
13824
- const stackNames = [...app.stacks].map((stack) => stack.name);
13816
+ const { app } = createApp({ appConfig, stackConfigs, accountId });
13817
+ const stackNames = app.stacks.filter((stack) => filters.includes(stack.name)).map((s) => s.name);
13825
13818
  const formattedFilter = stackNames.map((i) => color.info(i)).join(color.dim(", "));
13826
13819
  debug("Stacks to delete", formattedFilter);
13827
13820
  if (!process.env.SKIP_PROMPT) {
@@ -13842,7 +13835,9 @@ var del2 = (program2) => {
13842
13835
  region
13843
13836
  });
13844
13837
  await task("Deleting the stacks to AWS", async (update) => {
13845
- await workspace.deleteApp(app);
13838
+ await workspace.deleteApp(app, {
13839
+ filters
13840
+ });
13846
13841
  await pullRemoteState(app, stateProvider);
13847
13842
  update("Done deleting the stacks to AWS.");
13848
13843
  });
@@ -14166,10 +14161,15 @@ var runTest = async (stack, dir, filters) => {
14166
14161
  );
14167
14162
  return result.errors.length === 0;
14168
14163
  };
14169
- var runTests = async (tests, filters = []) => {
14164
+ var runTests = async (tests, stackFilters = [], testFilters = []) => {
14170
14165
  for (const test2 of tests) {
14166
+ if (stackFilters && stackFilters.length > 0) {
14167
+ if (!stackFilters.includes(test2.stackName)) {
14168
+ continue;
14169
+ }
14170
+ }
14171
14171
  for (const path of test2.paths) {
14172
- const result = await runTest(test2.name, path, filters);
14172
+ const result = await runTest(test2.name, path, testFilters);
14173
14173
  if (!result) {
14174
14174
  return false;
14175
14175
  }
@@ -14186,8 +14186,8 @@ var deploy = (program2) => {
14186
14186
  const credentials = getCredentials(appConfig.profile);
14187
14187
  const accountId = await getAccountId(credentials, region);
14188
14188
  await bootstrapAwsless({ credentials, region, accountId });
14189
- const { app, tests, builders } = createApp({ appConfig, stackConfigs, accountId }, filters);
14190
- const stackNames = [...app.stacks].map((stack) => stack.name);
14189
+ const { app, tests, builders } = createApp({ appConfig, stackConfigs, accountId });
14190
+ const stackNames = app.stacks.filter((stack) => filters.includes(stack.name)).map((s) => s.name);
14191
14191
  const formattedFilter = stackNames.map((i) => color.info(i)).join(color.dim(", "));
14192
14192
  debug("Stacks to deploy", formattedFilter);
14193
14193
  if (!process.env.SKIP_PROMPT) {
@@ -14200,18 +14200,20 @@ var deploy = (program2) => {
14200
14200
  throw new Cancelled();
14201
14201
  }
14202
14202
  }
14203
- const passed = await runTests(tests);
14203
+ const passed = await runTests(tests, filters);
14204
14204
  if (!passed) {
14205
14205
  throw new Cancelled();
14206
14206
  }
14207
- await buildAssets(builders);
14207
+ await buildAssets(builders, filters);
14208
14208
  const { workspace, stateProvider } = createWorkSpace({
14209
14209
  credentials,
14210
14210
  accountId,
14211
14211
  region
14212
14212
  });
14213
14213
  await task("Deploying the stacks to AWS", async (update) => {
14214
- await workspace.deployApp(app);
14214
+ await workspace.deployApp(app, {
14215
+ filters
14216
+ });
14215
14217
  await pullRemoteState(app, stateProvider);
14216
14218
  update("Done deploying the stacks to AWS.");
14217
14219
  });
@@ -14645,11 +14647,11 @@ var test = (program2) => {
14645
14647
  const region = props.appConfig.region;
14646
14648
  const credentials = getCredentials(props.appConfig.profile);
14647
14649
  const accountId = await getAccountId(credentials, region);
14648
- const { tests } = createApp({ ...props, accountId }, stacks);
14650
+ const { tests } = createApp({ ...props, accountId });
14649
14651
  if (tests.length === 0) {
14650
14652
  return "No tests found.";
14651
14653
  }
14652
- await runTests(tests, options?.filters);
14654
+ await runTests(tests, stacks, options?.filters);
14653
14655
  return "All tests finished.";
14654
14656
  });
14655
14657
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/awsless",
3
- "version": "0.0.362",
3
+ "version": "0.0.364",
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/open-search": "^0.0.15",
32
+ "@awsless/s3": "^0.0.18",
33
33
  "@awsless/lambda": "^0.0.26",
34
+ "@awsless/redis": "^0.0.12",
35
+ "@awsless/open-search": "^0.0.15",
34
36
  "@awsless/sns": "^0.0.7",
35
37
  "@awsless/sqs": "^0.0.7",
36
- "@awsless/validate": "^0.0.15",
37
38
  "@awsless/ssm": "^0.0.7",
38
- "@awsless/s3": "^0.0.18",
39
- "@awsless/weak-cache": "^0.0.1",
40
- "@awsless/redis": "^0.0.12"
39
+ "@awsless/validate": "^0.0.15",
40
+ "@awsless/weak-cache": "^0.0.1"
41
41
  },
42
42
  "dependencies": {
43
43
  "@arcanyx/cidr-slicer": "^0.3.0",
@@ -109,11 +109,11 @@
109
109
  "zod-to-json-schema": "^3.22.3",
110
110
  "@awsless/code": "^0.0.10",
111
111
  "@awsless/duration": "^0.0.1",
112
- "@awsless/size": "^0.0.1",
113
112
  "@awsless/graphql": "^0.0.9",
113
+ "@awsless/size": "^0.0.1",
114
114
  "@awsless/ts-file-cache": "^0.0.10",
115
115
  "@awsless/validate": "^0.0.15",
116
- "@awsless/formation": "^0.0.55"
116
+ "@awsless/formation": "^0.0.56"
117
117
  },
118
118
  "scripts": {
119
119
  "test": "pnpm code test",