@yalehwang/archguard 0.1.8 → 0.1.10

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 (60) hide show
  1. package/dist/cli/analyze/normalize-to-diagrams.d.ts.map +1 -1
  2. package/dist/cli/analyze/normalize-to-diagrams.js +50 -10
  3. package/dist/cli/analyze/normalize-to-diagrams.js.map +1 -1
  4. package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
  5. package/dist/cli/analyze/run-analysis.js +8 -3
  6. package/dist/cli/analyze/run-analysis.js.map +1 -1
  7. package/dist/cli/cache/render-hash-cache.d.ts +1 -1
  8. package/dist/cli/cache/render-hash-cache.d.ts.map +1 -1
  9. package/dist/cli/cache/render-hash-cache.js +1 -1
  10. package/dist/cli/cache/render-hash-cache.js.map +1 -1
  11. package/dist/cli/processors/arch-json-provider.d.ts +4 -1
  12. package/dist/cli/processors/arch-json-provider.d.ts.map +1 -1
  13. package/dist/cli/processors/arch-json-provider.js +79 -21
  14. package/dist/cli/processors/arch-json-provider.js.map +1 -1
  15. package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
  16. package/dist/cli/processors/diagram-processor.js +10 -5
  17. package/dist/cli/processors/diagram-processor.js.map +1 -1
  18. package/dist/cli/query/query-artifacts.d.ts +5 -1
  19. package/dist/cli/query/query-artifacts.d.ts.map +1 -1
  20. package/dist/cli/query/query-artifacts.js +22 -3
  21. package/dist/cli/query/query-artifacts.js.map +1 -1
  22. package/dist/cli/query/query-manifest.d.ts +2 -0
  23. package/dist/cli/query/query-manifest.d.ts.map +1 -1
  24. package/dist/cli/utils/default-scope-planner.d.ts +22 -0
  25. package/dist/cli/utils/default-scope-planner.d.ts.map +1 -0
  26. package/dist/cli/utils/default-scope-planner.js +84 -0
  27. package/dist/cli/utils/default-scope-planner.js.map +1 -0
  28. package/dist/cli/utils/java-project-structure-detector.d.ts +7 -0
  29. package/dist/cli/utils/java-project-structure-detector.d.ts.map +1 -0
  30. package/dist/cli/utils/java-project-structure-detector.js +97 -0
  31. package/dist/cli/utils/java-project-structure-detector.js.map +1 -0
  32. package/dist/cli/utils/project-language-detector.d.ts +10 -0
  33. package/dist/cli/utils/project-language-detector.d.ts.map +1 -0
  34. package/dist/cli/utils/project-language-detector.js +179 -0
  35. package/dist/cli/utils/project-language-detector.js.map +1 -0
  36. package/dist/cli/utils/project-structure-detector.d.ts +3 -2
  37. package/dist/cli/utils/project-structure-detector.d.ts.map +1 -1
  38. package/dist/cli/utils/project-structure-detector.js +8 -7
  39. package/dist/cli/utils/project-structure-detector.js.map +1 -1
  40. package/dist/mermaid/grouper.d.ts +1 -0
  41. package/dist/mermaid/grouper.d.ts.map +1 -1
  42. package/dist/mermaid/grouper.js +30 -10
  43. package/dist/mermaid/grouper.js.map +1 -1
  44. package/dist/mermaid/render-worker-pool.d.ts.map +1 -1
  45. package/dist/mermaid/render-worker-pool.js +7 -1
  46. package/dist/mermaid/render-worker-pool.js.map +1 -1
  47. package/dist/mermaid/renderer.d.ts.map +1 -1
  48. package/dist/mermaid/renderer.js +30 -0
  49. package/dist/mermaid/renderer.js.map +1 -1
  50. package/dist/parser/archjson-aggregator.d.ts +1 -0
  51. package/dist/parser/archjson-aggregator.d.ts.map +1 -1
  52. package/dist/parser/archjson-aggregator.js +26 -8
  53. package/dist/parser/archjson-aggregator.js.map +1 -1
  54. package/dist/plugins/java/archjson-mapper.js +1 -1
  55. package/dist/plugins/java/archjson-mapper.js.map +1 -1
  56. package/dist/plugins/java/dependency-extractor.js +2 -2
  57. package/dist/plugins/java/dependency-extractor.js.map +1 -1
  58. package/dist/types/config.d.ts +1 -0
  59. package/dist/types/config.d.ts.map +1 -1
  60. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"diagram-processor.js","sourceRoot":"","sources":["../../../src/cli/processors/diagram-processor.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAKzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,IAAI,MAAM,OAAO,CAAC;AACzB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAgFlE,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAkB;IAC1B,YAAY,CAAe;IAC3B,QAAQ,CAAuB;IAC/B,UAAU,CAAqB;IAC/B,iBAAiB,CAAoB;IACrC,gBAAgB,CAA4B;IACnC,QAAQ,CAAmB;IAC3B,MAAM,CAAsB;IAE7C,YAAY,OAAgC;QAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC;YACnC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IAaD,KAAK,CAAC,UAAU;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAGtE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC;QAKD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1C,MAAM,SAAS,GAAG,YAAY,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;QAC3E,MAAM,eAAe,GAAG,SAAS;YAC/B,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,KAA2C,EAAE,MAAM;gBACtF,EAAE,MAAM,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,QAAQ,GACZ,qBAAqB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ;YAClD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK;YACjC,CAAC,CAAC,CAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAa,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;QACrE,MAAM,IAAI,GACR,QAAQ,GAAG,CAAC;YACV,CAAC,CAAC,IAAI,uBAAuB,CAAC,QAAQ,EAAE;gBACpC,KAAK,EAAE,SAAS;gBAChB,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB;oBAC/D,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,OAAO;aACZ,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,IAAI;YAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAGlD,MAAM,YAAY,GAAG,MAAM,IAAI,CAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAClC,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAG9B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClE,CAAC,EACD,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAC;YAGF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAGpC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;gBAAS,CAAC;YAET,MAAM,IAAI,EAAE,SAAS,EAAE,CAAC;YAGxB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAOO,qBAAqB;QAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;QAExD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAGO,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAOpD,kBAAkB,CAAC,OAAiB,EAAE,QAAkB,EAAE,IAA0B;QAC1F,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjE,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QACtC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;YACxB,GAAG;YACH,OAAO,EAAE,iBAAiB;YAC1B,QAAQ;YACR,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAMM,oBAAoB;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAUO,KAAK,CAAC,kBAAkB,CAC9B,UAAkB,EAClB,QAAyB,EACzB,OAAuC,IAAI;QAK3C,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE;gBAC5E,gBAAgB;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACjE,OAAO,MAAM,IAAI,CACf,QAAQ,EACR,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EACxE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IASO,KAAK,CAAC,0BAA0B,CACtC,OAAsB,EACtB,WAAqB,EACrB,OAAuC,IAAI;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YAGD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAG7E,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC;gBAC1C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;gBACtC,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAG3D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAK1D,MAAM,eAAe,GAAoB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CACvE,cAAc,EACd,OAAO,CAAC,KAAK,CACd,CAAC;YACF,MAAM,UAAU,GAAG,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YAEnE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE1D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEzC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;YAC7D,CAAC;YAGD,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YACpC,CAAC;YAKD,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;YACvE,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC;YAErE,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM;oBACrF,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM;oBACvF,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5E,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,YAAY,YAAY,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;CAEF"}
