aact 2.1.1 → 2.1.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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { defineCommand, runMain } from 'citty';
3
3
  import consola from 'consola';
4
- import { A as AactConfigSchema, H as loadStructurizrElements, G as loadPlantumlElements, J as mapContainersFromPlantumlElements, q as analyzeArchitecture, E as EXTERNAL_SYSTEM_TYPE, b as CONTAINER_DB_TYPE, r as checkAcl, s as checkAcyclic, t as checkApiGateway, w as checkCrud, x as checkDbPerService, u as checkCohesion, y as checkStableDependencies, v as checkCommonReuse, L as structurizrDslSyntax, D as generateKubernetes, F as generatePlantumlFromModel } from '../shared/aact.mCX-x14V.mjs';
4
+ import { A as AactConfigSchema, H as loadStructurizrElements, G as loadPlantumlElements, J as mapContainersFromPlantumlElements, q as analyzeArchitecture, E as EXTERNAL_SYSTEM_TYPE, b as CONTAINER_DB_TYPE, r as checkAcl, s as checkAcyclic, t as checkApiGateway, w as checkCrud, x as checkDbPerService, u as checkCohesion, y as checkStableDependencies, v as checkCommonReuse, L as structurizrDslSyntax, D as generateKubernetes, F as generatePlantumlFromModel } from '../shared/aact.Cpfuzz1A.mjs';
5
5
  import { loadConfig } from 'c12';
6
6
  import * as v from 'valibot';
7
7
  import path from 'node:path';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { A as AactConfigSchema, B as BOUNDARY_TYPE, C as COMPONENT_TYPE, a as CONTAINER_BOUNDARY_TYPE, b as CONTAINER_DB_TYPE, c as CONTAINER_TYPE, E as EXTERNAL_SYSTEM_TYPE, P as PERSON_TYPE, d as PLANTUML_BOUNDARY, e as PLANTUML_COMPONENT, f as PLANTUML_CONTAINER, g as PLANTUML_CONTAINER_BOUNDARY, h as PLANTUML_CONTAINER_DB, i as PLANTUML_PERSON, j as PLANTUML_SYSTEM, k as PLANTUML_SYSTEM_BOUNDARY, l as PLANTUML_SYSTEM_EXT, S as STRUCTURIZR_INTERACTION_ASYNC, m as STRUCTURIZR_LOCATION_EXTERNAL, n as STRUCTURIZR_TAG_ASYNC, o as SYSTEM_BOUNDARY_TYPE, p as SYSTEM_TYPE, q as analyzeArchitecture, r as checkAcl, s as checkAcyclic, t as checkApiGateway, u as checkCohesion, v as checkCommonReuse, w as checkCrud, x as checkDbPerService, y as checkStableDependencies, z as defineConfig, D as generateKubernetes, F as generatePlantumlFromModel, G as loadPlantumlElements, H as loadStructurizrElements, I as loadStructurizrWorkspace, J as mapContainersFromPlantumlElements, K as mapContainersFromStructurizr, L as structurizrDslSyntax } from './shared/aact.mCX-x14V.mjs';
1
+ export { A as AactConfigSchema, B as BOUNDARY_TYPE, C as COMPONENT_TYPE, a as CONTAINER_BOUNDARY_TYPE, b as CONTAINER_DB_TYPE, c as CONTAINER_TYPE, E as EXTERNAL_SYSTEM_TYPE, P as PERSON_TYPE, d as PLANTUML_BOUNDARY, e as PLANTUML_COMPONENT, f as PLANTUML_CONTAINER, g as PLANTUML_CONTAINER_BOUNDARY, h as PLANTUML_CONTAINER_DB, i as PLANTUML_PERSON, j as PLANTUML_SYSTEM, k as PLANTUML_SYSTEM_BOUNDARY, l as PLANTUML_SYSTEM_EXT, S as STRUCTURIZR_INTERACTION_ASYNC, m as STRUCTURIZR_LOCATION_EXTERNAL, n as STRUCTURIZR_TAG_ASYNC, o as SYSTEM_BOUNDARY_TYPE, p as SYSTEM_TYPE, q as analyzeArchitecture, r as checkAcl, s as checkAcyclic, t as checkApiGateway, u as checkCohesion, v as checkCommonReuse, w as checkCrud, x as checkDbPerService, y as checkStableDependencies, z as defineConfig, D as generateKubernetes, F as generatePlantumlFromModel, G as loadPlantumlElements, H as loadStructurizrElements, I as loadStructurizrWorkspace, J as mapContainersFromPlantumlElements, K as mapContainersFromStructurizr, L as structurizrDslSyntax } from './shared/aact.Cpfuzz1A.mjs';
2
2
  import fs from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import YAML from 'yaml';
@@ -734,13 +734,16 @@ const checkCohesion = (model, options) => {
734
734
  return violations;
735
735
  };
736
736
 
737
- const checkCommonReuse = (model) => {
738
- const boundaryOf = /* @__PURE__ */ new Map();
737
+ const buildBoundaryLookup = (model) => {
738
+ const map = /* @__PURE__ */ new Map();
739
739
  for (const boundary of model.boundaries) {
740
740
  for (const c of boundary.containers) {
741
- boundaryOf.set(c.name, boundary);
741
+ map.set(c.name, boundary);
742
742
  }
743
743
  }
744
+ return map;
745
+ };
746
+ const collectPublicAndUsage = (model, boundaryOf) => {
744
747
  const publicOf = /* @__PURE__ */ new Map();
745
748
  const used = /* @__PURE__ */ new Map();
746
749
  for (const source of model.allContainers) {
@@ -764,6 +767,11 @@ const checkCommonReuse = (model) => {
764
767
  u.add(rel.to.name);
765
768
  }
766
769
  }
770
+ return { publicOf, used };
771
+ };
772
+ const checkCommonReuse = (model) => {
773
+ const boundaryOf = buildBoundaryLookup(model);
774
+ const { publicOf, used } = collectPublicAndUsage(model, boundaryOf);
767
775
  const violations = [];
768
776
  for (const [provider, pubNames] of publicOf) {
769
777
  if (pubNames.size < 2) continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aact",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "type": "module",
5
5
  "description": "Architecture analysis and compliance tool",
6
6
  "keywords": [
@@ -11,14 +11,22 @@
11
11
  "c4-model",
12
12
  "architecture-testing",
13
13
  "microservices",
14
- "validation"
14
+ "validation",
15
+ "linter",
16
+ "cli",
17
+ "auto-fix",
18
+ "kubernetes",
19
+ "coupling",
20
+ "cohesion"
15
21
  ],
16
22
  "bin": {
17
23
  "aact": "dist/cli/index.mjs"
18
24
  },
19
25
  "exports": {
20
26
  ".": {
21
- "import": "./dist/index.mjs"
27
+ "types": "./dist/index.d.mts",
28
+ "import": "./dist/index.mjs",
29
+ "default": "./dist/index.mjs"
22
30
  }
23
31
  },
24
32
  "homepage": "https://github.com/Byndyusoft/aact#readme",
@@ -30,6 +38,7 @@
30
38
  "url": "git+https://github.com/Byndyusoft/aact.git"
31
39
  },
32
40
  "packageManager": "pnpm@9.15.4",
41
+ "sideEffects": false,
33
42
  "files": [
34
43
  "dist"
35
44
  ],