@lowgular/code-graph 0.0.1 → 0.1.1

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 (179) hide show
  1. package/bin/cli.js +10 -0
  2. package/code-graph-v2/code.graph.js +37 -0
  3. package/code-graph-v2/config-from-query.js +131 -0
  4. package/code-graph-v2/extractors/extractor.js +27 -0
  5. package/code-graph-v2/extractors/index.js +1 -0
  6. package/code-graph-v2/graph-builder/code-graph.builder.js +49 -0
  7. package/code-graph-v2/graph-builder/index.js +1 -0
  8. package/code-graph-v2/graph-builder/node.processor.js +22 -0
  9. package/{libs/cli/code-graph/src/lib/v2 → code-graph-v2}/graph-builder/relationship.processor.js +11 -35
  10. package/code-graph-v2/graph-builder/type.processor.js +21 -0
  11. package/code-graph-v2/index.js +4 -0
  12. package/code-graph-v2/tools/build-code-graph.tool.js +19 -0
  13. package/code-graph-v2/utils.js +34 -0
  14. package/codegular/index.js +5 -0
  15. package/codegular/node.js +71 -0
  16. package/codegular/program.js +100 -0
  17. package/{libs/core/codegular/src/lib → codegular}/string.js +6 -53
  18. package/{libs/core/codegular/src/lib → codegular}/type-checker.js +3 -40
  19. package/codegular/type.js +356 -0
  20. package/{libs/core/codegular/src/lib → codegular}/utils.js +50 -62
  21. package/cypher/index.js +1 -0
  22. package/{libs/cli/cypher/src → cypher}/lib/executor/condition-evaluator.js +2 -25
  23. package/cypher/lib/executor/executor.js +60 -0
  24. package/cypher/lib/executor/graph.js +0 -0
  25. package/{libs/cli/cypher/src → cypher}/lib/executor/match-engine.js +4 -27
  26. package/{libs/cli/cypher/src → cypher}/lib/executor/pattern-matcher.js +2 -25
  27. package/{libs/cli/cypher/src → cypher}/lib/executor/relationship-navigator.js +2 -25
  28. package/{libs/cli/cypher/src → cypher}/lib/executor/result-formatter.js +37 -31
  29. package/{libs/cli/cypher/src → cypher}/lib/executor/traverse-engine.js +4 -27
  30. package/cypher/lib/executor/utils.js +14 -0
  31. package/cypher/lib/graph.stub.js +38 -0
  32. package/cypher/lib/index.js +32 -0
  33. package/{libs/cli/cypher/src → cypher}/lib/lexer.js +4 -26
  34. package/{libs/cli/cypher/src → cypher}/lib/parser.js +119 -135
  35. package/{libs/cli/cypher/src → cypher}/lib/validator/query-validator.js +12 -32
  36. package/{libs/cli/cypher/src → cypher}/lib/validator/supported-features.config.js +2 -30
  37. package/{libs/cli/cypher/src → cypher}/lib/validator/unsupported-features.config.js +8 -34
  38. package/cypher-cli.js +41 -0
  39. package/infra/code-graph.js +147 -0
  40. package/main.js +0 -43
  41. package/package.json +25 -7
  42. package/resources-cli.js +75 -0
  43. package/run-cli.js +43 -0
  44. package/apps/code-graph/src/main.js +0 -50
  45. package/libs/cli/code-graph/src/index.js +0 -39
  46. package/libs/cli/code-graph/src/lib/class-declarations/abstractions/service.js +0 -72
  47. package/libs/cli/code-graph/src/lib/class-declarations/abstractions/service.stateful.js +0 -68
  48. package/libs/cli/code-graph/src/lib/class-declarations/class-declarations.doc.js +0 -147
  49. package/libs/cli/code-graph/src/lib/class-declarations/class-declarations.graph.js +0 -55
  50. package/libs/cli/code-graph/src/lib/class-declarations/index.js +0 -27
  51. package/libs/cli/code-graph/src/lib/code.graph.factory.js +0 -63
  52. package/libs/cli/code-graph/src/lib/code.graph.js +0 -62
  53. package/libs/cli/code-graph/src/lib/core/core.js +0 -58
  54. package/libs/cli/code-graph/src/lib/core.js +0 -85
  55. package/libs/cli/code-graph/src/lib/decorators/index.js +0 -36
  56. package/libs/cli/code-graph/src/lib/docs/index.js +0 -21
  57. package/libs/cli/code-graph/src/lib/docs/specs.js +0 -36
  58. package/libs/cli/code-graph/src/lib/expressions/call-expressions.graph.js +0 -28
  59. package/libs/cli/code-graph/src/lib/fixtures/reactive-event-bus/src/app/examples.event-bus.js +0 -53
  60. package/libs/cli/code-graph/src/lib/method-declarations/index.js +0 -23
  61. package/libs/cli/code-graph/src/lib/method-declarations/method-declarations.doc.js +0 -106
  62. package/libs/cli/code-graph/src/lib/method-declarations/method-declarations.graph.js +0 -56
  63. package/libs/cli/code-graph/src/lib/parameters/index.js +0 -42
  64. package/libs/cli/code-graph/src/lib/property-declarations/abstractions/reactive-state.evals.js +0 -139
  65. package/libs/cli/code-graph/src/lib/property-declarations/abstractions/reactive-state.js +0 -104
  66. package/libs/cli/code-graph/src/lib/property-declarations/index.js +0 -25
  67. package/libs/cli/code-graph/src/lib/property-declarations/property-declarations.doc.js +0 -74
  68. package/libs/cli/code-graph/src/lib/property-declarations/property-declarations.graph.js +0 -43
  69. package/libs/cli/code-graph/src/lib/tools/index.js +0 -34
  70. package/libs/cli/code-graph/src/lib/tools/match-code-graph.tool.js +0 -64
  71. package/libs/cli/code-graph/src/lib/types/index.js +0 -99
  72. package/libs/cli/code-graph/src/lib/v2/extractors/extractor.doc.js +0 -345
  73. package/libs/cli/code-graph/src/lib/v2/extractors/extractor.js +0 -52
  74. package/libs/cli/code-graph/src/lib/v2/extractors/index.js +0 -23
  75. package/libs/cli/code-graph/src/lib/v2/graph-builder/code-graph.builder.js +0 -76
  76. package/libs/cli/code-graph/src/lib/v2/graph-builder/index.js +0 -21
  77. package/libs/cli/code-graph/src/lib/v2/graph-builder/node.processor.js +0 -48
  78. package/libs/cli/code-graph/src/lib/v2/graph-builder/type.processor.js +0 -45
  79. package/libs/cli/code-graph/src/lib/v2/index.js +0 -37
  80. package/libs/cli/code-graph/src/lib/v2/tools/build-code-graph.doc.js +0 -220
  81. package/libs/cli/code-graph/src/lib/v2/tools/build-code-graph.tool.js +0 -42
  82. package/libs/cli/cypher/src/index.js +0 -25
  83. package/libs/cli/cypher/src/lib/docs/features/advanced-optional-match.feature.js +0 -277
  84. package/libs/cli/cypher/src/lib/docs/features/anonymous-relationship.feature.js +0 -69
  85. package/libs/cli/cypher/src/lib/docs/features/anonymous-variable-length.feature.js +0 -105
  86. package/libs/cli/cypher/src/lib/docs/features/basic-filtering.feature.js +0 -70
  87. package/libs/cli/cypher/src/lib/docs/features/basic-optional-match.feature.js +0 -99
  88. package/libs/cli/cypher/src/lib/docs/features/basic-relationship.feature.js +0 -125
  89. package/libs/cli/cypher/src/lib/docs/features/index.js +0 -51
  90. package/libs/cli/cypher/src/lib/docs/features/limit.feature.js +0 -50
  91. package/libs/cli/cypher/src/lib/docs/features/match-nodes.feature.js +0 -106
  92. package/libs/cli/cypher/src/lib/docs/features/multiple-relationship-types.feature.js +0 -105
  93. package/libs/cli/cypher/src/lib/docs/features/order-by.feature.js +0 -143
  94. package/libs/cli/cypher/src/lib/docs/features/property-matching.feature.js +0 -152
  95. package/libs/cli/cypher/src/lib/docs/features/relationship-without-variable.feature.js +0 -48
  96. package/libs/cli/cypher/src/lib/docs/features/return-statement.feature.js +0 -65
  97. package/libs/cli/cypher/src/lib/docs/features/unidirected-relationship.feature.js +0 -82
  98. package/libs/cli/cypher/src/lib/docs/features/variable-length-path.feature.js +0 -136
  99. package/libs/cli/cypher/src/lib/docs/features/where-conditional.feature.js +0 -187
  100. package/libs/cli/cypher/src/lib/docs/features/where-operators.feature.js +0 -302
  101. package/libs/cli/cypher/src/lib/docs/prompts.js +0 -36
  102. package/libs/cli/cypher/src/lib/docs/specs.js +0 -181
  103. package/libs/cli/cypher/src/lib/executor/executor.js +0 -83
  104. package/libs/cli/cypher/src/lib/executor/graph.js +0 -15
  105. package/libs/cli/cypher/src/lib/executor/utils.js +0 -37
  106. package/libs/cli/cypher/src/lib/graph.stub.js +0 -63
  107. package/libs/cli/cypher/src/lib/index.js +0 -74
  108. package/libs/cli/shared/src/index.js +0 -53
  109. package/libs/cli/shared/src/lib/admin-token.js +0 -121
  110. package/libs/cli/shared/src/lib/config.js +0 -49
  111. package/libs/cli/shared/src/lib/consts.js +0 -57
  112. package/libs/cli/shared/src/lib/core.js +0 -46
  113. package/libs/cli/shared/src/lib/infrastructure/cli.js +0 -47
  114. package/libs/cli/shared/src/lib/infrastructure/config.js +0 -47
  115. package/libs/cli/shared/src/lib/infrastructure/config.reporitory.js +0 -51
  116. package/libs/cli/shared/src/lib/infrastructure/formatters/console-formatter.js +0 -96
  117. package/libs/cli/shared/src/lib/infrastructure/formatters/index.js +0 -41
  118. package/libs/cli/shared/src/lib/infrastructure/formatters/json-formatter.js +0 -64
  119. package/libs/cli/shared/src/lib/infrastructure/formatters/markdown-formatter.js +0 -120
  120. package/libs/cli/shared/src/lib/infrastructure/formatters/types.js +0 -15
  121. package/libs/cli/shared/src/lib/infrastructure/formatters/utils.js +0 -72
  122. package/libs/cli/shared/src/lib/infrastructure/git.js +0 -147
  123. package/libs/cli/shared/src/lib/infrastructure/http.js +0 -257
  124. package/libs/cli/shared/src/lib/infrastructure/markdown.js +0 -95
  125. package/libs/cli/shared/src/lib/infrastructure/transformers/embeddings.js +0 -88
  126. package/libs/cli/shared/src/lib/infrastructure/transformers/index.js +0 -25
  127. package/libs/cli/shared/src/lib/infrastructure/transformers/rag-eval.js +0 -154
  128. package/libs/cli/shared/src/lib/infrastructure/transformers/similarity.js +0 -210
  129. package/libs/cli/shared/src/lib/infrastructure/workspace.js +0 -297
  130. package/libs/cli/shared/src/lib/infrastructure/yaml.js +0 -237
  131. package/libs/cli/shared/src/lib/lowgular.config.js +0 -120
  132. package/libs/cli/shared/src/lib/token.js +0 -135
  133. package/libs/cli/shared/src/lib/utils/solution.util.js +0 -35
  134. package/libs/cli/shared/src/lib/utils/utils.js +0 -89
  135. package/libs/cli/typescript/src/index.js +0 -21
  136. package/libs/cli/typescript/src/lib/base/index.js +0 -23
  137. package/libs/cli/typescript/src/lib/base/nameable.js +0 -34
  138. package/libs/cli/typescript/src/lib/base/nodeable.js +0 -36
  139. package/libs/cli/typescript/src/lib/class.implementation.js +0 -52
  140. package/libs/cli/typescript/src/lib/core/declaration.registry.js +0 -107
  141. package/libs/cli/typescript/src/lib/core/design-pattern.js +0 -55
  142. package/libs/cli/typescript/src/lib/core/index.js +0 -35
  143. package/libs/cli/typescript/src/lib/core/navigable-declaration.js +0 -69
  144. package/libs/cli/typescript/src/lib/core/program-context.js +0 -71
  145. package/libs/cli/typescript/src/lib/core/syntax-kind.utils.js +0 -40
  146. package/libs/cli/typescript/src/lib/core/type.js +0 -374
  147. package/libs/cli/typescript/src/lib/declaration.abstraction.js +0 -90
  148. package/libs/cli/typescript/src/lib/decorator.implementation.js +0 -35
  149. package/libs/cli/typescript/src/lib/enum.implementation.js +0 -35
  150. package/libs/cli/typescript/src/lib/function-declaration.implementation.js +0 -35
  151. package/libs/cli/typescript/src/lib/index.js +0 -57
  152. package/libs/cli/typescript/src/lib/interface.implementation.js +0 -51
  153. package/libs/cli/typescript/src/lib/members/method-abstraction.resolver.js +0 -90
  154. package/libs/cli/typescript/src/lib/members/method-declaration.implementation.js +0 -44
  155. package/libs/cli/typescript/src/lib/members/method-signature.implementation.js +0 -46
  156. package/libs/cli/typescript/src/lib/members/method.util.js +0 -32
  157. package/libs/cli/typescript/src/lib/members/parameter.implementation.js +0 -38
  158. package/libs/cli/typescript/src/lib/members/property-declaration.implementation.js +0 -64
  159. package/libs/cli/typescript/src/lib/members/property-signature.implementation.js +0 -34
  160. package/libs/cli/typescript/src/lib/members/property.util.js +0 -61
  161. package/libs/cli/typescript/src/lib/members/statements/expressions/binary-expression.implementation.js +0 -42
  162. package/libs/cli/typescript/src/lib/members/statements/expressions/call-expression.implementation.js +0 -114
  163. package/libs/cli/typescript/src/lib/members/statements/expressions/expression.abstraction.js +0 -188
  164. package/libs/cli/typescript/src/lib/members/statements/expressions/property-access-expression.implementation.js +0 -35
  165. package/libs/cli/typescript/src/lib/members/statements/expressions/unary-expression.implementation.js +0 -51
  166. package/libs/cli/typescript/src/lib/members/statements/statement.implementation.js +0 -49
  167. package/libs/cli/typescript/src/lib/members/statements/utils.js +0 -51
  168. package/libs/cli/typescript/src/lib/plugins/built-in.plugin.js +0 -258
  169. package/libs/cli/typescript/src/lib/plugins/plugin.interface.js +0 -15
  170. package/libs/cli/typescript/src/lib/plugins/rxjs.plugin.js +0 -228
  171. package/libs/cli/typescript/src/lib/plugins/signal.plugin.js +0 -126
  172. package/libs/cli/typescript/src/lib/plugins/stubs.js +0 -66
  173. package/libs/cli/typescript/src/lib/type-alias.implementation.js +0 -72
  174. package/libs/cli/typescript/src/lib/utils.js +0 -39
  175. package/libs/cli/typescript/src/lib/variable-declaration.implementation.js +0 -35
  176. package/libs/core/codegular/src/index.js +0 -21
  177. package/libs/core/codegular/src/lib/index.js +0 -29
  178. package/libs/core/codegular/src/lib/node.js +0 -112
  179. package/libs/core/codegular/src/lib/program.js +0 -92