1
+ {"version":3,"file":"diagram-processor.js","sourceRoot":"","sources":["../../../src/cli/processors/diagram-processor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  import type { QueryScopeEntry, QuerySourceGroup } from './query-manifest.js';
2
2
  export type QueryScopeInput = QuerySourceGroup;
3
+ export interface PersistQueryScopesOptions {
4
+ merge?: boolean;
5
+ preferredGlobalScopeKey?: string;
6
+ }
3
7
  export declare function atomicWriteFile(filePath: string, data: string | Buffer): Promise<void>;
4
8
  export declare function generateScopeLabel(sources: string[], language: string): string;
5
9
  export declare function buildManifestEntry(scope: QueryScopeInput): QueryScopeEntry;
6
- export declare function persistQueryScopes(workDir: string, scopes: QueryScopeInput[]): Promise<QueryScopeEntry[]>;
10
+ export declare function persistQueryScopes(workDir: string, scopes: QueryScopeInput[], options?: PersistQueryScopesOptions): Promise<QueryScopeEntry[]>;
7
11
  //# sourceMappingURL=query-artifacts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-artifacts.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5F,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAgB/C,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAMf;AAYD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG9E;AAYD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAY1E;AAuCD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EAAE,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAyC5B"}
1
+ {"version":3,"file":"query-artifacts.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5F,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAgBD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5F;AAYD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG9E;AAYD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAa1E;AAuCD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,eAAe,EAAE,CAAC,CAgE5B"}
@@ -25,6 +25,7 @@ export function buildManifestEntry(scope) {
25
25
  entityCount: archJson.entities.length,
26
26
  relationCount: archJson.relations.length,
27
27
  hasAtlasExtension: !!archJson.extensions?.goAtlas,
28
+ ...(scope.role ? { role: scope.role } : {}),
28
29
  };
29
30
  }
30
31
  function selectGlobalScopeKey(entries) {
@@ -41,7 +42,7 @@ function selectGlobalScopeKey(entries) {
41
42
  return current.key.localeCompare(best.key) < 0 ? current : best;
42
43
  }).key;
43
44
  }
