@ai-dev-tools/csharp-copilot-core 0.0.19
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/ai-dev-tools-csharp-copilot-core-0.0.19.tgz +0 -0
- package/azure-pipelines.yml +52 -0
- package/out/analyze/cecil.d.ts +1 -0
- package/out/analyze/cecil.js +42 -0
- package/out/analyze/cecil.js.map +1 -0
- package/out/analyze/checkCodeSyntax.d.ts +7 -0
- package/out/analyze/checkCodeSyntax.js +67 -0
- package/out/analyze/checkCodeSyntax.js.map +1 -0
- package/out/analyze/generateCodeDependency.d.ts +6 -0
- package/out/analyze/generateCodeDependency.js +122 -0
- package/out/analyze/generateCodeDependency.js.map +1 -0
- package/out/analyze/installAnalyzerTool.d.ts +1 -0
- package/out/analyze/installAnalyzerTool.js +82 -0
- package/out/analyze/installAnalyzerTool.js.map +1 -0
- package/out/atmpCache/deps/EplantRequestCategoryCondition_Conditions_Eplant_Workflows_SharedSegmentsPlugins_SharedSegments_SharedSegments_CSServiceFundamental_code_D.deps +281 -0
- package/out/atmpCache/deps/IdentitySelectAnalyzer_ToListinatorAnalyzers_src_AIUnitTestExample_code_d.deps +1 -0
- package/out/atmpCache/deps/SqmidHelperTests_Utils_HttpRequestParser_Overview_Workflows_SharedSegmentsTests_SharedSegments_SharedSegments_CSServiceFundamental_code_D.deps +1 -0
- package/out/atmpCache/deps/SqmidHelper_Utils_HttpRequestParser_Overview_Workflows_SharedSegmentsPlugins_SharedSegments_SharedSegments_CSServiceFundamental_code_D.deps +1 -0
- package/out/atmpCache/deps/ToListCountAnalyzerTests_ToListinatorTests_test_AIUnitTestExample_code_d.deps +4037 -0
- package/out/atmpCache/deps/ToListCountAnalyzer_ToListinatorAnalyzers_src_AIUnitTestExample_code_d.deps +1 -0
- package/out/atmpCache/deps/ToListCountCodeFixProvider_ToListinatorCodeFixes_src_AIUnitTestExample_code_d.deps +1 -0
- package/out/atmpCache/deps/ToListForEachAnalyzer_ToListinatorAnalyzers_src_AIUnitTestExample_code_d.deps +1 -0
- package/out/atmpCache/dllref/ToListinatorTests_ToListinatorTests_test_AIUnitTestExample_code_d.dllref +202 -0
- package/out/batch/generateCodeTests.d.ts +6 -0
- package/out/batch/generateCodeTests.js +147 -0
- package/out/batch/generateCodeTests.js.map +1 -0
- package/out/batch/getFolderCodeFile.d.ts +1 -0
- package/out/batch/getFolderCodeFile.js +19 -0
- package/out/batch/getFolderCodeFile.js.map +1 -0
- package/out/batch/getProjectCodeFile.d.ts +4 -0
- package/out/batch/getProjectCodeFile.js +87 -0
- package/out/batch/getProjectCodeFile.js.map +1 -0
- package/out/batch/getSolutionCodeFile.d.ts +8 -0
- package/out/batch/getSolutionCodeFile.js +70 -0
- package/out/batch/getSolutionCodeFile.js.map +1 -0
- package/out/benchmark/formatToMarkdown.d.ts +2 -0
- package/out/benchmark/formatToMarkdown.js +101 -0
- package/out/benchmark/formatToMarkdown.js.map +1 -0
- package/out/benchmark/generateBenchmarkReport.d.ts +1 -0
- package/out/benchmark/generateBenchmarkReport.js +82 -0
- package/out/benchmark/generateBenchmarkReport.js.map +1 -0
- package/out/codeCoverage/codeCoverage.d.ts +6 -0
- package/out/codeCoverage/codeCoverage.js +35 -0
- package/out/codeCoverage/codeCoverage.js.map +1 -0
- package/out/codeCoverage/codeCoverageReport.d.ts +6 -0
- package/out/codeCoverage/codeCoverageReport.js +72 -0
- package/out/codeCoverage/codeCoverageReport.js.map +1 -0
- package/out/codeCoverage/extractCodeCoverageInfo.d.ts +2 -0
- package/out/codeCoverage/extractCodeCoverageInfo.js +80 -0
- package/out/codeCoverage/extractCodeCoverageInfo.js.map +1 -0
- package/out/codeCoverage/generateCodeCoverageReport.d.ts +1 -0
- package/out/codeCoverage/generateCodeCoverageReport.js +27 -0
- package/out/codeCoverage/generateCodeCoverageReport.js.map +1 -0
- package/out/codeCoverage/getCodeCoverageSetting.d.ts +1 -0
- package/out/codeCoverage/getCodeCoverageSetting.js +58 -0
- package/out/codeCoverage/getCodeCoverageSetting.js.map +1 -0
- package/out/codeCoverage/reportTool.d.ts +2 -0
- package/out/codeCoverage/reportTool.js +22 -0
- package/out/codeCoverage/reportTool.js.map +1 -0
- package/out/codeCoverage/simplifyCoverageXml.d.ts +2 -0
- package/out/codeCoverage/simplifyCoverageXml.js +116 -0
- package/out/codeCoverage/simplifyCoverageXml.js.map +1 -0
- package/out/codebk/250804prompt/buildAfGuidelines.liquid +15 -0
- package/out/codebk/250804prompt/general/generalBuildAutofixGuidelines.liquid +13 -0
- package/out/codebk/250804prompt/general/generalUtGuidelines.liquid +18 -0
- package/out/codebk/250804prompt/generateUtAutoFix.liquid +19 -0
- package/out/codebk/250804prompt/generateUtGuidelines.liquid +13 -0
- package/out/codebk/250804prompt/generateUtSystem.liquid +5 -0
- package/out/codebk/250804prompt/generateUtUserInput.liquid +27 -0
- package/out/codebk/250804prompt/testAfGuidelines.liquid +6 -0
- package/out/codebk/250804prompt/xap/xapBuildAutofixGuidelines.liquid +13 -0
- package/out/codebk/250804prompt/xap/xapCodeCodeDependency.liquid +0 -0
- package/out/codebk/250804prompt/xap/xapCodeSample.liquid +38 -0
- package/out/codebk/250804prompt/xap/xapUtGuideline-240804.liquid +36 -0
- package/out/codebk/250804prompt/xap/xapUtGuideline.liquid +36 -0
- package/out/codebk/childProcessManager.d.ts +1 -0
- package/out/codebk/childProcessManager.js +50 -0
- package/out/codebk/childProcessManager.js.map +1 -0
- package/out/codebk/msBuidSpawn.d.ts +1 -0
- package/out/codebk/msBuidSpawn.js +58 -0
- package/out/codebk/msBuidSpawn.js.map +1 -0
- package/out/codebk/msBuild.d.ts +1 -0
- package/out/codebk/msBuild.js +123 -0
- package/out/codebk/msBuild.js.map +1 -0
- package/out/codebk/old/generateXapTestAutoFix.liquid +12 -0
- package/out/codebk/old/generateXapTestGuidelines-fm.liquid +68 -0
- package/out/codebk/old/generateXapTestGuidelines.liquid +28 -0
- package/out/codebk/old/xapGuideline-fm.liquid +149 -0
- package/out/codebk/old/xapGuideline.liquid +37 -0
- package/out/codebk/oldExec/checkCodeSyntax.d.ts +1 -0
- package/out/codebk/oldExec/checkCodeSyntax.js +81 -0
- package/out/codebk/oldExec/checkCodeSyntax.js.map +1 -0
- package/out/codebk/oldExec/codeCoverage.d.ts +1 -0
- package/out/codebk/oldExec/codeCoverage.js +54 -0
- package/out/codebk/oldExec/codeCoverage.js.map +1 -0
- package/out/codebk/oldExec/codeCoverageReport.d.ts +1 -0
- package/out/codebk/oldExec/codeCoverageReport.js +64 -0
- package/out/codebk/oldExec/codeCoverageReport.js.map +1 -0
- package/out/codebk/oldExec/containsMethods.d.ts +1 -0
- package/out/codebk/oldExec/containsMethods.js +74 -0
- package/out/codebk/oldExec/containsMethods.js.map +1 -0
- package/out/codebk/oldExec/generateCodeDependency.d.ts +1 -0
- package/out/codebk/oldExec/generateCodeDependency.js +95 -0
- package/out/codebk/oldExec/generateCodeDependency.js.map +1 -0
- package/out/codebk/oldExec/msBuild.d.ts +1 -0
- package/out/codebk/oldExec/msBuild.js +53 -0
- package/out/codebk/oldExec/msBuild.js.map +1 -0
- package/out/codebk/oldExec/vsTest.d.ts +1 -0
- package/out/codebk/oldExec/vsTest.js +71 -0
- package/out/codebk/oldExec/vsTest.js.map +1 -0
- package/out/codebk/prompts/general/generalUnitTestGuidelines-20250702.liquid +56 -0
- package/out/codebk/prompts/generateXapTestGuidelines-20250704.liquid +21 -0
- package/out/codebk/prompts/generateXapTestGuidelines-o.liquid +29 -0
- package/out/codebk/prompts/xap/xapGuideline-o.liquid +45 -0
- package/out/codebk/testbuildkill.d.ts +1 -0
- package/out/codebk/testbuildkill.js +37 -0
- package/out/codebk/testbuildkill.js.map +1 -0
- package/out/command/index.d.ts +2 -0
- package/out/command/index.js +85 -0
- package/out/command/index.js.map +1 -0
- package/out/command/utGenWrapper.d.ts +3 -0
- package/out/command/utGenWrapper.js +40 -0
- package/out/command/utGenWrapper.js.map +1 -0
- package/out/exit/childProcessManager.d.ts +2 -0
- package/out/exit/childProcessManager.js +43 -0
- package/out/exit/childProcessManager.js.map +1 -0
- package/out/exit/setupProcessSignalHandler.d.ts +1 -0
- package/out/exit/setupProcessSignalHandler.js +18 -0
- package/out/exit/setupProcessSignalHandler.js.map +1 -0
- package/out/gen/autoFix.d.ts +4 -0
- package/out/gen/autoFix.js +125 -0
- package/out/gen/autoFix.js.map +1 -0
- package/out/gen/csharpUtGen.d.ts +2 -0
- package/out/gen/csharpUtGen.js +151 -0
- package/out/gen/csharpUtGen.js.map +1 -0
- package/out/gen/ensureValidLLMResponse.d.ts +1 -0
- package/out/gen/ensureValidLLMResponse.js +19 -0
- package/out/gen/ensureValidLLMResponse.js.map +1 -0
- package/out/gen/postGen/extractCodeFromResponse.d.ts +1 -0
- package/out/gen/postGen/extractCodeFromResponse.js +37 -0
- package/out/gen/postGen/extractCodeFromResponse.js.map +1 -0
- package/out/gen/postGen/postGenProcess.d.ts +1 -0
- package/out/gen/postGen/postGenProcess.js +36 -0
- package/out/gen/postGen/postGenProcess.js.map +1 -0
- package/out/gen/postGen/removeComments.d.ts +1 -0
- package/out/gen/postGen/removeComments.js +92 -0
- package/out/gen/postGen/removeComments.js.map +1 -0
- package/out/gen/postGen/removeSingleLines.d.ts +1 -0
- package/out/gen/postGen/removeSingleLines.js +28 -0
- package/out/gen/postGen/removeSingleLines.js.map +1 -0
- package/out/gen/postGen/repairRequiredNameSpaces.d.ts +1 -0
- package/out/gen/postGen/repairRequiredNameSpaces.js +116 -0
- package/out/gen/postGen/repairRequiredNameSpaces.js.map +1 -0
- package/out/gen/postGen/validateTestCode.d.ts +1 -0
- package/out/gen/postGen/validateTestCode.js +14 -0
- package/out/gen/postGen/validateTestCode.js.map +1 -0
- package/out/gen/preGen/excludeFileName.d.ts +1 -0
- package/out/gen/preGen/excludeFileName.js +49 -0
- package/out/gen/preGen/excludeFileName.js.map +1 -0
- package/out/gen/preGen/excludeSpecificTag.d.ts +1 -0
- package/out/gen/preGen/excludeSpecificTag.js +18 -0
- package/out/gen/preGen/excludeSpecificTag.js.map +1 -0
- package/out/gen/preGen/preGenProcess.d.ts +1 -0
- package/out/gen/preGen/preGenProcess.js +22 -0
- package/out/gen/preGen/preGenProcess.js.map +1 -0
- package/out/gen/preGen/validateCode.d.ts +3 -0
- package/out/gen/preGen/validateCode.js +62 -0
- package/out/gen/preGen/validateCode.js.map +1 -0
- package/out/index.d.ts +2 -0
- package/out/index.js +8 -0
- package/out/index.js.map +1 -0
- package/out/llm/model/Gpt4o.d.ts +1 -0
- package/out/llm/model/Gpt4o.js +91 -0
- package/out/llm/model/Gpt4o.js.map +1 -0
- package/out/llm/model/claude4.d.ts +1 -0
- package/out/llm/model/claude4.js +3 -0
- package/out/llm/model/claude4.js.map +1 -0
- package/out/llm/preparePrompt.d.ts +2 -0
- package/out/llm/preparePrompt.js +110 -0
- package/out/llm/preparePrompt.js.map +1 -0
- package/out/llm/prompt/buildAfGuidelines.liquid +15 -0
- package/out/llm/prompt/general/generalBuildAutofixGuidelines.liquid +13 -0
- package/out/llm/prompt/general/generalUtGuidelines.liquid +16 -0
- package/out/llm/prompt/generateUtAutoFix.liquid +19 -0
- package/out/llm/prompt/generateUtDependency.liquid +3 -0
- package/out/llm/prompt/generateUtGuidelines.liquid +29 -0
- package/out/llm/prompt/generateUtSystem.liquid +5 -0
- package/out/llm/prompt/generateUtTemplate.liquid +30 -0
- package/out/llm/prompt/generateUtUserInput.liquid +4 -0
- package/out/llm/prompt/testAfGuidelines.liquid +6 -0
- package/out/llm/prompt/userCustomPrompt.liquid +0 -0
- package/out/llm/prompt/xap/xapBuildAutofixGuidelines.liquid +13 -0
- package/out/llm/prompt/xap/xapCodeCodeDependency.liquid +0 -0
- package/out/llm/prompt/xap/xapCodeSample.liquid +38 -0
- package/out/llm/prompt/xap/xapUtGuideline-240804.liquid +36 -0
- package/out/llm/prompt/xap/xapUtGuideline.liquid +37 -0
- package/out/llm/sendRequestToLLM.d.ts +4 -0
- package/out/llm/sendRequestToLLM.js +12 -0
- package/out/llm/sendRequestToLLM.js.map +1 -0
- package/out/llm/sendRequestToSelfHostLLM.d.ts +4 -0
- package/out/llm/sendRequestToSelfHostLLM.js +41 -0
- package/out/llm/sendRequestToSelfHostLLM.js.map +1 -0
- package/out/metrics/appInsightTelemetry.d.ts +6 -0
- package/out/metrics/appInsightTelemetry.js +77 -0
- package/out/metrics/appInsightTelemetry.js.map +1 -0
- package/out/metrics/machineId.d.ts +11 -0
- package/out/metrics/machineId.js +85 -0
- package/out/metrics/machineId.js.map +1 -0
- package/out/setup/setup.d.ts +1 -0
- package/out/setup/setup.js +10 -0
- package/out/setup/setup.js.map +1 -0
- package/out/setup/setupConsole.d.ts +1 -0
- package/out/setup/setupConsole.js +23 -0
- package/out/setup/setupConsole.js.map +1 -0
- package/out/setup/setupLLMRequest.d.ts +2 -0
- package/out/setup/setupLLMRequest.js +10 -0
- package/out/setup/setupLLMRequest.js.map +1 -0
- package/out/tools/devenvcom.cmd +13 -0
- package/out/tools/devenvexe.cmd +13 -0
- package/out/tools/msbuildexe.cmd +13 -0
- package/out/tools/vstestexe.cmd +13 -0
- package/out/types/benchmark.d.ts +11 -0
- package/out/types/benchmark.js +3 -0
- package/out/types/benchmark.js.map +1 -0
- package/out/types/buildResult.d.ts +8 -0
- package/out/types/buildResult.js +3 -0
- package/out/types/buildResult.js.map +1 -0
- package/out/types/constants.d.ts +3 -0
- package/out/types/constants.js +7 -0
- package/out/types/constants.js.map +1 -0
- package/out/types/genResult.d.ts +10 -0
- package/out/types/genResult.js +3 -0
- package/out/types/genResult.js.map +1 -0
- package/out/types/testResult.d.ts +12 -0
- package/out/types/testResult.js +3 -0
- package/out/types/testResult.js.map +1 -0
- package/out/types/verifyResult.d.ts +8 -0
- package/out/types/verifyResult.js +3 -0
- package/out/types/verifyResult.js.map +1 -0
- package/out/utils/checkTestProject.d.ts +2 -0
- package/out/utils/checkTestProject.js +79 -0
- package/out/utils/checkTestProject.js.map +1 -0
- package/out/utils/checkXapCode.d.ts +2 -0
- package/out/utils/checkXapCode.js +59 -0
- package/out/utils/checkXapCode.js.map +1 -0
- package/out/utils/delay.d.ts +1 -0
- package/out/utils/delay.js +7 -0
- package/out/utils/delay.js.map +1 -0
- package/out/utils/detectTestFramework.d.ts +1 -0
- package/out/utils/detectTestFramework.js +32 -0
- package/out/utils/detectTestFramework.js.map +1 -0
- package/out/utils/fileUtils.d.ts +2 -0
- package/out/utils/fileUtils.js +42 -0
- package/out/utils/fileUtils.js.map +1 -0
- package/out/utils/generateCodeSha256.d.ts +1 -0
- package/out/utils/generateCodeSha256.js +46 -0
- package/out/utils/generateCodeSha256.js.map +1 -0
- package/out/utils/getCodeStructurePath.d.ts +5 -0
- package/out/utils/getCodeStructurePath.js +155 -0
- package/out/utils/getCodeStructurePath.js.map +1 -0
- package/out/utils/getOrCreateDir.d.ts +2 -0
- package/out/utils/getOrCreateDir.js +63 -0
- package/out/utils/getOrCreateDir.js.map +1 -0
- package/out/utils/getTestCodeInfo.d.ts +2 -0
- package/out/utils/getTestCodeInfo.js +121 -0
- package/out/utils/getTestCodeInfo.js.map +1 -0
- package/out/utils/getTestFile.d.ts +13 -0
- package/out/utils/getTestFile.js +295 -0
- package/out/utils/getTestFile.js.map +1 -0
- package/out/utils/parseBuildResult.d.ts +3 -0
- package/out/utils/parseBuildResult.js +44 -0
- package/out/utils/parseBuildResult.js.map +1 -0
- package/out/utils/parseSyntaxCheckResult.d.ts +2 -0
- package/out/utils/parseSyntaxCheckResult.js +38 -0
- package/out/utils/parseSyntaxCheckResult.js.map +1 -0
- package/out/utils/parseVstestResult.d.ts +3 -0
- package/out/utils/parseVstestResult.js +61 -0
- package/out/utils/parseVstestResult.js.map +1 -0
- package/out/utils/removeFailedTestMethods.d.ts +3 -0
- package/out/utils/removeFailedTestMethods.js +207 -0
- package/out/utils/removeFailedTestMethods.js.map +1 -0
- package/out/utils/runCommand.d.ts +1 -0
- package/out/utils/runCommand.js +14 -0
- package/out/utils/runCommand.js.map +1 -0
- package/out/utils/spawnExec.d.ts +1 -0
- package/out/utils/spawnExec.js +80 -0
- package/out/utils/spawnExec.js.map +1 -0
- package/out/utils/verifyBuildErrorCausedFile.d.ts +1 -0
- package/out/utils/verifyBuildErrorCausedFile.js +60 -0
- package/out/utils/verifyBuildErrorCausedFile.js.map +1 -0
- package/out/utils/verifyTestCode.d.ts +2 -0
- package/out/utils/verifyTestCode.js +25 -0
- package/out/utils/verifyTestCode.js.map +1 -0
- package/out/utils/writeGenCode.d.ts +1 -0
- package/out/utils/writeGenCode.js +50 -0
- package/out/utils/writeGenCode.js.map +1 -0
- package/out/vs/msBuild.d.ts +13 -0
- package/out/vs/msBuild.js +81 -0
- package/out/vs/msBuild.js.map +1 -0
- package/out/vs/vsTest.d.ts +15 -0
- package/out/vs/vsTest.js +107 -0
- package/out/vs/vsTest.js.map +1 -0
- package/out/vs/vsTools.d.ts +7 -0
- package/out/vs/vsTools.js +177 -0
- package/out/vs/vsTools.js.map +1 -0
- package/out/vsPlugin/getVsPluginVerifyResult.d.ts +2 -0
- package/out/vsPlugin/getVsPluginVerifyResult.js +41 -0
- package/out/vsPlugin/getVsPluginVerifyResult.js.map +1 -0
- package/out/vsPlugin/interactionConstants.d.ts +2 -0
- package/out/vsPlugin/interactionConstants.js +10 -0
- package/out/vsPlugin/interactionConstants.js.map +1 -0
- package/out/vsPlugin/sendStdToVsPlugin.d.ts +1 -0
- package/out/vsPlugin/sendStdToVsPlugin.js +12 -0
- package/out/vsPlugin/sendStdToVsPlugin.js.map +1 -0
- package/out/vsPlugin/stdListener.d.ts +3 -0
- package/out/vsPlugin/stdListener.js +57 -0
- package/out/vsPlugin/stdListener.js.map +1 -0
- package/package.json +33 -0
- package/tools/devenvcom.cmd +13 -0
- package/tools/devenvexe.cmd +13 -0
- package/tools/msbuildexe.cmd +13 -0
- package/tools/vstestexe.cmd +13 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@echo OFF
|
|
2
|
+
|
|
3
|
+
IF EXIST "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" (
|
|
4
|
+
SET VSTESTEXE="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe"
|
|
5
|
+
) ELSE IF EXIST "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" (
|
|
6
|
+
SET VSTESTEXE="C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe"
|
|
7
|
+
) ELSE IF EXIST "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" (
|
|
8
|
+
SET VSTESTEXE="C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\TestPlatform\vstest.console.exe"
|
|
9
|
+
) ELSE (
|
|
10
|
+
SET VSTESTEXE="vstest.console.exe"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
%VSTESTEXE% %*
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BuildResult } from "./buildResult";
|
|
2
|
+
import { TestResult } from "./testResult";
|
|
3
|
+
export interface BenchmarkRow {
|
|
4
|
+
solutionPath: string;
|
|
5
|
+
projectPath: string;
|
|
6
|
+
codeFilePath: string;
|
|
7
|
+
testFilePath: string;
|
|
8
|
+
success: boolean;
|
|
9
|
+
buildResult?: BuildResult;
|
|
10
|
+
testResult?: TestResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/types/benchmark.ts"],"names":[],"mappings":"","sourcesContent":["import { BuildResult } from \"./buildResult\";\r\nimport { TestResult } from \"./testResult\";\r\n\r\nexport interface BenchmarkRow {\r\n solutionPath: string;\r\n projectPath: string;\r\n codeFilePath: string;\r\n testFilePath: string;\r\n success: boolean;\r\n buildResult?: BuildResult;\r\n testResult?: TestResult;\r\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildResult.js","sourceRoot":"","sources":["../../src/types/buildResult.ts"],"names":[],"mappings":"","sourcesContent":["export interface BuildResult {\r\n file: string;\r\n line: number;\r\n column: number;\r\n errorCode: string;\r\n message: string;\r\n project: string;\r\n}\r\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CSVSCODEPLUGIN = exports.CSHARPUTGEN = exports.CSVSPLUGIN = void 0;
|
|
4
|
+
exports.CSVSPLUGIN = 'csvsplugin';
|
|
5
|
+
exports.CSHARPUTGEN = 'csharpUtGen';
|
|
6
|
+
exports.CSVSCODEPLUGIN = 'csVsCodePlugin';
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/types/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,cAAc,GAAG,gBAAgB,CAAC","sourcesContent":["export const CSVSPLUGIN = 'csvsplugin';\r\nexport const CSHARPUTGEN = 'csharpUtGen';\r\nexport const CSVSCODEPLUGIN = 'csVsCodePlugin';"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BuildResult } from "./buildResult";
|
|
2
|
+
import { TestResult } from "./testResult";
|
|
3
|
+
export interface GenResult {
|
|
4
|
+
testFilePath: string;
|
|
5
|
+
testProjectPath: string;
|
|
6
|
+
codeFilePath: string;
|
|
7
|
+
success: boolean;
|
|
8
|
+
buildResult?: BuildResult;
|
|
9
|
+
testResult?: TestResult;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genResult.js","sourceRoot":"","sources":["../../src/types/genResult.ts"],"names":[],"mappings":"","sourcesContent":["import { BuildResult } from \"./buildResult\";\r\nimport { TestResult } from \"./testResult\";\r\n\r\nexport interface GenResult {\r\n testFilePath: string;\r\n testProjectPath: string;\r\n codeFilePath: string;\r\n success: boolean;\r\n buildResult?: BuildResult;\r\n testResult?: TestResult;\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testResult.js","sourceRoot":"","sources":["../../src/types/testResult.ts"],"names":[],"mappings":"","sourcesContent":["export interface FailedTest {\r\n name: string;\r\n errorMessage: string;\r\n stackTrace: string;\r\n}\r\n\r\nexport interface TestResult {\r\n passedTests: string[];\r\n failedTests: FailedTest[];\r\n totalTests?: number;\r\n passed?: number;\r\n failed?: number;\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyResult.js","sourceRoot":"","sources":["../../src/types/verifyResult.ts"],"names":[],"mappings":"","sourcesContent":["import { BuildResult } from \"./buildResult\";\r\nimport { TestResult } from \"./testResult\";\r\n\r\nexport interface VerifyResult {\r\n success: boolean;\r\n message: string;\r\n buildErrors: BuildResult[];\r\n testResult: TestResult;\r\n}\r\n"]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
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.isTestProject = isTestProject;
|
|
37
|
+
exports.checkTestProject = checkTestProject;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
41
|
+
function isTestProject(csprojPath) {
|
|
42
|
+
const xml = fs.readFileSync(csprojPath, 'utf-8');
|
|
43
|
+
const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '' });
|
|
44
|
+
const parsed = parser.parse(xml);
|
|
45
|
+
const itemGroups = parsed.Project?.ItemGroup ?? [];
|
|
46
|
+
const groups = Array.isArray(itemGroups) ? itemGroups : [itemGroups];
|
|
47
|
+
const testFrameworks = [
|
|
48
|
+
'Microsoft.NET.Test.Sdk',
|
|
49
|
+
'xunit',
|
|
50
|
+
'nunit',
|
|
51
|
+
'MSTest.TestAdapter',
|
|
52
|
+
'MSTest.TestFramework',
|
|
53
|
+
'NUnit3TestAdapter',
|
|
54
|
+
];
|
|
55
|
+
for (const group of groups) {
|
|
56
|
+
const packages = group.PackageReference;
|
|
57
|
+
if (!packages)
|
|
58
|
+
continue;
|
|
59
|
+
const packageArray = Array.isArray(packages) ? packages : [packages];
|
|
60
|
+
for (const pkg of packageArray) {
|
|
61
|
+
const pkgName = pkg.Include;
|
|
62
|
+
if (pkgName && testFrameworks.some(name => pkgName.toLowerCase().includes(name.toLowerCase()))) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
function checkTestProject(csprojPath) {
|
|
70
|
+
try {
|
|
71
|
+
const isPathLikelyTest = /[/\\](test|tests)[/\\]?/i.test(csprojPath) || /test/i.test(path.basename(csprojPath));
|
|
72
|
+
return isTestProject(csprojPath) && isPathLikelyTest;
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error(`Error checking test project for ${csprojPath}:`, error);
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=checkTestProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkTestProject.js","sourceRoot":"","sources":["../../src/utils/checkTestProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sCAgCC;AAED,4CAQC;AA/CD,uCAAyB;AACzB,2CAA6B;AAE7B,qDAA4C;AAE5C,SAAgB,aAAa,CAAC,UAAkB;IAC5C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,2BAAS,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAErE,MAAM,cAAc,GAAG;QACnB,wBAAwB;QACxB,OAAO;QACP,OAAO;QACP,oBAAoB;QACpB,sBAAsB;QACtB,mBAAmB;KACtB,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAErE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,IAAI,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7F,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,gBAAgB,CAAC,UAAkB;IAC/C,IAAI,CAAC;QACD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAChH,OAAO,aAAa,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC","sourcesContent":["import * as fs from 'fs';\r\nimport * as path from 'path';\r\n\r\nimport { XMLParser } from 'fast-xml-parser';\r\n\r\nexport function isTestProject(csprojPath: string): boolean {\r\n const xml = fs.readFileSync(csprojPath, 'utf-8');\r\n const parser = new XMLParser({ ignoreAttributes: false, attributeNamePrefix: '' });\r\n const parsed = parser.parse(xml);\r\n\r\n const itemGroups = parsed.Project?.ItemGroup ?? [];\r\n const groups = Array.isArray(itemGroups) ? itemGroups : [itemGroups];\r\n\r\n const testFrameworks = [\r\n 'Microsoft.NET.Test.Sdk',\r\n 'xunit',\r\n 'nunit',\r\n 'MSTest.TestAdapter',\r\n 'MSTest.TestFramework',\r\n 'NUnit3TestAdapter',\r\n ];\r\n\r\n for (const group of groups) {\r\n const packages = group.PackageReference;\r\n if (!packages) continue;\r\n\r\n const packageArray = Array.isArray(packages) ? packages : [packages];\r\n\r\n for (const pkg of packageArray) {\r\n const pkgName = pkg.Include;\r\n if (pkgName && testFrameworks.some(name => pkgName.toLowerCase().includes(name.toLowerCase()))) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function checkTestProject(csprojPath: string): boolean {\r\n try {\r\n const isPathLikelyTest = /[/\\\\](test|tests)[/\\\\]?/i.test(csprojPath) || /test/i.test(path.basename(csprojPath));\r\n return isTestProject(csprojPath) && isPathLikelyTest;\r\n } catch (error) {\r\n console.error(`Error checking test project for ${csprojPath}:`, error);\r\n return false;\r\n }\r\n}"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
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.checkXapCodeInterface = checkXapCodeInterface;
|
|
37
|
+
exports.checkXapCode = checkXapCode;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const XapInterfaces = [
|
|
40
|
+
"IPlugin",
|
|
41
|
+
"IConditionPlugin",
|
|
42
|
+
"Workflow",
|
|
43
|
+
"IExperiment",
|
|
44
|
+
"IPluginDataStore",
|
|
45
|
+
"IAsyncPlugin"
|
|
46
|
+
];
|
|
47
|
+
function checkXapCodeInterface(codePath) {
|
|
48
|
+
try {
|
|
49
|
+
const content = fs.readFileSync(codePath, 'utf-8');
|
|
50
|
+
return XapInterfaces.some(iface => content.includes(`:${iface}`) || content.includes(`: ${iface}`));
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function checkXapCode(code) {
|
|
57
|
+
return code.includes('using Xap.PluginFramework;');
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=checkXapCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkXapCode.js","sourceRoot":"","sources":["../../src/utils/checkXapCode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sDAOC;AAED,oCAEC;AAtBD,uCAAyB;AAEzB,MAAM,aAAa,GAAG;IAClB,SAAS;IACT,kBAAkB;IAClB,UAAU;IACV,aAAa;IACb,kBAAkB;IAClB,cAAc;CACjB,CAAC;AAEF,SAAgB,qBAAqB,CAAC,QAAgB;IAClD,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,SAAgB,YAAY,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import * as fs from 'fs';\r\n\r\nconst XapInterfaces = [\r\n \"IPlugin\",\r\n \"IConditionPlugin\",\r\n \"Workflow\",\r\n \"IExperiment\",\r\n \"IPluginDataStore\",\r\n \"IAsyncPlugin\"\r\n];\r\n\r\nexport function checkXapCodeInterface(codePath: string): boolean {\r\n try {\r\n const content = fs.readFileSync(codePath, 'utf-8');\r\n return XapInterfaces.some(iface => content.includes(`:${iface}`) || content.includes(`: ${iface}`));\r\n } catch (err) {\r\n return false;\r\n }\r\n}\r\n\r\nexport function checkXapCode(code: string): boolean {\r\n return code.includes('using Xap.PluginFramework;');\r\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function delay(ms: number): Promise<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay.js","sourceRoot":"","sources":["../../src/utils/delay.ts"],"names":[],"mappings":";;AAAA,sBAEC;AAFD,SAAgB,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC","sourcesContent":["export function delay(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function detectTestFramework(csprojPath: string): string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.detectTestFramework = detectTestFramework;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
function detectTestFramework(csprojPath) {
|
|
9
|
+
const frameworks = [];
|
|
10
|
+
const csprojXml = fs_1.default.readFileSync(csprojPath, "utf-8");
|
|
11
|
+
if (/PackageReference.+Include\s*=\s*["']MSTest\.TestFramework["']/i.test(csprojXml) ||
|
|
12
|
+
/PackageReference.+Include\s*=\s*["']MSTest\.TestAdapter["']/i.test(csprojXml)) {
|
|
13
|
+
return 'MSTest';
|
|
14
|
+
}
|
|
15
|
+
if (/PackageReference.+Include\s*=\s*["']NUnit["']/i.test(csprojXml) ||
|
|
16
|
+
/PackageReference.+Include\s*=\s*["']NUnit3TestAdapter["']/i.test(csprojXml)) {
|
|
17
|
+
return 'NUnit';
|
|
18
|
+
}
|
|
19
|
+
if (/PackageReference.+Include\s*=\s*["']xunit["']/i.test(csprojXml)) {
|
|
20
|
+
return 'xUnit';
|
|
21
|
+
}
|
|
22
|
+
if (frameworks.length === 0) {
|
|
23
|
+
console.error(`No recognized test framework found in ${csprojPath}. Defaulting to 'MSTest'.`);
|
|
24
|
+
}
|
|
25
|
+
return "MSTest";
|
|
26
|
+
}
|
|
27
|
+
// detectTestFramework("D:\\code\\AIUnitTestExample\\test\\ToListinator.Tests\\ToListinator.Tests.csproj").forEach(framework => {
|
|
28
|
+
// console.log(`Detected test framework: ${framework}`);
|
|
29
|
+
// });
|
|
30
|
+
const test = detectTestFramework("D:\\code\\CS.Service.Fundamental\\SharedSegments\\SharedSegments\\SharedSegments.Plugins\\SharedSegments.Plugins.csproj");
|
|
31
|
+
console.log(`Detected test framework: ${test}`);
|
|
32
|
+
//# sourceMappingURL=detectTestFramework.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectTestFramework.js","sourceRoot":"","sources":["../../src/utils/detectTestFramework.ts"],"names":[],"mappings":";;;;;AAEA,kDAuBC;AAzBD,4CAAoB;AAEpB,SAAgB,mBAAmB,CAAC,UAAkB;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEvD,IAAI,gEAAgE,CAAC,IAAI,CAAC,SAAS,CAAC;QACnF,8DAA8D,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAI,gDAAgD,CAAC,IAAI,CAAC,SAAS,CAAC;QACnE,4DAA4D,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/E,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,gDAAgD,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,yCAAyC,UAAU,2BAA2B,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,iIAAiI;AACjI,0DAA0D;AAC1D,MAAM;AAEN,MAAM,IAAI,GAAG,mBAAmB,CAAC,yHAAyH,CAAC,CAAC;AAC5J,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC","sourcesContent":["import fs from 'fs';\r\n\r\nexport function detectTestFramework(csprojPath: string): string {\r\n\tconst frameworks: string[] = [];\r\n\tconst csprojXml = fs.readFileSync(csprojPath, \"utf-8\");\r\n\r\n\tif (/PackageReference.+Include\\s*=\\s*[\"']MSTest\\.TestFramework[\"']/i.test(csprojXml) ||\r\n\t\t/PackageReference.+Include\\s*=\\s*[\"']MSTest\\.TestAdapter[\"']/i.test(csprojXml)) {\r\n\t\treturn 'MSTest';\r\n\t}\r\n\r\n\tif (/PackageReference.+Include\\s*=\\s*[\"']NUnit[\"']/i.test(csprojXml) ||\r\n\t\t/PackageReference.+Include\\s*=\\s*[\"']NUnit3TestAdapter[\"']/i.test(csprojXml)) {\r\n\t\treturn 'NUnit';\r\n\t}\r\n\r\n\tif (/PackageReference.+Include\\s*=\\s*[\"']xunit[\"']/i.test(csprojXml)) {\r\n\t\treturn 'xUnit';\r\n\t}\r\n\r\n\tif (frameworks.length === 0) {\r\n\t\tconsole.error(`No recognized test framework found in ${csprojPath}. Defaulting to 'MSTest'.`);\r\n\t}\r\n\r\n\treturn \"MSTest\";\r\n}\r\n\r\n// detectTestFramework(\"D:\\\\code\\\\AIUnitTestExample\\\\test\\\\ToListinator.Tests\\\\ToListinator.Tests.csproj\").forEach(framework => {\r\n// console.log(`Detected test framework: ${framework}`);\r\n// });\r\n\r\nconst test = detectTestFramework(\"D:\\\\code\\\\CS.Service.Fundamental\\\\SharedSegments\\\\SharedSegments\\\\SharedSegments.Plugins\\\\SharedSegments.Plugins.csproj\");\r\nconsole.log(`Detected test framework: ${test}`);"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.writeTestCode = writeTestCode;
|
|
7
|
+
exports.deleteTestFileIfExists = deleteTestFileIfExists;
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
// split test file path detection out to a separate function
|
|
10
|
+
function writeTestCode(testCode, testFilePath) {
|
|
11
|
+
const validTestCode = !!testCode ? testCode : '';
|
|
12
|
+
// Write the test code to the specified file
|
|
13
|
+
try {
|
|
14
|
+
fs_1.default.writeFileSync(testFilePath, validTestCode, 'utf8');
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
console.error(`Failed to write test code: ${error.message}`);
|
|
18
|
+
// categorize the error based on its code
|
|
19
|
+
if (error.code === 'EACCES') {
|
|
20
|
+
console.error('can not write to the file, permission denied.');
|
|
21
|
+
}
|
|
22
|
+
else if (error.code === 'ENOENT') {
|
|
23
|
+
console.error(`can not write to the file, file or directory does not exist: ${testFilePath}`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.error('unknown error:', error.message);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function deleteTestFileIfExists(testFilePath) {
|
|
31
|
+
if (fs_1.default.existsSync(testFilePath)) {
|
|
32
|
+
fs_1.default.unlink(testFilePath, (err) => {
|
|
33
|
+
if (err) {
|
|
34
|
+
console.error(`Failed to delete test file: ${err.message}`);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.log(`Deleted test file: ${testFilePath}`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=fileUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":";;;;;AAGA,sCAgBC;AAGD,wDAUC;AAhCD,4CAAoB;AAEpB,4DAA4D;AAC5D,SAAgB,aAAa,CAAC,QAAgB,EAAE,YAAoB;IAChE,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,4CAA4C;IAC5C,IAAI,CAAC;QACD,YAAE,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,yCAAyC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,gEAAgE,YAAY,EAAE,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;AACL,CAAC;AAGD,SAAgB,sBAAsB,CAAC,YAAoB;IACvD,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,YAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;YACtD,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC","sourcesContent":["import fs from 'fs';\r\n\r\n// split test file path detection out to a separate function\r\nexport function writeTestCode(testCode: string, testFilePath: string) {\r\n const validTestCode = !!testCode ? testCode : '';\r\n // Write the test code to the specified file\r\n try {\r\n fs.writeFileSync(testFilePath, validTestCode, 'utf8');\r\n } catch (error) {\r\n console.error(`Failed to write test code: ${error.message}`);\r\n // categorize the error based on its code\r\n if (error.code === 'EACCES') {\r\n console.error('can not write to the file, permission denied.');\r\n } else if (error.code === 'ENOENT') {\r\n console.error(`can not write to the file, file or directory does not exist: ${testFilePath}`);\r\n } else {\r\n console.error('unknown error:', error.message);\r\n }\r\n }\r\n}\r\n\r\n\r\nexport function deleteTestFileIfExists(testFilePath: string): void {\r\n if (fs.existsSync(testFilePath)) {\r\n fs.unlink(testFilePath, (err) => {\r\n if (err) {\r\n console.error(`Failed to delete test file: ${err.message}`);\r\n } else {\r\n console.log(`Deleted test file: ${testFilePath}`);\r\n }\r\n });\r\n }\r\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function generateCodeSha256(sourceCodePath: string): string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
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.generateCodeSha256 = generateCodeSha256;
|
|
37
|
+
const crypto = __importStar(require("crypto"));
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
function generateCodeSha256(sourceCodePath) {
|
|
40
|
+
const fileBuffer = fs.readFileSync(sourceCodePath);
|
|
41
|
+
const hash = crypto.createHash('sha256').update(fileBuffer).digest('hex');
|
|
42
|
+
return hash;
|
|
43
|
+
}
|
|
44
|
+
// const sha256 = generateCodeSha256('D:\\code\\CS.Service.Fundamental\\SharedSegments\\SharedSegments\\SharedSegments.Plugins\\Workflows\\Eplant\\RequestBuilders\\EplantRankRequestBuilder.cs');
|
|
45
|
+
// console.log(`SHA-256 hash of the file: ${sha256}`);
|
|
46
|
+
//# sourceMappingURL=generateCodeSha256.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateCodeSha256.js","sourceRoot":"","sources":["../../src/utils/generateCodeSha256.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,gDAIC;AAPD,+CAAiC;AACjC,uCAAyB;AAEzB,SAAgB,kBAAkB,CAAC,cAAsB;IACrD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,kMAAkM;AAClM,sDAAsD","sourcesContent":["import * as crypto from 'crypto';\r\nimport * as fs from 'fs';\r\n\r\nexport function generateCodeSha256(sourceCodePath: string): string {\r\n const fileBuffer = fs.readFileSync(sourceCodePath);\r\n const hash = crypto.createHash('sha256').update(fileBuffer).digest('hex');\r\n return hash;\r\n}\r\n\r\n// const sha256 = generateCodeSha256('D:\\\\code\\\\CS.Service.Fundamental\\\\SharedSegments\\\\SharedSegments\\\\SharedSegments.Plugins\\\\Workflows\\\\Eplant\\\\RequestBuilders\\\\EplantRankRequestBuilder.cs');\r\n// console.log(`SHA-256 hash of the file: ${sha256}`);"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function getSourceFileProjectDir(sourceCodePath: string): string;
|
|
2
|
+
export declare function getSourceFileCsprojFilePath(sourceCodePath: string): string;
|
|
3
|
+
export declare function getCodeRepoRoot(csFilePath: string): string;
|
|
4
|
+
export declare function getAssemblyName(csprojPath: string): string;
|
|
5
|
+
export declare function getBuiltDllPath(csprojPath: string): string;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
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.getSourceFileProjectDir = getSourceFileProjectDir;
|
|
37
|
+
exports.getSourceFileCsprojFilePath = getSourceFileCsprojFilePath;
|
|
38
|
+
exports.getCodeRepoRoot = getCodeRepoRoot;
|
|
39
|
+
exports.getAssemblyName = getAssemblyName;
|
|
40
|
+
exports.getBuiltDllPath = getBuiltDllPath;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
44
|
+
function getSourceFileProjectDir(sourceCodePath) {
|
|
45
|
+
let currentDir = path.dirname(sourceCodePath);
|
|
46
|
+
while (currentDir !== path.dirname(currentDir)) {
|
|
47
|
+
const files = fs.readdirSync(currentDir);
|
|
48
|
+
if (files.some(file => file.endsWith('.csproj'))) {
|
|
49
|
+
return currentDir;
|
|
50
|
+
}
|
|
51
|
+
currentDir = path.dirname(currentDir);
|
|
52
|
+
}
|
|
53
|
+
// Check root directory
|
|
54
|
+
const rootFiles = fs.readdirSync(currentDir);
|
|
55
|
+
if (rootFiles.some(file => file.endsWith('.csproj'))) {
|
|
56
|
+
return currentDir;
|
|
57
|
+
}
|
|
58
|
+
return null; // No .csproj file found
|
|
59
|
+
}
|
|
60
|
+
function getSourceFileCsprojFilePath(sourceCodePath) {
|
|
61
|
+
let currentDir = path.dirname(sourceCodePath);
|
|
62
|
+
while (currentDir !== path.dirname(currentDir)) {
|
|
63
|
+
const files = fs.readdirSync(currentDir);
|
|
64
|
+
const csprojFilePaths = files.filter(file => file.endsWith('.csproj'));
|
|
65
|
+
if (csprojFilePaths?.length > 0) {
|
|
66
|
+
return path.join(currentDir, csprojFilePaths[0]);
|
|
67
|
+
}
|
|
68
|
+
currentDir = path.dirname(currentDir);
|
|
69
|
+
}
|
|
70
|
+
// Check root directory
|
|
71
|
+
const rootFiles = fs.readdirSync(currentDir);
|
|
72
|
+
if (rootFiles.some(file => file.endsWith('.csproj'))) {
|
|
73
|
+
return currentDir;
|
|
74
|
+
}
|
|
75
|
+
return null; // No .csproj file found
|
|
76
|
+
}
|
|
77
|
+
// export function getSourceFileProjectName(sourceCodePath: string) {
|
|
78
|
+
// const projectPath = getSourceFileProjectPath(sourceCodePath);
|
|
79
|
+
// if (!projectPath) {
|
|
80
|
+
// console.warn(`No .csproj file found for ${sourceCodePath}`);
|
|
81
|
+
// return null;
|
|
82
|
+
// }
|
|
83
|
+
// const projectName = path.basename(projectPath, '.csproj');
|
|
84
|
+
// return projectName;
|
|
85
|
+
// }
|
|
86
|
+
// detect .git folder in the dir hierarchy of csFilePath, if exist, it's the code repo root
|
|
87
|
+
function getCodeRepoRoot(csFilePath) {
|
|
88
|
+
const rootDir = path.parse(csFilePath).root;
|
|
89
|
+
let currentDir = path.dirname(csFilePath);
|
|
90
|
+
;
|
|
91
|
+
while (currentDir !== rootDir) {
|
|
92
|
+
if (fs.existsSync(path.join(currentDir, ".git"))) {
|
|
93
|
+
return currentDir;
|
|
94
|
+
}
|
|
95
|
+
currentDir = path.dirname(currentDir);
|
|
96
|
+
}
|
|
97
|
+
console.log(`No .git folder found in the dir hierarchy of ${csFilePath}. Assuming root is ${rootDir}`);
|
|
98
|
+
return rootDir;
|
|
99
|
+
}
|
|
100
|
+
// export function getTestProjectDll(testProjectPath: string) {
|
|
101
|
+
// const testProjectDir = path.dirname(testProjectPath);
|
|
102
|
+
// const testProjectName = path.basename(testProjectPath, '.csproj');
|
|
103
|
+
// const dllName = `${testProjectName}.dll`;
|
|
104
|
+
// const dllPath = path.join(testProjectDir, 'bin', 'Debug', dllName);
|
|
105
|
+
// return dllPath;
|
|
106
|
+
// }
|
|
107
|
+
function getAssemblyName(csprojPath) {
|
|
108
|
+
const xmlContent = fs.readFileSync(csprojPath, "utf-8");
|
|
109
|
+
const parser = new fast_xml_parser_1.XMLParser();
|
|
110
|
+
const parsed = parser.parse(xmlContent);
|
|
111
|
+
const project = parsed.Project;
|
|
112
|
+
if (!project) {
|
|
113
|
+
throw new Error("can't parse .csproj 文件");
|
|
114
|
+
}
|
|
115
|
+
const propertyGroups = Array.isArray(project.PropertyGroup)
|
|
116
|
+
? project.PropertyGroup
|
|
117
|
+
: [project.PropertyGroup];
|
|
118
|
+
for (const group of propertyGroups) {
|
|
119
|
+
if (group.AssemblyName) {
|
|
120
|
+
return group.AssemblyName;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return path.basename(csprojPath, ".csproj");
|
|
124
|
+
}
|
|
125
|
+
function getDllPath(outputDir, assemblyName) {
|
|
126
|
+
if (!fs.existsSync(outputDir)) {
|
|
127
|
+
throw new Error(`The output dir doesn't exist: ${outputDir}`);
|
|
128
|
+
}
|
|
129
|
+
// xap dll path: "D:\code\CS.Service.Fundamental\SharedSegments\SharedSegments\SharedSegments.Tests\bin\Debug\SharedSegments.Tests.dll"
|
|
130
|
+
const dllPath = path.join(outputDir, `${assemblyName}.dll`);
|
|
131
|
+
if (fs.existsSync(dllPath)) {
|
|
132
|
+
return dllPath;
|
|
133
|
+
}
|
|
134
|
+
// general dll path: "D:\code\ai-dev-tools\csharp-ut-copilot\CSharpAnalyzer\CSharpAnalyzer\bin\Debug\net8.0\CSharpAnalyzer.dll"
|
|
135
|
+
const subdirs = fs.readdirSync(outputDir).filter((f) => fs.statSync(path.join(outputDir, f)).isDirectory());
|
|
136
|
+
for (const frameworkDir of subdirs) {
|
|
137
|
+
const dllPath = path.join(outputDir, frameworkDir, `${assemblyName}.dll`);
|
|
138
|
+
if (fs.existsSync(dllPath)) {
|
|
139
|
+
return dllPath;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
throw new Error(`can't get dll file: ${assemblyName}.dll`);
|
|
143
|
+
}
|
|
144
|
+
function getBuiltDllPath(csprojPath) {
|
|
145
|
+
if (!fs.existsSync(csprojPath)) {
|
|
146
|
+
throw new Error(`csproj doesn't exist: ${csprojPath}`);
|
|
147
|
+
}
|
|
148
|
+
const assemblyName = getAssemblyName(csprojPath);
|
|
149
|
+
const projectDir = path.dirname(csprojPath);
|
|
150
|
+
const outputBase = path.join(projectDir, "bin", "Debug");
|
|
151
|
+
return getDllPath(outputBase, assemblyName);
|
|
152
|
+
}
|
|
153
|
+
// const dllPath = getBuiltDllPath("D:\\code\\CS.Service.Fundamental\\SharedSegments\\SharedSegments\\SharedSegments.Tests\\SharedSegments.Tests.csproj");
|
|
154
|
+
// console.log(`Test project DLL path: ${dllPath}`);
|
|
155
|
+
//# sourceMappingURL=getCodeStructurePath.js.map
|