tadis-analyzer 2.6.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/app/code-pattern/main.js +12 -0
- package/build/app/code-pattern/main.js.map +1 -0
- package/build/app/default/main.js +13 -0
- package/build/app/default/main.js.map +1 -0
- package/build/app/error.js +6 -0
- package/build/app/error.js.map +1 -0
- package/build/{src/config → config}/Config.module.d.ts +1 -1
- package/build/{src/config → config}/Config.module.js +7 -11
- package/build/config/Config.module.js.map +1 -0
- package/build/{src/config → config}/Config.service.js +6 -42
- package/build/config/Config.service.js.map +1 -0
- package/build/config/Config.service.test.js +25 -0
- package/build/config/Config.service.test.js.map +1 -0
- package/build/{src/deprecated-modules → deprecated-modules}/CommonTransformers.module.d.ts +2 -2
- package/build/deprecated-modules/CommonTransformers.module.js +29 -0
- package/build/deprecated-modules/CommonTransformers.module.js.map +1 -0
- package/build/{src/deprecated-modules → deprecated-modules}/Msa.module.d.ts +7 -7
- package/build/deprecated-modules/Msa.module.js +54 -0
- package/build/deprecated-modules/Msa.module.js.map +1 -0
- package/build/{src/deprecated-modules → deprecated-modules}/SourceCodeAnalysis.module.d.ts +3 -3
- package/build/deprecated-modules/SourceCodeAnalysis.module.js +31 -0
- package/build/deprecated-modules/SourceCodeAnalysis.module.js.map +1 -0
- package/build/{src/git → git}/Git.module.d.ts +2 -2
- package/build/git/Git.module.js +23 -0
- package/build/git/Git.module.js.map +1 -0
- package/build/{src/git → git}/GitStorage.controller.d.ts +2 -2
- package/build/{src/git → git}/GitStorage.controller.js +15 -17
- package/build/git/GitStorage.controller.js.map +1 -0
- package/build/git/GitStorage.controller.test.js +27 -0
- package/build/git/GitStorage.controller.test.js.map +1 -0
- package/build/{src/git → git}/GitStorage.js +17 -52
- package/build/git/GitStorage.js.map +1 -0
- package/build/{src/git → git}/GitStorage.service.d.ts +2 -2
- package/build/{src/git → git}/GitStorage.service.js +11 -12
- package/build/git/GitStorage.service.js.map +1 -0
- package/build/{src/git → git}/SourceLocationDecorator.d.ts +2 -2
- package/build/{src/git → git}/SourceLocationDecorator.js +7 -9
- package/build/git/SourceLocationDecorator.js.map +1 -0
- package/build/git/SourceLocationDecorator.test.js +33 -0
- package/build/git/SourceLocationDecorator.test.js.map +1 -0
- package/build/lib.d.ts +21 -0
- package/build/lib.js +26 -0
- package/build/lib.js.map +1 -0
- package/build/{src/model → model}/core-typed.d.ts +1 -1
- package/build/model/core-typed.js +60 -0
- package/build/model/core-typed.js.map +1 -0
- package/build/model/core-typed.test.js +28 -0
- package/build/model/core-typed.test.js.map +1 -0
- package/build/{src/model → model}/core.js +16 -44
- package/build/model/core.js.map +1 -0
- package/build/{src/model → model}/ms.d.ts +2 -2
- package/build/{src/model → model}/ms.js +16 -22
- package/build/model/ms.js.map +1 -0
- package/build/{src/model → model}/transport.d.ts +1 -1
- package/build/{src/model → model}/transport.js +1 -4
- package/build/model/transport.js.map +1 -0
- package/build/{src/model → model}/v1-legacy/model.js +14 -9
- package/build/model/v1-legacy/model.js.map +1 -0
- package/build/model/v1-legacy/v1-adapter.d.ts +3 -0
- package/build/model/v1-legacy/v1-adapter.js +41 -0
- package/build/model/v1-legacy/v1-adapter.js.map +1 -0
- package/build/model/v1-legacy/v1-adapter.test.js +65 -0
- package/build/model/v1-legacy/v1-adapter.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.d.ts +1 -1
- package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.js +14 -21
- package/build/post-processors/MicroserviceWithOutgoingExchangeMerger.js.map +1 -0
- package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.test.js +41 -43
- package/build/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/PostProcessors.module.d.ts +3 -3
- package/build/post-processors/PostProcessors.module.js +31 -0
- package/build/post-processors/PostProcessors.module.js.map +1 -0
- package/build/post-processors/PostProcessors.module.test.js +21 -0
- package/build/post-processors/PostProcessors.module.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/StaticNodeFilter.d.ts +2 -2
- package/build/{src/post-processors → post-processors}/StaticNodeFilter.js +11 -45
- package/build/post-processors/StaticNodeFilter.js.map +1 -0
- package/build/post-processors/StaticNodeFilter.test.js +34 -0
- package/build/post-processors/StaticNodeFilter.test.js.map +1 -0
- package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.d.ts +2 -2
- package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.js +16 -18
- package/build/post-processors/SubSystemFromPayloadTransformer.js.map +1 -0
- package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.test.js +21 -23
- package/build/post-processors/SubSystemFromPayloadTransformer.test.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/ISystemAssembler.d.ts +1 -1
- package/build/system-assemblers/controllers/ISystemAssembler.js +2 -0
- package/build/system-assemblers/controllers/ISystemAssembler.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.controller.d.ts +2 -2
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.controller.js +22 -24
- package/build/system-assemblers/controllers/SystemAssembler.controller.js.map +1 -0
- package/build/system-assemblers/controllers/SystemAssembler.controller.test.js +50 -0
- package/build/system-assemblers/controllers/SystemAssembler.controller.test.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.module.d.ts +3 -3
- package/build/system-assemblers/controllers/SystemAssembler.module.js +23 -0
- package/build/system-assemblers/controllers/SystemAssembler.module.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.service.d.ts +2 -2
- package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.service.js +6 -9
- package/build/system-assemblers/controllers/SystemAssembler.service.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.d.ts +1 -1
- package/build/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js +42 -0
- package/build/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js.map +1 -0
- package/build/{src/system-assemblers → system-assemblers}/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.d.ts +5 -5
- package/build/{src/system-assemblers → system-assemblers}/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js +19 -18
- package/build/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/env-variables/EnvVariables.module.d.ts +1 -1
- package/build/system-element-extractors/env-variables/EnvVariables.module.js +21 -0
- package/build/system-element-extractors/env-variables/EnvVariables.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/env-variables/ExchangesFromEnvPayloadCreator.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/env-variables/ExchangesFromEnvPayloadCreator.js +11 -13
- package/build/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js.map +1 -0
- package/build/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js +54 -0
- package/build/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/CodePattern.module.d.ts +1 -1
- package/build/system-element-extractors/experimental/code-pattern/CodePattern.module.js +22 -0
- package/build/system-element-extractors/experimental/code-pattern/CodePattern.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.controller.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.controller.js +15 -17
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.js +43 -72
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.multiFile.test.js +32 -30
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.service.d.ts +4 -4
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.service.js +15 -16
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/PatternAnalyzer.singleFile.test.js +47 -48
- package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js.map +1 -0
- package/build/system-element-extractors/experimental/code-pattern/behavior-model.js +2 -0
- package/build/system-element-extractors/experimental/code-pattern/behavior-model.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/model.js +2 -5
- package/build/system-element-extractors/experimental/code-pattern/model.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/prototyping/pattern-dsl.js +2 -1
- package/build/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/prototyping/regexp-test.js +2 -1
- package/build/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/java/Java.module.d.ts +1 -1
- package/build/system-element-extractors/java/Java.module.js +22 -0
- package/build/system-element-extractors/java/Java.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/java/JavaAnnotationAnalyzer.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/java/JavaAnnotationAnalyzer.js +15 -50
- package/build/system-element-extractors/java/JavaAnnotationAnalyzer.js.map +1 -0
- package/build/system-element-extractors/java/JavaAnnotationAnalyzer.test.js +85 -0
- package/build/system-element-extractors/java/JavaAnnotationAnalyzer.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/Kubernetes.module.d.ts +4 -4
- package/build/system-element-extractors/kubernetes/Kubernetes.module.js +36 -0
- package/build/system-element-extractors/kubernetes/Kubernetes.module.js.map +1 -0
- package/build/system-element-extractors/kubernetes/api/api.service.js +51 -0
- package/build/system-element-extractors/kubernetes/api/api.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/EnvDefinitionFromPodDecorator.d.ts +3 -3
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js +57 -0
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js.map +1 -0
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js +31 -0
- package/build/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/LabelsFromDeploymentDecorator.d.ts +3 -3
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js +59 -0
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js.map +1 -0
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js +29 -0
- package/build/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/MicroservicesFromKubernetesCreator.d.ts +3 -3
- package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/MicroservicesFromKubernetesCreator.js +14 -15
- package/build/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js.map +1 -0
- package/build/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js +37 -0
- package/build/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/RabbitMq.module.d.ts +3 -3
- package/build/system-element-extractors/rabbitmq/RabbitMq.module.js +32 -0
- package/build/system-element-extractors/rabbitmq/RabbitMq.module.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/api/api.service.d.ts +1 -1
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/api/api.service.js +12 -14
- package/build/system-element-extractors/rabbitmq/api/api.service.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js +15 -50
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js.map +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.d.ts +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js +42 -0
- package/build/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.d.ts +3 -3
- package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js +17 -50
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js.map +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.d.ts +1 -0
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js +107 -0
- package/build/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/FeignClientAnnotationAnalyzer.d.ts +2 -2
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/FeignClientAnnotationAnalyzer.js +16 -51
- package/build/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js.map +1 -0
- package/build/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.d.ts +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/FeignClientAnnotationAnalyzer.test.js +20 -17
- package/build/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js.map +1 -0
- package/build/{src/system-element-extractors → system-element-extractors}/spring-boot/SpringBoot.module.d.ts +1 -1
- package/build/system-element-extractors/spring-boot/SpringBoot.module.js +21 -0
- package/build/system-element-extractors/spring-boot/SpringBoot.module.js.map +1 -0
- package/build/{src/test → test}/verifiers.d.ts +1 -2
- package/build/test/verifiers.js +14 -0
- package/build/test/verifiers.js.map +1 -0
- package/build/{src/utils → utils}/files/analysis.js +6 -45
- package/build/utils/files/analysis.js.map +1 -0
- package/package.json +22 -42
- package/build/src/app/code-pattern/main.js +0 -14
- package/build/src/app/code-pattern/main.js.map +0 -1
- package/build/src/app/default/main.js +0 -15
- package/build/src/app/default/main.js.map +0 -1
- package/build/src/app/error.js +0 -10
- package/build/src/app/error.js.map +0 -1
- package/build/src/config/Config.module.js.map +0 -1
- package/build/src/config/Config.service.js.map +0 -1
- package/build/src/config/Config.service.test.js +0 -33
- package/build/src/config/Config.service.test.js.map +0 -1
- package/build/src/deprecated-modules/CommonTransformers.module.js +0 -34
- package/build/src/deprecated-modules/CommonTransformers.module.js.map +0 -1
- package/build/src/deprecated-modules/Msa.module.js +0 -63
- package/build/src/deprecated-modules/Msa.module.js.map +0 -1
- package/build/src/deprecated-modules/SourceCodeAnalysis.module.js +0 -70
- package/build/src/deprecated-modules/SourceCodeAnalysis.module.js.map +0 -1
- package/build/src/git/Git.module.js +0 -28
- package/build/src/git/Git.module.js.map +0 -1
- package/build/src/git/GitStorage.controller.js.map +0 -1
- package/build/src/git/GitStorage.controller.test.js +0 -30
- package/build/src/git/GitStorage.controller.test.js.map +0 -1
- package/build/src/git/GitStorage.js.map +0 -1
- package/build/src/git/GitStorage.service.js.map +0 -1
- package/build/src/git/SourceLocationDecorator.js.map +0 -1
- package/build/src/git/SourceLocationDecorator.test.js +0 -35
- package/build/src/git/SourceLocationDecorator.test.js.map +0 -1
- package/build/src/lib.d.ts +0 -21
- package/build/src/lib.js +0 -67
- package/build/src/lib.js.map +0 -1
- package/build/src/model/core-typed.js +0 -99
- package/build/src/model/core-typed.js.map +0 -1
- package/build/src/model/core-typed.test.js +0 -29
- package/build/src/model/core-typed.test.js.map +0 -1
- package/build/src/model/core.js.map +0 -1
- package/build/src/model/ms.js.map +0 -1
- package/build/src/model/transport.js.map +0 -1
- package/build/src/model/v1-legacy/model.js.map +0 -1
- package/build/src/model/v1-legacy/v1-adapter.d.ts +0 -3
- package/build/src/model/v1-legacy/v1-adapter.js +0 -77
- package/build/src/model/v1-legacy/v1-adapter.js.map +0 -1
- package/build/src/model/v1-legacy/v1-adapter.test.js +0 -66
- package/build/src/model/v1-legacy/v1-adapter.test.js.map +0 -1
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.js.map +0 -1
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js.map +0 -1
- package/build/src/post-processors/PostProcessors.module.js +0 -37
- package/build/src/post-processors/PostProcessors.module.js.map +0 -1
- package/build/src/post-processors/PostProcessors.module.test.js +0 -23
- package/build/src/post-processors/PostProcessors.module.test.js.map +0 -1
- package/build/src/post-processors/StaticNodeFilter.js.map +0 -1
- package/build/src/post-processors/StaticNodeFilter.test.js +0 -36
- package/build/src/post-processors/StaticNodeFilter.test.js.map +0 -1
- package/build/src/post-processors/SubSystemFromPayloadTransformer.js.map +0 -1
- package/build/src/post-processors/SubSystemFromPayloadTransformer.test.js.map +0 -1
- package/build/src/system-assemblers/controllers/ISystemAssembler.js +0 -3
- package/build/src/system-assemblers/controllers/ISystemAssembler.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js +0 -54
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.module.js +0 -28
- package/build/src/system-assemblers/controllers/SystemAssembler.module.js.map +0 -1
- package/build/src/system-assemblers/controllers/SystemAssembler.service.js.map +0 -1
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js +0 -46
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js.map +0 -1
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js.map +0 -1
- package/build/src/system-element-extractors/env-variables/EnvVariables.module.js +0 -25
- package/build/src/system-element-extractors/env-variables/EnvVariables.module.js.map +0 -1
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js.map +0 -1
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.d.ts +0 -1
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js +0 -56
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js +0 -26
- package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js +0 -3
- package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/model.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.d.ts +0 -8
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js.map +0 -1
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.d.ts +0 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js.map +0 -1
- package/build/src/system-element-extractors/java/Java.module.js +0 -26
- package/build/src/system-element-extractors/java/Java.module.js.map +0 -1
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js +0 -85
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js +0 -43
- package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/api/api.service.js +0 -88
- package/build/src/system-element-extractors/kubernetes/api/api.service.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js +0 -90
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js +0 -32
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js +0 -92
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js +0 -30
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js.map +0 -1
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js +0 -38
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js +0 -38
- package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/api/api.service.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js +0 -43
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js +0 -121
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js.map +0 -1
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js.map +0 -1
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js.map +0 -1
- package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js +0 -25
- package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js.map +0 -1
- package/build/src/test/expect-extensions.d.ts +0 -6
- package/build/src/test/expect-extensions.js +0 -20
- package/build/src/test/expect-extensions.js.map +0 -1
- package/build/src/test/verifiers.js +0 -18
- package/build/src/test/verifiers.js.map +0 -1
- package/build/src/utils/files/analysis.js.map +0 -1
- /package/build/{src/app → app}/code-pattern/main.d.ts +0 -0
- /package/build/{src/app → app}/default/main.d.ts +0 -0
- /package/build/{src/app → app}/error.d.ts +0 -0
- /package/build/{src/config → config}/Config.service.d.ts +0 -0
- /package/build/{src/config → config}/Config.service.test.d.ts +0 -0
- /package/build/{src/git → git}/GitStorage.controller.test.d.ts +0 -0
- /package/build/{src/git → git}/GitStorage.d.ts +0 -0
- /package/build/{src/git → git}/SourceLocationDecorator.test.d.ts +0 -0
- /package/build/{src/model → model}/core-typed.test.d.ts +0 -0
- /package/build/{src/model → model}/core.d.ts +0 -0
- /package/build/{src/model → model}/v1-legacy/model.d.ts +0 -0
- /package/build/{src/model → model}/v1-legacy/v1-adapter.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/MicroserviceWithOutgoingExchangeMerger.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/PostProcessors.module.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/StaticNodeFilter.test.d.ts +0 -0
- /package/build/{src/post-processors → post-processors}/SubSystemFromPayloadTransformer.test.d.ts +0 -0
- /package/build/{src/system-assemblers → system-assemblers}/controllers/SystemAssembler.controller.test.d.ts +0 -0
- /package/build/{src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.d.ts → system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.d.ts → system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/experimental/code-pattern/behavior-model.d.ts → system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/java/JavaAnnotationAnalyzer.test.d.ts → system-element-extractors/experimental/code-pattern/behavior-model.d.ts} +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/experimental/code-pattern/model.d.ts +0 -0
- /package/build/{src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.d.ts → system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.d.ts} +0 -0
- /package/build/{src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.d.ts → system-element-extractors/experimental/code-pattern/prototyping/regexp-test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.d.ts → system-element-extractors/java/JavaAnnotationAnalyzer.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/api/api.service.d.ts +0 -0
- /package/build/{src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.d.ts → system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.d.ts → system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.d.ts → system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.d.ts} +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/testdata/api/deployments.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/testdata/api/pods.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/kubernetes/transformer/testdata/api/services.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/testdata/api/bindings.json +0 -0
- /package/build/{src/system-element-extractors → system-element-extractors}/rabbitmq/transformer/testdata/api/queues.json +0 -0
- /package/build/{src/utils → utils}/files/analysis.d.ts +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from '@nestjs/common';
|
|
8
|
+
import { ConfigModule } from '../../config/Config.module.js';
|
|
9
|
+
import { ExchangesFromEnvPayloadCreator } from './ExchangesFromEnvPayloadCreator.js';
|
|
10
|
+
let EnvVariablesModule = class EnvVariablesModule {
|
|
11
|
+
};
|
|
12
|
+
EnvVariablesModule = __decorate([
|
|
13
|
+
Module({
|
|
14
|
+
imports: [ConfigModule],
|
|
15
|
+
controllers: [],
|
|
16
|
+
providers: [ExchangesFromEnvPayloadCreator],
|
|
17
|
+
exports: [ExchangesFromEnvPayloadCreator]
|
|
18
|
+
})
|
|
19
|
+
], EnvVariablesModule);
|
|
20
|
+
export { EnvVariablesModule, ExchangesFromEnvPayloadCreator };
|
|
21
|
+
//# sourceMappingURL=EnvVariables.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvVariables.module.js","sourceRoot":"","sources":["../../../src/system-element-extractors/env-variables/EnvVariables.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAQpF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,kBAAkB;IANvB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,CAAC,8BAA8B,CAAC;QAC3C,OAAO,EAAE,CAAC,8BAA8B,CAAC;KAC1C,CAAC;GACI,kBAAkB,CAAG;AAE3B,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ConfigService } from '../../config/Config.service';
|
|
2
|
-
import { System } from '../../model/ms';
|
|
1
|
+
import { ConfigService } from '../../config/Config.service.js';
|
|
2
|
+
import { System } from '../../model/ms.js';
|
|
3
3
|
export declare class ExchangesFromEnvPayloadCreator {
|
|
4
4
|
private readonly config;
|
|
5
5
|
private readonly logger;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -9,18 +8,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
10
|
var ExchangesFromEnvPayloadCreator_1;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const Config_service_1 = require("../../config/Config.service");
|
|
16
|
-
const ms_1 = require("../../model/ms");
|
|
11
|
+
import { Injectable, Logger } from '@nestjs/common';
|
|
12
|
+
import { ConfigService } from '../../config/Config.service.js';
|
|
13
|
+
import { AsyncEventFlow } from '../../model/ms.js';
|
|
17
14
|
const exchangeEnvNameMustInclude = 'EXCHANGE';
|
|
18
15
|
const outgoingEnvNameMustInclude = 'OUTGOING';
|
|
19
16
|
const incomingEnvNameMustInclude = 'INCOMING';
|
|
20
17
|
let ExchangesFromEnvPayloadCreator = ExchangesFromEnvPayloadCreator_1 = class ExchangesFromEnvPayloadCreator {
|
|
18
|
+
config;
|
|
19
|
+
logger = new Logger(ExchangesFromEnvPayloadCreator_1.name);
|
|
21
20
|
constructor(config) {
|
|
22
21
|
this.config = config;
|
|
23
|
-
this.logger = new common_1.Logger(ExchangesFromEnvPayloadCreator_1.name);
|
|
24
22
|
}
|
|
25
23
|
/**
|
|
26
24
|
* looks for env vars that configure an exchange and adds corresponding system nodes.
|
|
@@ -40,13 +38,13 @@ let ExchangesFromEnvPayloadCreator = ExchangesFromEnvPayloadCreator_1 = class Ex
|
|
|
40
38
|
};
|
|
41
39
|
if (envEntry.name.includes(outgoingEnvNameMustInclude)) {
|
|
42
40
|
const outgoingExchange = system.addMessageExchange(envEntry.value, undefined, metadata);
|
|
43
|
-
const edge = new
|
|
41
|
+
const edge = new AsyncEventFlow(service, outgoingExchange, undefined, metadata);
|
|
44
42
|
system.edges.push(edge);
|
|
45
43
|
this.logger.log(`added outgoing exchange ${envEntry.value} for service ${service.getPayload().name}`);
|
|
46
44
|
}
|
|
47
45
|
if (envEntry.name.includes(incomingEnvNameMustInclude)) {
|
|
48
46
|
const incomingExchange = system.addMessageExchange(envEntry.value, undefined, metadata);
|
|
49
|
-
const eventFlow = new
|
|
47
|
+
const eventFlow = new AsyncEventFlow(incomingExchange, service, undefined, metadata);
|
|
50
48
|
system.edges.push(eventFlow);
|
|
51
49
|
this.logger.log(`added incoming exchange ${envEntry.value} for service ${service.getPayload().name}`);
|
|
52
50
|
}
|
|
@@ -56,9 +54,9 @@ let ExchangesFromEnvPayloadCreator = ExchangesFromEnvPayloadCreator_1 = class Ex
|
|
|
56
54
|
return system;
|
|
57
55
|
}
|
|
58
56
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
(
|
|
62
|
-
__metadata("design:paramtypes", [Config_service_1.ConfigService])
|
|
57
|
+
ExchangesFromEnvPayloadCreator = ExchangesFromEnvPayloadCreator_1 = __decorate([
|
|
58
|
+
Injectable(),
|
|
59
|
+
__metadata("design:paramtypes", [ConfigService])
|
|
63
60
|
], ExchangesFromEnvPayloadCreator);
|
|
61
|
+
export { ExchangesFromEnvPayloadCreator };
|
|
64
62
|
//# sourceMappingURL=ExchangesFromEnvPayloadCreator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExchangesFromEnvPayloadCreator.js","sourceRoot":"","sources":["../../../src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAG1D,MAAM,0BAA0B,GAAG,UAAU,CAAA;AAC7C,MAAM,0BAA0B,GAAG,UAAU,CAAA;AAC7C,MAAM,0BAA0B,GAAG,UAAU,CAAA;AAGtC,IAAM,8BAA8B,sCAApC,MAAM,8BAA8B;IAGZ;IAFZ,MAAM,GAAG,IAAI,MAAM,CAAC,gCAA8B,CAAC,IAAI,CAAC,CAAA;IAEzE,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,MAAc;QACnC,MAAM,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,CAAA;YACpC,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG;qBACA,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACnB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CACnD;qBACA,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACpB,MAAM,QAAQ,GAAa;wBACzB,WAAW,EAAE,gCAA8B,CAAC,IAAI;wBAChD,OAAO,EAAE,eAAe,GAAG,QAAQ,CAAC,IAAI;qBACzC,CAAA;oBAED,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;wBACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAChD,QAAQ,CAAC,KAAK,EACd,SAAS,EACT,QAAQ,CACT,CAAA;wBACD,MAAM,IAAI,GAAG,IAAI,cAAc,CAC7B,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,QAAQ,CACT,CAAA;wBACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2BAA2B,QAAQ,CAAC,KAAK,gBACvC,OAAO,CAAC,UAAU,EAAE,CAAC,IACvB,EAAE,CACH,CAAA;oBACH,CAAC;oBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;wBACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAChD,QAAQ,CAAC,KAAK,EACd,SAAS,EACT,QAAQ,CACT,CAAA;wBACD,MAAM,SAAS,GAAG,IAAI,cAAc,CAClC,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,QAAQ,CACT,CAAA;wBACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2BAA2B,QAAQ,CAAC,KAAK,gBACvC,OAAO,CAAC,UAAU,EAAE,CAAC,IACvB,EAAE,CACH,CAAA;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;YACN,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAnEY,8BAA8B;IAD1C,UAAU,EAAE;qCAI0B,aAAa;GAHvC,8BAA8B,CAmE1C"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Test } from '@nestjs/testing';
|
|
2
|
+
import { verifyEachContentHasTransformer } from '../../test/verifiers.js';
|
|
3
|
+
import { ConfigService } from '../../config/Config.service.js';
|
|
4
|
+
import { ExchangesFromEnvPayloadCreator } from './ExchangesFromEnvPayloadCreator.js';
|
|
5
|
+
import { System } from '../../model/ms.js';
|
|
6
|
+
import { describe, it, beforeAll, expect } from 'vitest';
|
|
7
|
+
describe(ExchangesFromEnvPayloadCreator.name, () => {
|
|
8
|
+
let app;
|
|
9
|
+
beforeAll(async () => {
|
|
10
|
+
app = await Test.createTestingModule({
|
|
11
|
+
controllers: [],
|
|
12
|
+
providers: [ConfigService, ExchangesFromEnvPayloadCreator]
|
|
13
|
+
}).compile();
|
|
14
|
+
});
|
|
15
|
+
it('transforms', async () => {
|
|
16
|
+
const inputSystem = new System('test');
|
|
17
|
+
const service = inputSystem.addMicroService('test-microservice', { p: 1 }, { context: "test", transformer: ExchangesFromEnvPayloadCreator.name });
|
|
18
|
+
service.getPayload().env = [
|
|
19
|
+
{
|
|
20
|
+
name: 'OUTGOING_EXCHANGE',
|
|
21
|
+
value: 'test-outgoing-exchange'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'OUTGOING_ROUTING_KEY',
|
|
25
|
+
value: 'test.outgoing.publish.update'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'EXCHANGE_INCOMING',
|
|
29
|
+
value: 'test-incoming-exchange'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'ROUTING_KEY_INCOMING',
|
|
33
|
+
value: 'test.incoming.publish.update'
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
const envExchangesService = app.get(ExchangesFromEnvPayloadCreator);
|
|
37
|
+
const outputSystem = await envExchangesService.transform(inputSystem);
|
|
38
|
+
expect(outputSystem).to.not.be.null;
|
|
39
|
+
expect(outputSystem.nodes).to.have.lengthOf(3);
|
|
40
|
+
expect(outputSystem.getMicroServices()).to.have.lengthOf(1);
|
|
41
|
+
expect(outputSystem.getMessageExchanges()).to.have.lengthOf(2);
|
|
42
|
+
expect(outputSystem.findMessageExchange('test-outgoing-exchange')).to.not.be.undefined;
|
|
43
|
+
expect(outputSystem.findMessageExchange('test-incoming-exchange').content
|
|
44
|
+
?.metadata?.transformer).to.equal(ExchangesFromEnvPayloadCreator.name);
|
|
45
|
+
verifyEachContentHasTransformer(outputSystem, ExchangesFromEnvPayloadCreator.name);
|
|
46
|
+
expect(outputSystem.edges).to.have.lengthOf(2);
|
|
47
|
+
expect(outputSystem.edges.filter((edge) => edge.content?.type !== undefined)).to.have.lengthOf(2);
|
|
48
|
+
expect(outputSystem.edges[0].source.id).to.equal(outputSystem.findMicroService('test-microservice').id);
|
|
49
|
+
expect(outputSystem.edges[0].target.id).to.equal(outputSystem.findMessageExchange('test-outgoing-exchange').id);
|
|
50
|
+
expect(outputSystem.edges[1].source.id).to.equal(outputSystem.findMessageExchange('test-incoming-exchange').id);
|
|
51
|
+
expect(outputSystem.edges[1].target.id).to.equal(outputSystem.findMicroService('test-microservice').id);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=ExchangesFromEnvPayloadCreator.test.js.map
|
package/build/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExchangesFromEnvPayloadCreator.test.js","sourceRoot":"","sources":["../../../src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEpF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAExD,QAAQ,CAAC,8BAA8B,CAAC,IAAI,EAAE,GAAG,EAAE;IACjD,IAAI,GAAkB,CAAA;IAEtB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACnC,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,CAAC,aAAa,EAAE,8BAA8B,CAAC;SAC3D,CAAC,CAAC,OAAO,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,8BAA8B,CAAC,IAAI,EAAC,CAAC,CAAA;QAC/I,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,GAAG;YACzB;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,wBAAwB;aAChC;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,8BAA8B;aACtC;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,wBAAwB;aAChC;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,8BAA8B;aACtC;SACF,CAAA;QAED,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG,CACjC,8BAA8B,CAC/B,CAAA;QACD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAErE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAA;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC9D,MAAM,CACJ,YAAY,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAC3D,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAA;QACrB,MAAM,CACJ,YAAY,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,OAAO;YAChE,EAAE,QAAQ,EAAE,WAAW,CAC1B,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAA;QAE/C,+BAA+B,CAC7B,YAAY,EACZ,8BAA8B,CAAC,IAAI,CACpC,CAAA;QAED,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,CACJ,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CACtE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAErB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9C,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,EAAE,CACtD,CAAA;QACD,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9C,YAAY,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAC9D,CAAA;QAED,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9C,YAAY,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAC9D,CAAA;QACD,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9C,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,EAAE,CACtD,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from '@nestjs/common';
|
|
8
|
+
import { ConfigModule } from '../../../config/Config.module.js';
|
|
9
|
+
import { PatternAnalyzerService } from './PatternAnalyzer.service.js';
|
|
10
|
+
import { PatternAnalyzerController } from './PatternAnalyzer.controller.js';
|
|
11
|
+
let CodePatternModule = class CodePatternModule {
|
|
12
|
+
};
|
|
13
|
+
CodePatternModule = __decorate([
|
|
14
|
+
Module({
|
|
15
|
+
imports: [ConfigModule],
|
|
16
|
+
controllers: [PatternAnalyzerController],
|
|
17
|
+
providers: [PatternAnalyzerService],
|
|
18
|
+
exports: [PatternAnalyzerService]
|
|
19
|
+
})
|
|
20
|
+
], CodePatternModule);
|
|
21
|
+
export { CodePatternModule, PatternAnalyzerService };
|
|
22
|
+
//# sourceMappingURL=CodePattern.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodePattern.module.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/experimental/code-pattern/CodePattern.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAQ3E,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IANtB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,WAAW,EAAE,CAAC,yBAAyB,CAAC;QACxC,SAAS,EAAE,CAAC,sBAAsB,CAAC;QACnC,OAAO,EAAE,CAAC,sBAAsB,CAAC;KAClC,CAAC;GACI,iBAAiB,CAAG;AAE1B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PatternAnalyzerService } from './PatternAnalyzer.service';
|
|
2
|
-
import { SystemPattern } from './model';
|
|
1
|
+
import { PatternAnalyzerService } from './PatternAnalyzer.service.js';
|
|
2
|
+
import { SystemPattern } from './model.js';
|
|
3
3
|
export declare class PatternAnalyzerController {
|
|
4
4
|
private readonly patternAnalyzer;
|
|
5
5
|
constructor(patternAnalyzer: PatternAnalyzerService);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -11,44 +10,43 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const transport_1 = require("../../../model/transport");
|
|
19
|
-
const PatternAnalyzer_service_1 = require("./PatternAnalyzer.service");
|
|
13
|
+
import { Get, Controller, Query, Post, Body } from '@nestjs/common';
|
|
14
|
+
import { adaptToV1 } from '../../../model/v1-legacy/v1-adapter.js';
|
|
15
|
+
import { convertCoreToTransportNode } from '../../../model/transport.js';
|
|
16
|
+
import { PatternAnalyzerService } from './PatternAnalyzer.service.js';
|
|
20
17
|
let PatternAnalyzerController = class PatternAnalyzerController {
|
|
18
|
+
patternAnalyzer;
|
|
21
19
|
constructor(patternAnalyzer) {
|
|
22
20
|
this.patternAnalyzer = patternAnalyzer;
|
|
23
21
|
}
|
|
24
22
|
async getSystem(version) {
|
|
25
23
|
const system = await this.patternAnalyzer.getSystem();
|
|
26
24
|
if (version === '1') {
|
|
27
|
-
return
|
|
25
|
+
return adaptToV1(system);
|
|
28
26
|
}
|
|
29
|
-
return
|
|
27
|
+
return convertCoreToTransportNode(system);
|
|
30
28
|
}
|
|
31
29
|
async updatePattern(systemPattern) {
|
|
32
30
|
this.patternAnalyzer.updateSystemPattern(systemPattern);
|
|
33
31
|
}
|
|
34
32
|
};
|
|
35
|
-
exports.PatternAnalyzerController = PatternAnalyzerController;
|
|
36
33
|
__decorate([
|
|
37
|
-
|
|
38
|
-
__param(0,
|
|
34
|
+
Get('system'),
|
|
35
|
+
__param(0, Query('version')),
|
|
39
36
|
__metadata("design:type", Function),
|
|
40
37
|
__metadata("design:paramtypes", [String]),
|
|
41
38
|
__metadata("design:returntype", Promise)
|
|
42
39
|
], PatternAnalyzerController.prototype, "getSystem", null);
|
|
43
40
|
__decorate([
|
|
44
|
-
|
|
45
|
-
__param(0,
|
|
41
|
+
Post('pattern'),
|
|
42
|
+
__param(0, Body()),
|
|
46
43
|
__metadata("design:type", Function),
|
|
47
44
|
__metadata("design:paramtypes", [Object]),
|
|
48
45
|
__metadata("design:returntype", Promise)
|
|
49
46
|
], PatternAnalyzerController.prototype, "updatePattern", null);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
__metadata("design:paramtypes", [
|
|
47
|
+
PatternAnalyzerController = __decorate([
|
|
48
|
+
Controller('pattern-analyzer'),
|
|
49
|
+
__metadata("design:paramtypes", [PatternAnalyzerService])
|
|
53
50
|
], PatternAnalyzerController);
|
|
51
|
+
export { PatternAnalyzerController };
|
|
54
52
|
//# sourceMappingURL=PatternAnalyzer.controller.js.map
|
package/build/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternAnalyzer.controller.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,GAAG,EACH,UAAU,EAEV,KAAK,EAEL,IAAI,EACJ,IAAI,EACL,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAI9D,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACP;IAA7B,YAA6B,eAAuC;QAAvC,oBAAe,GAAf,eAAe,CAAwB;IAAG,CAAC;IAGlE,AAAN,KAAK,CAAC,SAAS,CAAmB,OAAe;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAA;QAErD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CAAS,aAA4B;QACtD,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAdO;IADL,GAAG,CAAC,QAAQ,CAAC;IACG,WAAA,KAAK,CAAC,SAAS,CAAC,CAAA;;;;0DAQhC;AAGK;IADL,IAAI,CAAC,SAAS,CAAC;IACK,WAAA,IAAI,EAAE,CAAA;;;;8DAE1B;AAjBU,yBAAyB;IADrC,UAAU,CAAC,kBAAkB,CAAC;qCAEiB,sBAAsB;GADzD,yBAAyB,CAkBrC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SystemPattern } from './model';
|
|
2
|
-
import { System } from '../../../model/ms';
|
|
1
|
+
import { SystemPattern } from './model.js';
|
|
2
|
+
import { System } from '../../../model/ms.js';
|
|
3
3
|
/**
|
|
4
4
|
* The PatternAnalyzer allows to derive a system from source code patterns defined by regular expressions.
|
|
5
5
|
*/
|
|
@@ -1,51 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PatternAnalyzer = void 0;
|
|
37
|
-
const fs = __importStar(require("fs"));
|
|
38
|
-
const path = __importStar(require("path"));
|
|
39
|
-
const immer = __importStar(require("immer"));
|
|
40
|
-
const analysis_1 = require("../../../utils/files/analysis");
|
|
41
|
-
const model_1 = require("./model");
|
|
42
|
-
const common_1 = require("@nestjs/common");
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as immer from 'immer';
|
|
4
|
+
import { findFilesSafe } from '../../../utils/files/analysis.js';
|
|
5
|
+
import { SearchTextLocation } from './model.js';
|
|
6
|
+
import { Logger } from '@nestjs/common';
|
|
43
7
|
// tslint:disable-next-line
|
|
44
|
-
|
|
8
|
+
import * as ms from '../../../model/ms.js';
|
|
45
9
|
/**
|
|
46
10
|
* The PatternAnalyzer allows to derive a system from source code patterns defined by regular expressions.
|
|
47
11
|
*/
|
|
48
|
-
class PatternAnalyzer {
|
|
12
|
+
export class PatternAnalyzer {
|
|
13
|
+
sourceFolder;
|
|
49
14
|
constructor(sourceFolder) {
|
|
50
15
|
this.sourceFolder = sourceFolder;
|
|
51
16
|
}
|
|
@@ -55,7 +20,6 @@ class PatternAnalyzer {
|
|
|
55
20
|
return system;
|
|
56
21
|
}
|
|
57
22
|
}
|
|
58
|
-
exports.PatternAnalyzer = PatternAnalyzer;
|
|
59
23
|
function replaceVariablesInPatterns(systemPattern, sourceFolder) {
|
|
60
24
|
return immer.produce(systemPattern, (systemPatternDraft) => {
|
|
61
25
|
systemPatternDraft.nodePatterns.forEach((pattern) => {
|
|
@@ -74,9 +38,9 @@ function replaceGlobalVariablesInRegExp(regExp, sourceFolder) {
|
|
|
74
38
|
return regExp.replace('$sourceRoot', path.resolve(sourceFolder));
|
|
75
39
|
}
|
|
76
40
|
async function transformSystemFromPattern(system, systemPattern, sourceFolder) {
|
|
77
|
-
|
|
78
|
-
const allFiles = await
|
|
79
|
-
|
|
41
|
+
Logger.log('scanning all files in ' + sourceFolder);
|
|
42
|
+
const allFiles = await findFilesSafe(sourceFolder, systemPattern.includedFileEndings, systemPattern.excludedFolders);
|
|
43
|
+
Logger.log('found ' + allFiles.length + ' files');
|
|
80
44
|
allFiles.forEach((filePath) => {
|
|
81
45
|
systemPattern.nodePatterns.forEach((nodePattern) => addNodesFromPattern(system, nodePattern, filePath, allFiles));
|
|
82
46
|
systemPattern.edgePatterns.forEach((edgePattern) => addEdgesFromPattern(system, edgePattern, filePath, allFiles, sourceFolder));
|
|
@@ -86,7 +50,7 @@ function addNodesFromPattern(system, nodePattern, filePath, allFiles) {
|
|
|
86
50
|
findNodes(nodePattern, filePath, allFiles, new NameMemory(), new Map()).forEach((node) => {
|
|
87
51
|
const nodeName = node.nodeName;
|
|
88
52
|
system.addOrExtendTypedNode(nodePattern.nodeType, nodeName);
|
|
89
|
-
|
|
53
|
+
Logger.log(`added node '${nodeName}'`);
|
|
90
54
|
});
|
|
91
55
|
}
|
|
92
56
|
function addEdgesFromPattern(system, edgePattern, filePath, allFiles, sourceFolder) {
|
|
@@ -96,11 +60,11 @@ function addEdgesFromPattern(system, edgePattern, filePath, allFiles, sourceFold
|
|
|
96
60
|
findNodes(edgePattern.sourceNodePattern, filePath, allFiles, initialNameMemory, new Map()).forEach((sourceNode) => {
|
|
97
61
|
const sourceNodeName = sourceNode.nodeName;
|
|
98
62
|
if (sourceNodeName) {
|
|
99
|
-
|
|
63
|
+
Logger.log(`found source node '${sourceNodeName}'`);
|
|
100
64
|
findNodes(edgePattern.targetNodePattern, filePath, allFiles, sourceNode.nameMemory, sourceNode.searchTextLocationMemory).forEach((targetNode) => {
|
|
101
65
|
const targetNodeName = targetNode.nodeName;
|
|
102
66
|
if (targetNode) {
|
|
103
|
-
|
|
67
|
+
Logger.log(`found target node '${targetNodeName}'`);
|
|
104
68
|
createEdgeOnce(system, edgePattern, sourceNodeName, targetNodeName);
|
|
105
69
|
}
|
|
106
70
|
});
|
|
@@ -111,7 +75,7 @@ function createEdgeOnce(system, edgePattern, sourceNodeName, targetNodeName) {
|
|
|
111
75
|
if (system
|
|
112
76
|
.getAllEdges()
|
|
113
77
|
.find((edge) => edge.source.getName() === sourceNodeName && edge.target.getName() === targetNodeName)) {
|
|
114
|
-
|
|
78
|
+
Logger.log(`skipping already existing edge '${sourceNodeName}' --(${edgePattern.edgeType})--> '${targetNodeName}'`);
|
|
115
79
|
return;
|
|
116
80
|
}
|
|
117
81
|
const metadata = {
|
|
@@ -123,12 +87,15 @@ function createEdgeOnce(system, edgePattern, sourceNodeName, targetNodeName) {
|
|
|
123
87
|
const targetNode = system.addOrExtendTypedNode(edgePattern.targetNodePattern.nodeType, targetNodeName, null, metadata);
|
|
124
88
|
const edge = new ms[edgePattern.edgeType](sourceNode, targetNode, undefined, metadata);
|
|
125
89
|
system.edges.push(edge);
|
|
126
|
-
|
|
90
|
+
Logger.log(`added edge '${sourceNodeName}' --(${edgePattern.edgeType})--> '${targetNodeName}'`);
|
|
127
91
|
}
|
|
128
92
|
/**
|
|
129
93
|
* a node which was matched from a pattern including all matched names.
|
|
130
94
|
*/
|
|
131
95
|
class MatchedNode {
|
|
96
|
+
nodeName;
|
|
97
|
+
nameMemory;
|
|
98
|
+
searchTextLocationMemory;
|
|
132
99
|
constructor(nodeName, nameMemory, searchTextLocationMemory = new Map()) {
|
|
133
100
|
this.nodeName = nodeName;
|
|
134
101
|
this.nameMemory = nameMemory;
|
|
@@ -139,6 +106,8 @@ class MatchedNode {
|
|
|
139
106
|
* a memory of all the names found during a chain of pattern matchings.
|
|
140
107
|
*/
|
|
141
108
|
class NameMemory {
|
|
109
|
+
inheritedNameMemory;
|
|
110
|
+
names;
|
|
142
111
|
constructor(inheritedNameMemory) {
|
|
143
112
|
this.inheritedNameMemory = inheritedNameMemory;
|
|
144
113
|
this.names = new Map();
|
|
@@ -171,7 +140,7 @@ function findNodes(pattern, filePath, allFiles, nameMemory, searchTextLocationMe
|
|
|
171
140
|
const nameResolution = pattern.nameResolutionPattern;
|
|
172
141
|
if (pattern.searchTextVariable !== undefined) {
|
|
173
142
|
matchedNodes.forEach((node) => {
|
|
174
|
-
|
|
143
|
+
Logger.log('Saving search text location to variable ' + pattern.searchTextVariable + ' = ' + filePath);
|
|
175
144
|
node.searchTextLocationMemory = searchTextLocationMemory;
|
|
176
145
|
searchTextLocationMemory.set(pattern.searchTextVariable, filePath);
|
|
177
146
|
});
|
|
@@ -182,18 +151,19 @@ function findNodes(pattern, filePath, allFiles, nameMemory, searchTextLocationMe
|
|
|
182
151
|
foundNames.saveName(nameVariable, node.nodeName);
|
|
183
152
|
const resolvedName = resolveName(nameResolution, filePath, allFiles, foundNames, searchTextLocationMemory);
|
|
184
153
|
if (!resolvedName) {
|
|
185
|
-
|
|
186
|
-
|
|
154
|
+
Logger.warn(`could not resolve name '${node.nodeName}'`);
|
|
155
|
+
Logger.warn(`current regexp: '${nameResolution.regExp}'`);
|
|
187
156
|
return new MatchedNode(node.nodeName, foundNames);
|
|
188
157
|
}
|
|
189
|
-
|
|
158
|
+
Logger.log(`resolved node with name '${node.nodeName}' to actual name '${resolvedName}'.\ncurrent name memory\n---\n${foundNames.toString()}`);
|
|
190
159
|
return new MatchedNode(resolvedName, foundNames);
|
|
191
160
|
});
|
|
192
161
|
}
|
|
193
162
|
function getVariableForName(variableForName) {
|
|
194
|
-
return variableForName
|
|
163
|
+
return variableForName ?? 'name';
|
|
195
164
|
}
|
|
196
165
|
class FileContent {
|
|
166
|
+
file;
|
|
197
167
|
constructor(file) {
|
|
198
168
|
this.file = file;
|
|
199
169
|
}
|
|
@@ -205,6 +175,7 @@ class FileContent {
|
|
|
205
175
|
}
|
|
206
176
|
}
|
|
207
177
|
class PathContent {
|
|
178
|
+
path;
|
|
208
179
|
constructor(path) {
|
|
209
180
|
this.path = path;
|
|
210
181
|
}
|
|
@@ -235,29 +206,29 @@ function resolveName(nameResolution, filePath, allFiles, foundNames, searchTextL
|
|
|
235
206
|
if (resolvedNames.length > 0) {
|
|
236
207
|
const resolvedName = resolvedNames[0];
|
|
237
208
|
searchTextLocationMemory.set(nameResolution.searchTextVariable, content.filePath());
|
|
238
|
-
|
|
209
|
+
Logger.log('Saving search text location to variable ' +
|
|
239
210
|
nameResolution.searchTextVariable +
|
|
240
211
|
' = ' +
|
|
241
212
|
content.filePath());
|
|
242
213
|
if (resolvedNames.length >= 2) {
|
|
243
214
|
const allNames = resolvedNames.map((node) => node.nodeName).join(', ');
|
|
244
|
-
|
|
215
|
+
Logger.warn('name resolution returned with multiple possible names. choosing first name from list: ' + allNames);
|
|
245
216
|
}
|
|
246
217
|
const nameVariable = getVariableForName(nameResolution.variableForName);
|
|
247
218
|
foundNames.saveName(nameVariable, resolvedName.nodeName);
|
|
248
219
|
if (!nameResolution.nameResolutionPattern) {
|
|
249
220
|
// TODO: add metadata to node for debugging
|
|
250
|
-
|
|
221
|
+
Logger.log(`resolved name '${resolvedName}' in file ${content.filePath()} using pattern ${nameResolution.regExp}`);
|
|
251
222
|
return resolvedName.nodeName;
|
|
252
223
|
}
|
|
253
224
|
else {
|
|
254
225
|
// continue with next resolution pattern
|
|
255
226
|
const nextFilePath = shouldSearchInPath(nameResolution) ? content.filePath() : filePath;
|
|
256
|
-
|
|
227
|
+
Logger.log(`continue to resolve name in file '${nextFilePath}' using pattern '${nameResolution.regExp}'`);
|
|
257
228
|
const resolvedName = resolveName(nameResolution.nameResolutionPattern, nextFilePath, allFiles, foundNames, searchTextLocationMemory);
|
|
258
229
|
if (resolvedName) {
|
|
259
230
|
// TODO: add metadata to node for debugging
|
|
260
|
-
|
|
231
|
+
Logger.log(`resolved name '${resolvedName}' in file ${content.filePath()} using pattern ${nameResolution.regExp}`);
|
|
261
232
|
return resolvedName;
|
|
262
233
|
}
|
|
263
234
|
}
|
|
@@ -266,8 +237,8 @@ function resolveName(nameResolution, filePath, allFiles, foundNames, searchTextL
|
|
|
266
237
|
return undefined;
|
|
267
238
|
}
|
|
268
239
|
function shouldSearchInPath(namePattern) {
|
|
269
|
-
return (namePattern.searchTextLocation ===
|
|
270
|
-
namePattern.searchTextLocation ===
|
|
240
|
+
return (namePattern.searchTextLocation === SearchTextLocation.FILE_PATH ||
|
|
241
|
+
namePattern.searchTextLocation === SearchTextLocation.ANY_FILE_PATH ||
|
|
271
242
|
namePattern.searchTextReference !== undefined);
|
|
272
243
|
}
|
|
273
244
|
function replaceNameVariables(regExp, nameMemory) {
|
|
@@ -280,21 +251,21 @@ function replaceNameVariables(regExp, nameMemory) {
|
|
|
280
251
|
return regExp;
|
|
281
252
|
}
|
|
282
253
|
function getContentsToResolveNameFrom(nameResolution, filePath, allFiles, searchTextLocationMemory) {
|
|
283
|
-
if (nameResolution.searchTextLocation ===
|
|
254
|
+
if (nameResolution.searchTextLocation === SearchTextLocation.FILE_PATH) {
|
|
284
255
|
return [new PathContent(filePath)];
|
|
285
256
|
}
|
|
286
|
-
else if (nameResolution.searchTextLocation ===
|
|
257
|
+
else if (nameResolution.searchTextLocation === SearchTextLocation.FILE_CONTENT) {
|
|
287
258
|
return [new FileContent(filePath)];
|
|
288
259
|
}
|
|
289
|
-
else if (nameResolution.searchTextLocation ===
|
|
260
|
+
else if (nameResolution.searchTextLocation === SearchTextLocation.ANY_FILE_CONTENT) {
|
|
290
261
|
return allFiles.map((file) => new FileContent(file));
|
|
291
262
|
}
|
|
292
|
-
else if (nameResolution.searchTextLocation ===
|
|
263
|
+
else if (nameResolution.searchTextLocation === SearchTextLocation.ANY_FILE_PATH) {
|
|
293
264
|
return allFiles.map((file) => new PathContent(file));
|
|
294
265
|
}
|
|
295
266
|
else if (nameResolution.searchTextReference !== undefined) {
|
|
296
267
|
const searchTextLocation = searchTextLocationMemory.get(nameResolution.searchTextReference);
|
|
297
|
-
|
|
268
|
+
Logger.log('Using referenced search text location: ' + searchTextLocation);
|
|
298
269
|
if (!searchTextLocation) {
|
|
299
270
|
throw new Error('Cannot find saved search text location for reference "' + nameResolution.searchTextReference + '"');
|
|
300
271
|
}
|
|
@@ -309,7 +280,7 @@ function matchNode(pattern, filePath, nameMemory) {
|
|
|
309
280
|
if (shouldSearchInPath(pattern)) {
|
|
310
281
|
return matchNodeByPattern(pattern, filePath, nameMemory);
|
|
311
282
|
}
|
|
312
|
-
if (pattern.searchTextLocation ===
|
|
283
|
+
if (pattern.searchTextLocation === SearchTextLocation.FILE_CONTENT) {
|
|
313
284
|
const fileContent = fs.readFileSync(filePath, 'utf8');
|
|
314
285
|
return matchNodeByPattern(pattern, fileContent, nameMemory);
|
|
315
286
|
}
|
|
@@ -332,7 +303,7 @@ function matchNodeByRegExp(preConditionRegExpString, regExpString, searchText, c
|
|
|
332
303
|
return getAllPatternMatches(regExp, searchText, (matchArray) => {
|
|
333
304
|
if (matchArray.length >= capturingGroupIndexForName) {
|
|
334
305
|
const name = matchArray[capturingGroupIndexForName];
|
|
335
|
-
|
|
306
|
+
Logger.log(`matched name '${name}' from regexp '${regExpWithReplacedVariables}'`);
|
|
336
307
|
const nameMemory = new NameMemory(inheritedNameMemory);
|
|
337
308
|
nameMemory.saveName(variableForName, name);
|
|
338
309
|
return new MatchedNode(name, nameMemory);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternAnalyzer.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.ts"],"names":[],"mappings":"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"}
|