44
- export async function persistQueryScopes(workDir, scopes) {
45
+ export async function persistQueryScopes(workDir, scopes, options = {}) {
45
46
  const resolvedDir = workDir || path.join(process.cwd(), '.archguard');
46
47
  const queryDir = path.join(resolvedDir, 'query');
47
48
  await fs.ensureDir(queryDir);
@@ -65,11 +66,29 @@ export async function persistQueryScopes(workDir, scopes) {
65
66
  console.warn(`[query-artifacts] Failed to write scope "${scope.key}": ${message}`);
66
67
  }
67
68
  }
69
+ const existingManifest = options.merge !== false
70
+ ? await fs
71
+ .readJson(path.join(queryDir, 'manifest.json'))
72
+ .catch(() => null)
73
+ : null;
74
+ const mergedEntries = new Map();
75
+ for (const entry of existingManifest?.scopes ?? []) {
76
+ mergedEntries.set(entry.key, entry);
77
+ }
78
+ for (const entry of writtenEntries) {
79
+ mergedEntries.set(entry.key, entry);
80
+ }
81
+ const mergedList = Array.from(mergedEntries.values()).sort((a, b) => a.key.localeCompare(b.key));
82
+ const preferredGlobalScopeKey = options.preferredGlobalScopeKey && mergedEntries.has(options.preferredGlobalScopeKey)
83
+ ? options.preferredGlobalScopeKey
84
+ : existingManifest?.globalScopeKey && mergedEntries.has(existingManifest.globalScopeKey)
85
+ ? existingManifest.globalScopeKey
86
+ : selectGlobalScopeKey(mergedList);
68
87
  const manifest = {
69
88
  version: '1.0',
70
89
  generatedAt: new Date().toISOString(),
71
- globalScopeKey: selectGlobalScopeKey(writtenEntries),
72
- scopes: [...writtenEntries].sort((a, b) => a.key.localeCompare(b.key)),
90
+ globalScopeKey: preferredGlobalScopeKey,
91
+ scopes: mergedList,
73
92
  };
74
93
  const manifestPath = path.join(queryDir, 'manifest.json');
75
94
  await atomicWriteFile(manifestPath, JSON.stringify(manifest, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"query-artifacts.js","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAqB1E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,IAAqB;IAErB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,GAAG,QAAQ,QAAQ,MAAM,EAAE,CAAC;IAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAYD,MAAM,UAAU,kBAAkB,CAAC,OAAiB,EAAE,QAAgB;IACpE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,OAAO,GAAG,IAAI,KAAK,QAAQ,GAAG,CAAC;AACjC,CAAC;AAYD,MAAM,UAAU,kBAAkB,CAAC,KAAsB;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC3D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;QACrC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM;QACxC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA0B;IACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEhD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC,CAAC,CAAC,GAAG,CAAC;AACT,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,MAAyB;IAEzB,MAAM,WAAW,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,cAAc,GAAsB,EAAE,CAAC;IAE7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACtD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,eAAe,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAGzC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,SAAS,GAAG,cAAc,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACzD,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAErE,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAEb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,4CAA4C,KAAK,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAkB;QAC9B,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,cAAc,EAAE,oBAAoB,CAAC,cAAc,CAAC;QACpD,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACvE,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"query-artifacts.js","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"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"}
@@ -14,11 +14,13 @@ export interface QueryScopeEntry {
14
14
  entityCount: number;
15
15
  relationCount: number;
16
16
  hasAtlasExtension: boolean;
17
+ role?: 'primary' | 'secondary';
17
18
  }
18
19
  export interface QuerySourceGroup {
19
20
  key: string;
20
21
  sources: string[];
21
22
  archJson: ArchJSON;
22
23
  kind: 'parsed' | 'derived';
24
+ role?: 'primary' | 'secondary';
23
25
  }
24
26
  //# sourceMappingURL=query-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-manifest.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-manifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAMpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAE9B,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAG3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,aAAa,EAAE,MAAM,CAAC;IAGtB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAE/B,GAAG,EAAE,MAAM,CAAC;IAGZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"query-manifest.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-manifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAMpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAE9B,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAG3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,aAAa,EAAE,MAAM,CAAC;IAGtB,iBAAiB,EAAE,OAAO,CAAC;IAG3B,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CAChC;AAMD,MAAM,WAAW,gBAAgB;IAE/B,GAAG,EAAE,MAAM,CAAC;IAGZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAG3B,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CAChC"}
@@ -0,0 +1,22 @@
1
+ import type { DiagramConfig } from '../../types/config.js';
2
+ import type { DetectedLanguage } from './project-language-detector.js';
3
+ export type QueryRole = 'primary' | 'secondary';
4
+ export interface PlannedScope {
5
+ language: DetectedLanguage;
6
+ label: string;
7
+ role?: QueryRole;
8
+ sources: string[];
9
+ }
10
+ interface DiagramOptions {
11
+ format?: DiagramConfig['format'];
12
+ exclude?: string[];
13
+ }
14
+ export declare function planDefaultScopes(projectRoot: string): Promise<PlannedScope[]>;
15
+ export declare function planDefaultDiagrams(projectRoot: string, options?: DiagramOptions): Promise<DiagramConfig[]>;
16
+ export declare function createProjectRootLanguageDiagrams(projectRoot: string, language: DetectedLanguage, options?: DiagramOptions & {
17
+ label?: string;
18
+ role?: QueryRole;
19
+ source?: string;
20
+ }): DiagramConfig[];
21
+ export {};
22
+ //# sourceMappingURL=default-scope-planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-scope-planner.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/default-scope-planner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,gCAAgC,CAAC;AAG1F,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBpF;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC,CAG1B;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/E,aAAa,EAAE,CAYjB"}
@@ -0,0 +1,84 @@
1
+ import path from 'path';
2
+ import { detectProjectLanguages } from './project-language-detector.js';
3
+ export async function planDefaultScopes(projectRoot) {
4
+ const candidates = await detectProjectLanguages(projectRoot);
5
+ const rootCounts = new Map();
6
+ return candidates.map((candidate, index) => {
7
+ const role = index === 0 ? 'primary' : 'secondary';
8
+ const scopeRoot = selectScopeRoot(candidate, projectRoot);
9
+ const relativeRoot = path.relative(projectRoot, scopeRoot).replace(/\\/g, '/');
10
+ const isProjectRoot = !relativeRoot || relativeRoot === '';
11
+ const base = isProjectRoot ? path.basename(projectRoot) : path.basename(scopeRoot);
12
+ const rootUsage = rootCounts.get(scopeRoot) ?? 0;
13
+ rootCounts.set(scopeRoot, rootUsage + 1);
14
+ const label = isProjectRoot && role === 'primary' && rootUsage === 0
15
+ ? base
16
+ : `${base}-${candidate.language}`;
17
+ return {
18
+ language: candidate.language,
19
+ label,
20
+ role,
21
+ sources: [isProjectRoot ? '.' : relativeRoot],
22
+ };
23
+ });
24
+ }
25
+ export async function planDefaultDiagrams(projectRoot, options) {
26
+ const scopes = await planDefaultScopes(projectRoot);
27
+ return scopes.flatMap((scope) => createScopeDiagrams(scope, options));
28
+ }
29
+ export function createProjectRootLanguageDiagrams(projectRoot, language, options) {
30
+ const label = options?.label ?? path.basename(projectRoot);
31
+ const source = options?.source ?? '.';
32
+ return createScopeDiagrams({
33
+ language,
34
+ label,
35
+ role: options?.role,
36
+ sources: [source],
37
+ }, options);
38
+ }
39
+ function createScopeDiagrams(scope, options) {
40
+ const common = {
41
+ language: scope.language,
42
+ ...(options?.format !== undefined && { format: options.format }),
43
+ ...(options?.exclude !== undefined && { exclude: options.exclude }),
44
+ ...(scope.role ? { queryRole: scope.role } : {}),
45
+ };
46
+ if (scope.language === 'go') {
47
+ return [
48
+ {
49
+ ...common,
50
+ name: `${scope.label}/overview/package`,
51
+ sources: scope.sources,
52
+ level: 'package',
53
+ languageSpecific: {
54
+ atlas: {
55
+ enabled: true,
56
+ functionBodyStrategy: 'selective',
57
+ excludeTests: true,
58
+ },
59
+ },
60
+ },
61
+ ];
62
+ }
63
+ return [
64
+ {
65
+ ...common,
66
+ name: `${scope.label}/overview/package`,
67
+ sources: scope.sources,
68
+ level: 'package',
69
+ },
70
+ {
71
+ ...common,
72
+ name: `${scope.label}/class/all-classes`,
73
+ sources: scope.sources,
74
+ level: 'class',
75
+ },
76
+ ];
77
+ }
78
+ function selectScopeRoot(candidate, projectRoot) {
79
+ if (candidate.language === 'cpp' || candidate.language === 'go') {
80
+ return projectRoot;
81
+ }
82
+ return candidate.roots[0] ?? projectRoot;
83
+ }
84
+ //# sourceMappingURL=default-scope-planner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-scope-planner.js","sourceRoot":"","sources":["../../../src/cli/utils/default-scope-planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { DiagramConfig } from '../../types/config.js';
2
+ export declare function detectJavaProjectStructure(projectRoot: string, options?: {
3
+ label?: string;
4
+ format?: DiagramConfig['format'];
5
+ exclude?: string[];
6
+ }): Promise<DiagramConfig[]>;
7
+ //# sourceMappingURL=java-project-structure-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java-project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgE3D,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjF,OAAO,CAAC,aAAa,EAAE,CAAC,CA+C1B"}
@@ -0,0 +1,97 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ const JAVA_EXTENSIONS = ['.java'];
4
+ const EXCLUDED_DIRS = new Set([
5
+ '.git',
6
+ '.idea',
7
+ '.gradle',
8
+ '.settings',
9
+ 'node_modules',
10
+ 'target',
11
+ 'build',
12
+ 'dist',
13
+ '.archguard',
14
+ ]);
15
+ function isExcluded(name) {
16
+ return name.startsWith('.') || EXCLUDED_DIRS.has(name);
17
+ }
18
+ async function directoryHasJavaFiles(dir) {
19
+ let entries;
20
+ try {
21
+ entries = await fs.readdir(dir, { withFileTypes: true });
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ for (const entry of entries) {
27
+ if (entry.isFile() && JAVA_EXTENSIONS.includes(path.extname(entry.name).toLowerCase())) {
28
+ return true;
29
+ }
30
+ if (entry.isDirectory() && !isExcluded(entry.name)) {
31
+ if (await directoryHasJavaFiles(path.join(dir, entry.name))) {
32
+ return true;
33
+ }
34
+ }
35
+ }
36
+ return false;
37
+ }
38
+ async function readMavenModules(projectRoot) {
39
+ const pomPath = path.join(projectRoot, 'pom.xml');
40
+ let pom;
41
+ try {
42
+ pom = await fs.readFile(pomPath, 'utf-8');
43
+ }
44
+ catch {
45
+ return [];
46
+ }
47
+ const modules = [];
48
+ const moduleRegex = /<module>\s*([^<\s][^<]*)\s*<\/module>/g;
49
+ for (const match of pom.matchAll(moduleRegex)) {
50
+ const moduleName = match[1]?.trim();
51
+ if (moduleName) {
52
+ modules.push(moduleName);
53
+ }
54
+ }
55
+ return modules;
56
+ }
57
+ export async function detectJavaProjectStructure(projectRoot, options) {
58
+ const label = options?.label ?? path.basename(projectRoot);
59
+ const common = {
60
+ language: 'java',
61
+ ...(options?.format !== undefined && { format: options.format }),
62
+ ...(options?.exclude !== undefined && { exclude: options.exclude }),
63
+ };
64
+ const diagrams = [
65
+ {
66
+ ...common,
67
+ name: `${label}/overview/package`,
68
+ sources: [projectRoot],
69
+ level: 'package',
70
+ },
71
+ {
72
+ ...common,
73
+ name: `${label}/class/all-classes`,
74
+ sources: [projectRoot],
75
+ level: 'class',
76
+ },
77
+ ];
78
+ const modules = await readMavenModules(projectRoot);
79
+ const validModules = [];
80
+ for (const moduleName of modules) {
81
+ const moduleRoot = path.join(projectRoot, moduleName);
82
+ if (await directoryHasJavaFiles(moduleRoot)) {
83
+ validModules.push(moduleName);
84
+ }
85
+ }
86
+ validModules.sort();
87
+ return [
88
+ ...diagrams,
89
+ ...validModules.map((moduleName) => ({
90
+ ...common,
91
+ name: `${label}/class/${moduleName}`,
92
+ sources: [path.join(projectRoot, moduleName)],
93
+ level: 'class',
94
+ })),
95
+ ];
96
+ }
97
+ //# sourceMappingURL=java-project-structure-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java-project-structure-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type DetectedLanguage = 'typescript' | 'go' | 'java' | 'python' | 'cpp';
2
+ export interface LanguageCandidate {
3
+ language: DetectedLanguage;
4
+ score: number;
5
+ evidence: string[];
6
+ roots: string[];
7
+ }
8
+ export declare function detectProjectLanguages(projectRoot: string): Promise<LanguageCandidate[]>;
9
+ export declare function detectPrimaryLanguage(projectRoot: string): Promise<LanguageCandidate | null>;
10
+ //# sourceMappingURL=project-language-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-language-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-language-detector.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAgED,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAuB9F;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAGnC"}
@@ -0,0 +1,179 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ const SKIP_DIRS = new Set([
4
+ '.git',
5
+ '.archguard',
6
+ 'node_modules',
7
+ 'build',
8
+ 'dist',
9
+ 'coverage',
10
+ 'vendor',
11
+ 'third_party',
12
+ 'thirdparty',
13
+ 'target',
14
+ '__pycache__',
15
+ '.venv',
16
+ 'venv',
17
+ ]);
18
+ const LOW_PRIORITY_DIRS = new Set(['scripts', 'tests', 'test', 'examples', 'docs', 'doc', 'bench']);
19
+ const MARKERS = {
20
+ cpp: ['CMakeLists.txt', 'Makefile'],
21
+ go: ['go.mod'],
22
+ java: ['pom.xml', 'build.gradle'],
23
+ python: ['pyproject.toml', 'requirements.txt', 'setup.py', 'setup.cfg', 'Pipfile'],
24
+ typescript: ['package.json', 'tsconfig.json'],
25
+ };
26
+ const EXTENSIONS = {
27
+ cpp: ['.cpp', '.cxx', '.cc', '.hpp', '.hxx', '.h'],
28
+ go: ['.go'],
29
+ java: ['.java'],
30
+ python: ['.py'],
31
+ typescript: ['.ts', '.tsx'],
32
+ };
33
+ function createStats() {
34
+ return {
35
+ cpp: emptyStats(),
36
+ go: emptyStats(),
37
+ java: emptyStats(),
38
+ python: emptyStats(),
39
+ typescript: emptyStats(),
40
+ };
41
+ }
42
+ function emptyStats() {
43
+ return {
44
+ totalFiles: 0,
45
+ priorityFiles: 0,
46
+ markerRoots: new Map(),
47
+ markerFiles: new Set(),
48
+ sourceRoots: new Map(),
49
+ };
50
+ }
51
+ export async function detectProjectLanguages(projectRoot) {
52
+ const resolvedRoot = path.resolve(projectRoot);
53
+ const stats = createStats();
54
+ await scanDirectory(resolvedRoot, resolvedRoot, stats, 0);
55
+ const candidates = Object.keys(stats)
56
+ .map((language) => buildCandidate(language, stats[language], resolvedRoot))
57
+ .filter((candidate) => candidate !== null)
58
+ .sort((a, b) => b.score - a.score || a.language.localeCompare(b.language));
59
+ if (candidates.length > 0) {
60
+ return candidates;
61
+ }
62
+ return [
63
+ {
64
+ language: 'typescript',
65
+ score: 0,
66
+ evidence: ['fallback: no strong language markers found'],
67
+ roots: [resolvedRoot],
68
+ },
69
+ ];
70
+ }
71
+ export async function detectPrimaryLanguage(projectRoot) {
72
+ const candidates = await detectProjectLanguages(projectRoot);
73
+ return candidates[0] ?? null;
74
+ }
75
+ async function scanDirectory(currentDir, projectRoot, stats, depth) {
76
+ let entries;
77
+ try {
78
+ entries = await fs.readdir(currentDir, { withFileTypes: true });
79
+ }
80
+ catch {
81
+ return;
82
+ }
83
+ const relDir = path.relative(projectRoot, currentDir).replace(/\\/g, '/');
84
+ const lowPriority = relDir
85
+ .split('/')
86
+ .filter(Boolean)
87
+ .some((segment) => LOW_PRIORITY_DIRS.has(segment));
88
+ for (const entry of entries) {
89
+ const fullPath = path.join(currentDir, entry.name);
90
+ if (entry.isDirectory()) {
91
+ if (shouldSkipDirectory(entry.name))
92
+ continue;
93
+ await scanDirectory(fullPath, projectRoot, stats, depth + 1);
94
+ continue;
95
+ }
96
+ if (!entry.isFile())
97
+ continue;
98
+ for (const [language, markers] of Object.entries(MARKERS)) {
99
+ if (markers.includes(entry.name)) {
100
+ const markerDepth = path
101
+ .relative(projectRoot, currentDir)
102
+ .split(path.sep)
103
+ .filter(Boolean).length;
104
+ stats[language].markerRoots.set(currentDir, Math.min(stats[language].markerRoots.get(currentDir) ?? Number.MAX_SAFE_INTEGER, markerDepth));
105
+ stats[language].markerFiles.add(entry.name);
106
+ }
107
+ }
108
+ const ext = path.extname(entry.name).toLowerCase();
109
+ for (const [language, extensions] of Object.entries(EXTENSIONS)) {
110
+ if (!extensions.includes(ext))
111
+ continue;
112
+ const languageStats = stats[language];
113
+ languageStats.totalFiles += 1;
114
+ if (!lowPriority)
115
+ languageStats.priorityFiles += 1;
116
+ const rootKey = chooseSourceRoot(projectRoot, currentDir, language, depth);
117
+ languageStats.sourceRoots.set(rootKey, (languageStats.sourceRoots.get(rootKey) ?? 0) + 1);
118
+ }
119
+ }
120
+ }
121
+ function shouldSkipDirectory(name) {
122
+ return name.startsWith('.') || SKIP_DIRS.has(name) || name.startsWith('cmake-build-');
123
+ }
124
+ function chooseSourceRoot(projectRoot, currentDir, language, depth) {
125
+ if (language === 'cpp' || language === 'go' || language === 'python') {
126
+ return projectRoot;
127
+ }
128
+ if (language === 'java') {
129
+ const javaRoot = path.join(projectRoot, 'src', 'main', 'java');
130
+ if (currentDir.startsWith(javaRoot))
131
+ return javaRoot;
132
+ return projectRoot;
133
+ }
134
+ if (language === 'typescript') {
135
+ let dir = currentDir;
136
+ while (dir.startsWith(projectRoot)) {
137
+ if (fs.existsSync(path.join(dir, 'tsconfig.json')) ||
138
+ fs.existsSync(path.join(dir, 'package.json'))) {
139
+ return dir;
140
+ }
141
+ if (dir === projectRoot)
142
+ break;
143
+ dir = path.dirname(dir);
144
+ }
145
+ }
146
+ return depth <= 1 ? currentDir : projectRoot;
147
+ }
148
+ function buildCandidate(language, languageStats, projectRoot) {
149
+ const markerCount = languageStats.markerFiles.size;
150
+ const totalFiles = languageStats.totalFiles;
151
+ const priorityFiles = languageStats.priorityFiles;
152
+ if (markerCount === 0 && totalFiles === 0) {
153
+ return null;
154
+ }
155
+ const rootMarkerCount = Array.from(languageStats.markerRoots.values()).filter((depth) => depth === 0).length;
156
+ const nestedMarkerCount = markerCount - rootMarkerCount;
157
+ const score = rootMarkerCount * 40 + nestedMarkerCount * 12 + priorityFiles * 3 + totalFiles;
158
+ const roots = languageStats.markerRoots.size > 0
159
+ ? Array.from(languageStats.markerRoots.entries())
160
+ .sort((a, b) => a[1] - b[1] || a[0].localeCompare(b[0]))
161
+ .map(([root]) => root)
162
+ : Array.from(languageStats.sourceRoots.entries())
163
+ .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
164
+ .map(([root]) => root);
165
+ return {
166
+ language,
167
+ score,
168
+ evidence: [
169
+ ...(markerCount > 0
170
+ ? [`markers: ${Array.from(languageStats.markerFiles).sort().join(', ')}`]
171
+ : []),
172
+ ...(rootMarkerCount > 0 ? [`rootMarkers=${rootMarkerCount}`] : []),
173
+ `priorityFiles=${priorityFiles}`,
174
+ `totalFiles=${totalFiles}`,
175
+ ],
176
+ roots: roots.length > 0 ? roots : [projectRoot],
177
+ };
178
+ }
179
+ //# sourceMappingURL=project-language-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-language-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/project-language-detector.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { DiagramConfig } from '../../types/config.js';
2
+ export declare const DEFAULT_SOURCE_EXTENSIONS: string[];
2
3
  export declare function findSourceRoot(rootDir: string): Promise<string>;
3
- export declare function getTopLevelModules(rootDir: string, sourceRoot: string): Promise<string[]>;
4
- export declare function hasTopLevelSourceFiles(sourceRootPath: string): Promise<boolean>;
4
+ export declare function getTopLevelModules(rootDir: string, sourceRoot: string, extensions?: string[]): Promise<string[]>;
5
+ export declare function hasTopLevelSourceFiles(sourceRootPath: string, extensions?: string[]): Promise<boolean>;
5
6
  export declare function detectProjectStructure(rootDir: string, externalSourceRoot?: string): Promise<DiagramConfig[]>;
6
7
  //# sourceMappingURL=project-structure-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-structure-detector.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA0B3D,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAarE;AAWD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0B/F;AAQD,wBAAsB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBrF;AAyCD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CAmE1B"}
1
+ {"version":3,"file":"project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-structure-detector.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,eAAO,MAAM,yBAAyB,UAAiB,CAAC;AAuBxD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAarE;AAWD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,EAA8B,GAC/C,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB;AAQD,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAM,EAA8B,GAC/C,OAAO,CAAC,OAAO,CAAC,CAiBlB;AA4CD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CAmE1B"}