@@ -1,72 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var service_exports = {};
19
- __export(service_exports, {
20
- SERVICE_CLASS_ABSTRACTION: () => SERVICE_CLASS_ABSTRACTION,
21
- SERVICE_CLASS_EXAMPLES: () => SERVICE_CLASS_EXAMPLES,
22
- SERVICE_CLASS_MATCH_QUERY: () => SERVICE_CLASS_MATCH_QUERY,
23
- SERVICE_STUB: () => SERVICE_STUB
24
- });
25
- module.exports = __toCommonJS(service_exports);
26
- const SERVICE_STUB = `
27
- export class DecoratorlessService { }
28
-
29
- @Injectable({ providedIn: 'root' })
30
- export class InjectableService { }
31
-
32
- `;
33
- const SERVICE_CLASS_MATCH_QUERY = `OPTIONAL MATCH (c)-[:HAS_DECORATOR]->(d:Decorator)
34
- WHERE d IS NULL OR d.name = 'Injectable'`;
35
- const SERVICE_CLASS_EXAMPLES = [
36
- {
37
- userPrompt: "Find all service classes",
38
- given: SERVICE_STUB,
39
- when: `MATCH (c:ClassDeclaration)
40
- ${SERVICE_CLASS_MATCH_QUERY}
41
- RETURN c`,
42
- then: [
43
- [
44
- {
45
- labels: ["ClassDeclaration"],
46
- name: "DecoratorlessService"
47
- }
48
- ],
49
- [
50
- {
51
- labels: ["ClassDeclaration"],
52
- name: "InjectableService"
53
- }
54
- ]
55
- ]
56
- }
57
- ];
58
- const SERVICE_CLASS_ABSTRACTION = {
59
- id: "service-class",
60
- name: "ServiceClass",
61
- schema: {},
62
- relationships: {},
63
- description: `Abstraction on top of the TypeScript ClassDeclaration that provides reusable functionality and business logic. It encapsulates operations that can be shared across multiple components or other services.`,
64
- examples: SERVICE_CLASS_EXAMPLES
65
- };
66
- // Annotate the CommonJS export names for ESM import in node:
67
- 0 && (module.exports = {
68
- SERVICE_CLASS_ABSTRACTION,
69
- SERVICE_CLASS_EXAMPLES,
70
- SERVICE_CLASS_MATCH_QUERY,
71
- SERVICE_STUB
72
- });
@@ -1,68 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var service_stateful_exports = {};
19
- __export(service_stateful_exports, {
20
- CLASS_SERVICE_STATEFUL_ABSTRACTION: () => CLASS_SERVICE_STATEFUL_ABSTRACTION,
21
- STATEFULL_SERVICE_STUB: () => STATEFULL_SERVICE_STUB,
22
- STATEFUL_SERVICE_CLASS_EXAMPLES: () => STATEFUL_SERVICE_CLASS_EXAMPLES
23
- });
24
- module.exports = __toCommonJS(service_stateful_exports);
25
- var import_core = require("../../core/core");
26
- var import_property_declarations = require("../../property-declarations");
27
- var import_service = require("./service");
28
- const STATEFULL_SERVICE_STUB = `
29
- import { Subject } from 'rxjs';
30
-
31
- ${import_service.SERVICE_STUB}
32
-
33
- @Injectable({ providedIn: 'root' })
34
- export class StatefullService {
35
- private readonly state = new Subject<number>();
36
- }
37
- `;
38
- const STATEFUL_SERVICE_CLASS_EXAMPLES = [
39
- {
40
- userPrompt: "Find all stateful service classes",
41
- given: STATEFULL_SERVICE_STUB,
42
- when: `MATCH (c:ClassDeclaration)-[:HAS_PROPERTY]->${import_property_declarations.REACTIVE_STATE_PROPERTY_MATCH_QUERY}
43
- ${import_service.SERVICE_CLASS_MATCH_QUERY}
44
- RETURN c`,
45
- then: [
46
- [
47
- {
48
- labels: ["ClassDeclaration"],
49
- name: "StatefullService"
50
- }
51
- ]
52
- ]
53
- }
54
- ];
55
- const CLASS_SERVICE_STATEFUL_ABSTRACTION = {
56
- id: "service-class-stateful",
57
- name: "Stateful Service Class",
58
- description: `Abstraction that extends ${(0, import_core.ml)(import_service.SERVICE_CLASS_ABSTRACTION)} with internal state using ${(0, import_core.ml)(import_property_declarations.REACTIVE_STATE_PROPERTY_ABSTRACTION)}`,
59
- schema: {},
60
- relationships: {},
61
- examples: STATEFUL_SERVICE_CLASS_EXAMPLES
62
- };
63
- // Annotate the CommonJS export names for ESM import in node:
64
- 0 && (module.exports = {
65
- CLASS_SERVICE_STATEFUL_ABSTRACTION,
66
- STATEFULL_SERVICE_STUB,
67
- STATEFUL_SERVICE_CLASS_EXAMPLES
68
- });
@@ -1,147 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var class_declarations_doc_exports = {};
19
- __export(class_declarations_doc_exports, {
20
- CLASS_DECLARATION_DOC: () => CLASS_DECLARATION_DOC,
21
- CLASS_DECLARATION_EDGE_TYPES: () => CLASS_DECLARATION_EDGE_TYPES,
22
- CLASS_DECLARATION_EXAMPLES: () => CLASS_DECLARATION_EXAMPLES,
23
- SNIPPETS: () => SNIPPETS
24
- });
25
- module.exports = __toCommonJS(class_declarations_doc_exports);
26
- var import_core = require("../core/core");
27
- var import_method_declarations = require("../method-declarations/method-declarations.doc");
28
- const SNIPPETS = {
29
- singleClassMultipleMemebers: `class Test {
30
- num = 1;
31
- str = 'test';
32
- bool = true;
33
-
34
- queryMethod() {
35
- return this.num;
36
- }
37
-
38
- commandMethod(param1: number) {
39
- this.num = this.num + param1;
40
- }
41
- }`,
42
- injectableClass: `@Injectable({ providedIn: 'root' })
43
- export class TestService { }`
44
- };
45
- var CLASS_DECLARATION_EDGE_TYPES = /* @__PURE__ */ ((CLASS_DECLARATION_EDGE_TYPES2) => {
46
- CLASS_DECLARATION_EDGE_TYPES2["HAS_DECORATOR"] = "HAS_DECORATOR";
47
- CLASS_DECLARATION_EDGE_TYPES2["HAS_PROPERTY"] = "HAS_PROPERTY";
48
- CLASS_DECLARATION_EDGE_TYPES2["HAS_METHOD"] = "HAS_METHOD";
49
- return CLASS_DECLARATION_EDGE_TYPES2;
50
- })(CLASS_DECLARATION_EDGE_TYPES || {});
51
- const CLASS_DECLARATION_EXAMPLES = [
52
- {
53
- userPrompt: "Find all classes",
54
- given: SNIPPETS.singleClassMultipleMemebers,
55
- when: `MATCH (classDecl:ClassDeclaration) RETURN classDecl`,
56
- then: [
57
- [
58
- {
59
- labels: ["ClassDeclaration"],
60
- name: "Test"
61
- }
62
- ]
63
- ]
64
- },
65
- {
66
- userPrompt: "Find all properties of all classes",
67
- given: SNIPPETS.singleClassMultipleMemebers,
68
- when: `MATCH (classDecl:ClassDeclaration)-[:${"HAS_PROPERTY" /* HAS_PROPERTY */}]->(propDecl:PropertyDeclaration) RETURN classDecl, propDecl`,
69
- then: [
70
- [
71
- {
72
- labels: ["ClassDeclaration"],
73
- name: "Test"
74
- },
75
- { labels: ["PropertyDeclaration"], name: "num" }
76
- ],
77
- [
78
- {
79
- labels: ["ClassDeclaration"],
80
- name: "Test"
81
- },
82
- { labels: ["PropertyDeclaration"], name: "str" }
83
- ],
84
- [
85
- {
86
- labels: ["ClassDeclaration"],
87
- name: "Test"
88
- },
89
- { labels: ["PropertyDeclaration"], name: "bool" }
90
- ]
91
- ]
92
- },
93
- {
94
- userPrompt: "Find all parameters of all methods and all classes",
95
- given: SNIPPETS.singleClassMultipleMemebers,
96
- when: `MATCH (n:ClassDeclaration)-[rel1:${"HAS_METHOD" /* HAS_METHOD */}]->(m:MethodDeclaration)-[rel2:${import_method_declarations.METHOD_DECLARATION_EDGE_TYPES.HAS_PARAMETER}]->(p:Parameter) RETURN n, m, p`,
97
- then: [
98
- [
99
- {
100
- labels: ["ClassDeclaration"],
101
- name: "Test"
102
- },
103
- {
104
- labels: ["MethodDeclaration"],
105
- name: "commandMethod"
106
- },
107
- {
108
- labels: ["Parameter"],
109
- name: "param1"
110
- }
111
- ]
112
- ]
113
- }
114
- ];
115
- const CLASS_DECLARATION_DOC = {
116
- id: "class-declaration",
117
- name: "ClassDeclaration",
118
- schema: {
119
- ...import_core.NameableSchema
120
- },
121
- relationships: {
122
- ["HAS_DECORATOR" /* HAS_DECORATOR */]: {
123
- examples: [
124
- `(c:ClassDeclaration)-[:${"HAS_DECORATOR" /* HAS_DECORATOR */}]->(d:Decorator)`
125
- ]
126
- },
127
- ["HAS_PROPERTY" /* HAS_PROPERTY */]: {
128
- examples: [
129
- `(c:ClassDeclaration)-[:${"HAS_PROPERTY" /* HAS_PROPERTY */}]->(p:PropertyDeclaration)`
130
- ]
131
- },
132
- ["HAS_METHOD" /* HAS_METHOD */]: {
133
- examples: [
134
- `(c:ClassDeclaration)-[:${"HAS_METHOD" /* HAS_METHOD */}]->(m:MethodDeclaration)`
135
- ]
136
- }
137
- },
138
- description: `The node represents TypeScript AST kind: ClassDeclaration.`,
139
- examples: CLASS_DECLARATION_EXAMPLES
140
- };
141
- // Annotate the CommonJS export names for ESM import in node:
142
- 0 && (module.exports = {
143
- CLASS_DECLARATION_DOC,
144
- CLASS_DECLARATION_EDGE_TYPES,
145
- CLASS_DECLARATION_EXAMPLES,
146
- SNIPPETS
147
- });
@@ -1,55 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var class_declarations_graph_exports = {};
19
- __export(class_declarations_graph_exports, {
20
- appendClassGraph: () => appendClassGraph
21
- });
22
- module.exports = __toCommonJS(class_declarations_graph_exports);
23
- var import_typescript = require("@cli/typescript");
24
- var import_code = require("../code.graph");
25
- var import_core = require("../core/core");
26
- var import_method_declarations = require("../method-declarations/method-declarations.graph");
27
- var import_property_declarations = require("../property-declarations/property-declarations.graph");
28
- var import_class_declarations = require("./class-declarations.doc");
29
- const ts = require("typescript");
30
- const appendClassGraph = (codeGraph, classDeclaration, context) => {
31
- const classImplementation = new import_typescript.ClassImplementation(
32
- classDeclaration,
33
- context
34
- );
35
- const classNode = (0, import_core.extendNameable)(classImplementation);
36
- (0, import_code.addNode)(codeGraph, classNode);
37
- appendClassDecoratorsGraph(codeGraph, classNode.id, classImplementation);
38
- (0, import_property_declarations.appendClassPropertiesGraph)(codeGraph, classNode.id, classImplementation);
39
- (0, import_method_declarations.appendClassMethodsGraph)(codeGraph, classNode.id, classImplementation);
40
- };
41
- const appendClassDecoratorsGraph = (codeGraph, classId, classImplementation) => {
42
- classImplementation.decorators.forEach((d) => {
43
- const decoratorNode = (0, import_core.extendNameable)(d);
44
- (0, import_code.addNode)(codeGraph, decoratorNode);
45
- (0, import_code.addEdge)(codeGraph, {
46
- source: classId,
47
- target: decoratorNode.id,
48
- type: import_class_declarations.CLASS_DECLARATION_EDGE_TYPES.HAS_DECORATOR
49
- });
50
- });
51
- };
52
- // Annotate the CommonJS export names for ESM import in node:
53
- 0 && (module.exports = {
54
- appendClassGraph
55
- });
@@ -1,27 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var class_declarations_exports = {};
16
- module.exports = __toCommonJS(class_declarations_exports);
17
- __reExport(class_declarations_exports, require("./abstractions/service"), module.exports);
18
- __reExport(class_declarations_exports, require("./abstractions/service.stateful"), module.exports);
19
- __reExport(class_declarations_exports, require("./class-declarations.doc"), module.exports);
20
- __reExport(class_declarations_exports, require("./class-declarations.graph"), module.exports);
21
- // Annotate the CommonJS export names for ESM import in node:
22
- 0 && (module.exports = {
23
- ...require("./abstractions/service"),
24
- ...require("./abstractions/service.stateful"),
25
- ...require("./class-declarations.doc"),
26
- ...require("./class-declarations.graph")
27
- });
@@ -1,63 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var code_graph_factory_exports = {};
19
- __export(code_graph_factory_exports, {
20
- makeCodeGraphFromSourceFiles: () => makeCodeGraphFromSourceFiles
21
- });
22
- module.exports = __toCommonJS(code_graph_factory_exports);
23
- var import_typescript = require("@cli/typescript");
24
- var import_codegular = require("@core/codegular");
25
- var import_class_declarations = require("./class-declarations/class-declarations.graph");
26
- const ts = require("typescript");
27
- const makeCodeGraphFromSourceFiles = (program) => {
28
- const codeGraph = {
29
- nodesById: {},
30
- edgesBySource: {},
31
- edgesByTarget: {}
32
- };
33
- const sourceFiles = (0, import_codegular.getSolutionSourceFiles)(program);
34
- const context = {
35
- typeChecker: program.getTypeChecker(),
36
- typeResolutionTracker: new import_typescript.TypeResolutionTracker(),
37
- declarationRegistry: new import_typescript.DeclarationRegistry()
38
- };
39
- const counter = {
40
- files: 0,
41
- classes: 0
42
- };
43
- sourceFiles.forEach((sourceFile) => {
44
- const classDeclarations = (0, import_codegular.findChildrenByKind)(
45
- sourceFile,
46
- ts.SyntaxKind.ClassDeclaration
47
- );
48
- counter.files++;
49
- classDeclarations.forEach((classDeclaration) => {
50
- (0, import_class_declarations.appendClassGraph)(
51
- codeGraph,
52
- classDeclaration,
53
- context
54
- );
55
- counter.classes++;
56
- });
57
- });
58
- return codeGraph;
59
- };
60
- // Annotate the CommonJS export names for ESM import in node:
61
- 0 && (module.exports = {
62
- makeCodeGraphFromSourceFiles
63
- });
@@ -1,62 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var code_graph_exports = {};
19
- __export(code_graph_exports, {
20
- addEdge: () => addEdge,
21
- addNode: () => addNode
22
- });
23
- module.exports = __toCommonJS(code_graph_exports);
24
- const ts = require("typescript");
25
- const addNode = (graph, node) => {
26
- graph.nodesById[node.id] = node;
27
- return graph;
28
- };
29
- const getEdgeKey = (edge) => {
30
- return `${edge.source}|${edge.target}|${edge.type}`;
31
- };
32
- const addEdge = (graph, edge) => {
33
- const edgeKey = getEdgeKey(edge);
34
- const sourceEdges = graph.edgesBySource[edge.source];
35
- if (sourceEdges) {
36
- const sourceEdgeKeys = new Set(sourceEdges.map(getEdgeKey));
37
- if (sourceEdgeKeys.has(edgeKey)) {
38
- return graph;
39
- }
40
- }
41
- const targetEdges = graph.edgesByTarget[edge.target];
42
- if (targetEdges) {
43
- const targetEdgeKeys = new Set(targetEdges.map(getEdgeKey));
44
- if (targetEdgeKeys.has(edgeKey)) {
45
- return graph;
46
- }
47
- }
48
- if (!graph.edgesBySource[edge.source]) {
49
- graph.edgesBySource[edge.source] = [];
50
- }
51
- graph.edgesBySource[edge.source].push(edge);
52
- if (!graph.edgesByTarget[edge.target]) {
53
- graph.edgesByTarget[edge.target] = [];
54
- }
55
- graph.edgesByTarget[edge.target].push(edge);
56
- return graph;
57
- };
58
- // Annotate the CommonJS export names for ESM import in node:
59
- 0 && (module.exports = {
60
- addEdge,
61
- addNode
62
- });
@@ -1,58 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var core_exports = {};
19
- __export(core_exports, {
20
- NameableSchema: () => NameableSchema,
21
- extendNameable: () => extendNameable,
22
- generateNodeId: () => generateNodeId,
23
- ml: () => ml
24
- });
25
- module.exports = __toCommonJS(core_exports);
26
- const generateNodeId = (node) => `${node.filePath}.${node.range.start.line}.${node.range.start.character}.${node.range.end.line}.${node.range.end.character}`;
27
- const extendNameable = (node, extraProps = {}) => {
28
- return {
29
- ...extraProps,
30
- id: generateNodeId(node),
31
- name: node.name,
32
- range: node.range,
33
- filePath: node.filePath,
34
- labels: [node.kind]
35
- };
36
- };
37
- const NameableSchema = {
38
- name: "string",
39
- filePath: "string",
40
- range: {
41
- start: {
42
- line: "number",
43
- column: "number"
44
- },
45
- end: {
46
- line: "number",
47
- column: "number"
48
- }
49
- }
50
- };
51
- const ml = (nodeDoc) => `[${nodeDoc.name}](${`codegraph://docs/${nodeDoc.id}`})`;
52
- // Annotate the CommonJS export names for ESM import in node:
53
- 0 && (module.exports = {
54
- NameableSchema,
55
- extendNameable,
56
- generateNodeId,
57
- ml
58
- });
@@ -1,85 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var core_exports = {};
19
- __export(core_exports, {
20
- extractArgumentNames: () => extractArgumentNames,
21
- extractMethodName: () => extractMethodName,
22
- extractTargetName: () => extractTargetName,
23
- generateFileRootNodeId: () => generateFileRootNodeId,
24
- generateIdByRange: () => generateIdByRange,
25
- mergeCodeGraphs: () => mergeCodeGraphs
26
- });
27
- module.exports = __toCommonJS(core_exports);
28
- const ts = require("typescript");
29
- const extractTargetName = (snippet) => {
30
- const thisMatch = snippet.match(/this\.([a-zA-Z_$][a-zA-Z0-9_$]*)\./);
31
- if (thisMatch) {
32
- return thisMatch[1];
33
- }
34
- return null;
35
- };
36
- const extractMethodName = (snippet) => {
37
- const methodMatch = snippet.match(/\.([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);
38
- if (methodMatch) {
39
- return methodMatch[1];
40
- }
41
- return null;
42
- };
43
- const extractArgumentNames = (snippet) => {
44
- const lastOpenParen = snippet.lastIndexOf("(");
45
- if (lastOpenParen === -1) {
46
- return [];
47
- }
48
- const afterParen = snippet.substring(lastOpenParen + 1);
49
- const closeParen = afterParen.indexOf(")");
50
- if (closeParen === -1) {
51
- return [];
52
- }
53
- const argsString = afterParen.substring(0, closeParen).trim();
54
- if (!argsString) {
55
- return [];
56
- }
57
- return argsString.split(",").map((arg) => arg.trim()).map((arg) => {
58
- const identifierMatch = arg.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);
59
- return identifierMatch ? identifierMatch[1] : null;
60
- }).filter((name) => name !== null);
61
- };
62
- const generateIdByRange = (prefix, node) => {
63
- const range = node.range;
64
- return `${prefix}.s${range.start.line}-${range.start.character}e${range.end.line}-${range.end.character}`;
65
- };
66
- const mergeCodeGraphs = (codeGraph, classGraph) => {
67
- Object.assign(codeGraph.nodesById, classGraph.nodesById);
68
- Object.values(classGraph.edgesBySource).flat().forEach((edge) => {
69
- if (!codeGraph.edgesBySource[edge.source]) {
70
- codeGraph.edgesBySource[edge.source] = [];
71
- }
72
- });
73
- };
74
- const generateFileRootNodeId = (node) => {
75
- return node.filePath + "@" + node.name;
76
- };
77
- // Annotate the CommonJS export names for ESM import in node:
78
- 0 && (module.exports = {
79
- extractArgumentNames,
80
- extractMethodName,
81
- extractTargetName,
82
- generateFileRootNodeId,
83
- generateIdByRange,
84
- mergeCodeGraphs
85
- });
@@ -1,36 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var decorators_exports = {};
19
- __export(decorators_exports, {
20
- DECORATOR_DOC: () => DECORATOR_DOC
21
- });
22
- module.exports = __toCommonJS(decorators_exports);
23
- const DECORATOR_DOC = {
24
- id: "decorator",
25
- name: "Decorator",
26
- schema: {
27
- name: "string"
28
- },
29
- relationships: {},
30
- description: `The node represents TypeScript AST kind: Decorator.`,
31
- examples: []
32
- };
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {
35
- DECORATOR_DOC
36
- });