@ohos-cpf/3rdloop 0.0.1 → 0.0.3
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/README.md +245 -425
- package/bin/3rdloop.mjs +46 -46
- package/lib/cli.js +781 -740
- package/lib/config-cmd.js +452 -0
- package/lib/config.js +318 -317
- package/lib/doctor.js +113 -113
- package/lib/exit-codes.js +30 -30
- package/lib/opencode.js +155 -155
- package/lib/orch.js +426 -426
- package/lib/queries.js +263 -263
- package/lib/step.js +325 -325
- package/lib/ui.js +222 -222
- package/lib/update.js +280 -0
- package/lib/workflow.js +308 -290
- package/lib/workflows.js +131 -131
- package/package.json +50 -50
- package/vendor/Server/Agent/SkillSelector/README.md +343 -343
- package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
- package/vendor/Server/Agent/SkillSelector/index.js +14 -14
- package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
- package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
- package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
- package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
- package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
- package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
- package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
- package/vendor/Server/Brain/Brain.js +686 -686
- package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
- package/vendor/Server/Brain/PlanPersistence.js +196 -196
- package/vendor/Server/Brain/SkillExecutor.js +251 -251
- package/vendor/Server/Brain/index.js +11 -11
- package/vendor/Server/CLI/cli.js +275 -243
- package/vendor/Server/CLI/deveco-code/index.js +71 -0
- package/vendor/Server/CLI/deveco-code.js +5 -0
- package/vendor/Server/CLI/opencode/index.js +817 -804
- package/vendor/Server/CLI/opencode.js +5 -5
- package/vendor/Server/DbUse/MessageArchive.js +61 -61
- package/vendor/Server/DbUse/StorageManager.js +107 -107
- package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
- package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
- package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
- package/vendor/Server/DbUse/index.js +160 -160
- package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
- package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
- package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
- package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
- package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
- package/vendor/Server/FlexRunner/index.js +12 -12
- package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
- package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
- package/vendor/Server/Knowledge/index.js +33 -33
- package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
- package/vendor/Server/LoopEngine/index.js +11 -11
- package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
- package/vendor/Server/Orchestrator/StepNode.js +312 -312
- package/vendor/Server/Orchestrator/index.js +13 -13
- package/vendor/Server/Routes/controllers/BrainController.js +241 -241
- package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
- package/vendor/Server/Routes/controllers/HealthController.js +44 -44
- package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
- package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
- package/vendor/Server/Routes/controllers/StatsController.js +57 -57
- package/vendor/Server/Routes/controllers/StreamController.js +67 -67
- package/vendor/Server/Routes/library/logger.js +179 -179
- package/vendor/Server/Routes/library/zipArchive.js +172 -172
- package/vendor/Server/Routes/router/Router.js +204 -204
- package/vendor/Server/Routes/routes/brain.js +47 -47
- package/vendor/Server/Routes/routes/flexrunner.js +72 -72
- package/vendor/Server/Routes/routes/health.js +28 -28
- package/vendor/Server/Routes/routes/index.js +57 -57
- package/vendor/Server/Routes/routes/knowledge.js +55 -55
- package/vendor/Server/Routes/routes/loopengine.js +58 -58
- package/vendor/Server/Routes/routes/orchestrator.js +61 -61
- package/vendor/Server/Routes/routes/registry.js +97 -97
- package/vendor/Server/Routes/routes/stats.js +23 -23
- package/vendor/Server/Routes/routes/stream.js +30 -30
- package/vendor/Server/Routes/server.js +203 -202
- package/vendor/Server/Routes/sse/SseHub.js +308 -308
- package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -174
- package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -0
- package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -313
- package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -159
- package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
- package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -222
- package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
- package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
- package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
- package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
- package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
- package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
- package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
- package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
- package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
- package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
- package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
- package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
- package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
- package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
- package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
- package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
- package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
- package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
- package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
- package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
- package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
- package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
- package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
- package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
- package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
- package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
- package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
- package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
- package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
- package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
- package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
- package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
- package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
- package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/flutter-interface/README.md +75 -75
- package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
- package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
- package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
- package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
- package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
- package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
- package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
- package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
- package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
- package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
- package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
- package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
- package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
- package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
- package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
- package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
- package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
- package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
- package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
- package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
- package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
- package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
- package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
- package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
- package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
- package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
- package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
- package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
- package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
- package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
- package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
- package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
- package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
- package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
- package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
- package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
- package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
- package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
- package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
- package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
- package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
- package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
- package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
- package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
- package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
- package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
- package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
- package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
- package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
- package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
- package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
- package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
- package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
- package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
- package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
- package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
- package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
- package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
- package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
- package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
- package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
- package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
- package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
- package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
- package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
- package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
- package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
- package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
- package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
- package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
- package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
- package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
- package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
- package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
- package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
- package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
- package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
- package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
- package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
- package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
- package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
- package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
- package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
- package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
- package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
- package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
- package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
- package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
- package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
- package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
- package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
- package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
- package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
- package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
- package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
- package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
- package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
- package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
- package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
- package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
- package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
- package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
- package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
- package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
- package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
- package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
- package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
- package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
- package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
- package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
- package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
- package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
- package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
- package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
- package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
- package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
- package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
- package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
- package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
- package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
- package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
- package/vendor/Server/TestCheck/TestCheck.js +775 -775
- package/vendor/Server/TestCheck/index.js +11 -11
- package/vendor/Server/library/McpToolGuide.js +280 -280
- package/vendor/Server/library/StatsService.js +126 -126
- package/vendor/Server/library/cstTime.js +16 -16
- package/vendor/VERSION +3 -3
- package/workflows/pr-check.mjs +105 -105
- package/workflows/pr-push.mjs +193 -0
- package/vendor/Server/Agent/SkillSelector/types.js +0 -63
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "commonjs",
|
|
3
|
-
"private": true,
|
|
4
|
-
"comment": "Override parent package.json type:module to allow CommonJS require() in .js scripts"
|
|
5
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"type": "commonjs",
|
|
3
|
+
"private": true,
|
|
4
|
+
"comment": "Override parent package.json type:module to allow CommonJS require() in .js scripts"
|
|
5
|
+
}
|
|
@@ -1,137 +1,180 @@
|
|
|
1
|
-
# 三方库版本分析报告:{repo-name}
|
|
2
|
-
|
|
3
|
-
**生成日期:** {YYYY-MM-DD}
|
|
4
|
-
**鸿蒙化仓库:** {owner}/{repo}
|
|
5
|
-
**上游 npm 包名:** {package-name}
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 基本信息
|
|
10
|
-
|
|
11
|
-
| 项目 | 值 |
|
|
12
|
-
|------|-----|
|
|
13
|
-
| 鸿蒙化仓库 | {owner}/{repo} |
|
|
14
|
-
| 上游仓库 | {upstream-url} |
|
|
15
|
-
| 上游 npm 包名 | {package-name} |
|
|
16
|
-
| 当前 RNOH 版本 | {当前分支版本,如 0.77} |
|
|
17
|
-
| 目标 RNOH 版本 | {目标版本,如 0.84} |
|
|
18
|
-
| 升级类型 | 类型 A(上游版本升级 + 框架适配) / 类型 B(纯框架适配) |
|
|
19
|
-
| 库类型 libraryType | {native-harmony / js-only-harmony / pure-js} |
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## 版本差距
|
|
24
|
-
|
|
25
|
-
| 项目 | 值 |
|
|
26
|
-
|------|-----|
|
|
27
|
-
| 鸿蒙化基线版本 | v{version} |
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
-
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
|
116
|
-
|
|
117
|
-
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
1
|
+
# 三方库版本分析报告:{repo-name}
|
|
2
|
+
|
|
3
|
+
**生成日期:** {YYYY-MM-DD}
|
|
4
|
+
**鸿蒙化仓库:** {owner}/{repo}
|
|
5
|
+
**上游 npm 包名:** {package-name}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 基本信息
|
|
10
|
+
|
|
11
|
+
| 项目 | 值 |
|
|
12
|
+
|------|-----|
|
|
13
|
+
| 鸿蒙化仓库 | {owner}/{repo} |
|
|
14
|
+
| 上游仓库 | {upstream-url} |
|
|
15
|
+
| 上游 npm 包名 | {package-name} |
|
|
16
|
+
| 当前 RNOH 版本 | {当前分支版本,如 0.77} |
|
|
17
|
+
| 目标 RNOH 版本 | {目标版本,如 0.84} |
|
|
18
|
+
| 升级类型 | 类型 A(上游版本升级 + 框架适配) / 类型 B(纯框架适配) |
|
|
19
|
+
| 库类型 libraryType | {native-harmony / js-only-harmony / pure-js} |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 版本差距
|
|
24
|
+
|
|
25
|
+
| 项目 | 值 |
|
|
26
|
+
|------|-----|
|
|
27
|
+
| 鸿蒙化基线版本 | v{version} |
|
|
28
|
+
| 任务指定对比版本 | v{version}(与 latest 不同时填写) |
|
|
29
|
+
| npm 最新版本 (dist-tags.latest) | v{version} |
|
|
30
|
+
| 版本状态 | {落后 N 个小版本 / ✅ 最新 / 超前} |
|
|
31
|
+
| 至任务指定版本差距 | {落后 N 个版本,主要变更概述} |
|
|
32
|
+
| 至 npm latest 差距 | {落后 N 个版本,latest 增量说明(如仅 patch 修复),可提示顺带对齐} |
|
|
33
|
+
| 最近版本列表 | {v1}, {v2}, {v3}, ... |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 分支-基线核验(任务指定分支/基线与仓库不符时必填)
|
|
38
|
+
|
|
39
|
+
> 以 `README.OpenSource` Version Number(最可靠)+ `git log --all --grep` + `git branch -a --contains` 核验;不符时以实际核验结果为准,并在报告开篇澄清。
|
|
40
|
+
|
|
41
|
+
| 分支 | package.json 版本 | README.OpenSource 上游基线 | 说明 |
|
|
42
|
+
|------|------------------|---------------------------|------|
|
|
43
|
+
| {branch} | {version} | {version} | {如:任务指定分支,实际基线为 X} |
|
|
44
|
+
| {branch} | {version} | {version} | {如:任务指定基线实际所在分支} |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 自动判定修正(人工复核推翻脚本结论时必填)
|
|
49
|
+
|
|
50
|
+
> 脚本(rn-scan-exports.cjs)自动判定仅覆盖 TurboModule Spec;Fabric 组件 Spec 变更须人工 diff `codegenNativeComponent` 输入文件复核。下游请勿直接采信 `api-diff_*.md` 的自动结论。
|
|
51
|
+
|
|
52
|
+
| 项目 | 内容 |
|
|
53
|
+
|------|------|
|
|
54
|
+
| 脚本自动结论 | {如:✅ 无需原生适配 — 接口未变更} |
|
|
55
|
+
| 修正后结论 | {如:需要原生适配(类型 A)} |
|
|
56
|
+
| 修正原因 | {如:Fabric 组件 Spec 新增 N props + M 事件,为 codegen 直接输入} |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 差异概览(仅类型 A)
|
|
61
|
+
|
|
62
|
+
- 变更文件数:{N} 个
|
|
63
|
+
- 新增文件:{N} 个
|
|
64
|
+
- 删除文件:{N} 个
|
|
65
|
+
- 修改文件:{N} 个
|
|
66
|
+
- 净增行数:+{N} / -{N}
|
|
67
|
+
|
|
68
|
+
### 变更摘要(按模块分类)
|
|
69
|
+
|
|
70
|
+
| 模块 | 变更说明 | 影响程度 | 文件数 |
|
|
71
|
+
|------|----------|----------|--------|
|
|
72
|
+
| JS/TS 公共 API | {说明} | 高/中/低 | {n} |
|
|
73
|
+
| TurboModule Spec | {说明} | 高/中/低 | {n} |
|
|
74
|
+
| Fabric 组件 Spec | {说明} | 高/中/低 | {n} |
|
|
75
|
+
| Android 原生 | {说明} | 高/中/低 | {n} |
|
|
76
|
+
| iOS 原生 | {说明} | 高/中/低 | {n} |
|
|
77
|
+
| 构建/依赖 | {说明} | 高/中/低 | {n} |
|
|
78
|
+
| 文档/测试/CI | {说明} | 高/中/低 | {n} |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 上游→鸿蒙目录映射(仅类型 A)
|
|
83
|
+
|
|
84
|
+
> 鸿蒙化仓库并非原样保留上游 src/ 结构。Phase 2 筛选与后续 code-adapt 阶段按此表转写文件变更,不得假设鸿蒙仓库保留上游目录结构。
|
|
85
|
+
|
|
86
|
+
| 类别 | 上游路径 | 鸿蒙仓库对应 | 说明 |
|
|
87
|
+
|------|----------|-------------|------|
|
|
88
|
+
| Fabric 组件 Spec | {path} | {path} | {重命名/扩展说明} |
|
|
89
|
+
| TurboModule Spec | {path} | {path} | |
|
|
90
|
+
| types | {path} | {path} | |
|
|
91
|
+
| 平台实现 | {X.android.tsx / X.ios.tsx} | {X.tsx 自有实现等} | |
|
|
92
|
+
| codegen 入口 | — | {scripts/codegen-lib.js 等} | {react-native-harmony-cli 调用方式、输出目录} |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 升级风险评估
|
|
97
|
+
|
|
98
|
+
| 风险等级 | 判定依据 |
|
|
99
|
+
|----------|----------|
|
|
100
|
+
| 🟢 低风险 | 仅补丁版本差距,无 breaking change |
|
|
101
|
+
| 🟡 中风险 | 小版本差距,有 API 变更但向后兼容 |
|
|
102
|
+
| 🔴 高风险 | 大版本差距,有 breaking change 或原生层重构 |
|
|
103
|
+
|
|
104
|
+
**当前评估:** {风险等级} — {判定依据说明}
|
|
105
|
+
|
|
106
|
+
> ⚠️ major 版本跨度 ≠ breaking change:须逐条核对 CHANGELOG / GitHub Releases 的 breaking 项是否触及 **JS 层接口契约**(原生侧 only 的 breaking 属性可降级处理)。
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 鸿蒙 API 核查(涉及原生能力时必填)
|
|
111
|
+
|
|
112
|
+
> 凡涉及原生能力的需适配项,须使用 `devecocli docs search` 完成核查后再写结论。
|
|
113
|
+
> 纯 JS 库标注「不适用 API 核查」并跳过下表。流程见 [references/OHOS_API_LOOKUP.md](../references/OHOS_API_LOOKUP.md)。
|
|
114
|
+
|
|
115
|
+
| 上游能力 | 上游实现摘要 | 鸿蒙 Kit/API | 能力对比 | 约束与风险 | 可行性 | 建议动作 | 核查状态 |
|
|
116
|
+
|----------|--------------|-------------|----------|------------|--------|----------|----------|
|
|
117
|
+
| {capability} | {android_ios_summary} | {kit + api + 搜索关键词} | 一致/子集/无对等 | {docs_constraints} | ✅/⚠️/🔶/❌ | {harmony_files_strategy} | 分析中/已完成 |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 鸿蒙化适配分析
|
|
122
|
+
|
|
123
|
+
> 判断规则见 [references/OHOS_ADAPTATION.md](../references/OHOS_ADAPTATION.md)。
|
|
124
|
+
|
|
125
|
+
### 需适配项
|
|
126
|
+
|
|
127
|
+
| 序号 | 上游变更 | 鸿蒙侧动作 | 优先级 | 适配依据 |
|
|
128
|
+
|------|----------|------------|--------|----------|
|
|
129
|
+
| 1 | {upstream_change} | {ohos_action} | 高/中/低 | {引用 API 核查表行号} |
|
|
130
|
+
|
|
131
|
+
### 无需适配项
|
|
132
|
+
|
|
133
|
+
- {no_adapt_item_1}
|
|
134
|
+
|
|
135
|
+
### RNOH 框架版本变化(类型 B 或跨版本升级时填写)
|
|
136
|
+
|
|
137
|
+
| 项目 | 当前版本 | 目标版本 |
|
|
138
|
+
|------|----------|----------|
|
|
139
|
+
| react-native | ... | ... |
|
|
140
|
+
| react | ... | ... |
|
|
141
|
+
| @react-native-oh/react-native-harmony | ... | ... |
|
|
142
|
+
| CLI | ... | ... |
|
|
143
|
+
|
|
144
|
+
### 需关注的适配点
|
|
145
|
+
|
|
146
|
+
(列出 ETS 业务代码、Package 注册代码、C++ 层依赖的 RNOH API,
|
|
147
|
+
以及 generated/ 代码需重新 codegen 的说明)
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 差异文件位置(仅类型 A)
|
|
152
|
+
|
|
153
|
+
> 工作目录:`{output-dir}`
|
|
154
|
+
|
|
155
|
+
| 文件 | 完整路径 | 说明 |
|
|
156
|
+
|------|----------|------|
|
|
157
|
+
| 源码目录 (基线) | `{output-dir}/{b1}/` | 基线版本源码导出 |
|
|
158
|
+
| 源码目录 (目标) | `{output-dir}/{b2}/` | 目标版本源码导出 |
|
|
159
|
+
| diff patch | `{output-dir}/diff_{b1}_{b2}.patch` | JS/TS 核心文件变更补丁 |
|
|
160
|
+
| 变更摘要 | `{output-dir}/summary_{b1}_{b2}.md` | 按文件统计增删行数 |
|
|
161
|
+
| 接口差异检查清单 | `{output-dir}/api-diff_{b1}_{b2}.md` | TurboModule Spec 差异 |
|
|
162
|
+
| 适配分析报告 | `{output-dir}/structure_{b1}_{b2}.md` | 接口驱动的适配分析 |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 升级步骤建议
|
|
167
|
+
|
|
168
|
+
1. 从当前分支创建新的目标分支
|
|
169
|
+
2. {类型 A:应用上游 diff patch 合并 JS 变更 / 类型 B:跳过}
|
|
170
|
+
3. 更新 package.json / oh-package.json5 中的 RNOH 依赖版本
|
|
171
|
+
4. 使用目标版本 CLI 重新执行 codegen
|
|
172
|
+
5. 验证 RNOH API 兼容性(ETS/C++ 层)
|
|
173
|
+
6. {类型 A:适配鸿蒙原生层变更 / 类型 B:跳过}
|
|
174
|
+
7. 编译构建验证 + 功能测试
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 下一步建议
|
|
179
|
+
|
|
180
|
+
→ 使用 code-adapt skill 进行代码适配与编译验证
|
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rnoh-lib-xts-coverage
|
|
3
|
-
description: 分析 RN 鸿蒙三方库现有测试用例对接口的覆盖情况。通过 rn-analyze-test-coverage.cjs 脚本一步完成接口提取、测试覆盖率匹配和 Markdown 报告生成。当需要对 RN 鸿蒙三方库的测试用例进行接口覆盖率分析时调用。
|
|
4
|
-
license: Apache-2.0
|
|
5
|
-
compatibility: 需要 Node.js 运行环境
|
|
6
|
-
metadata:
|
|
7
|
-
version: "1.1.0"
|
|
8
|
-
category: rn-testing
|
|
9
|
-
language: JavaScript/TypeScript
|
|
10
|
-
useWhen: 分析 RN 鸿蒙三方库测试用例对接口的覆盖情况
|
|
11
|
-
consumed-by: rnohLibTestAlignSkill
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# RN 鸿蒙三方库测试用例接口覆盖率分析
|
|
15
|
-
|
|
16
|
-
通过 `rn-analyze-test-coverage.cjs` 脚本一步完成接口提取、测试覆盖率匹配和 Markdown 报告生成,无需中间文件。
|
|
17
|
-
|
|
18
|
-
> ⚠️ **核心约束**:基于静态 import 和接口调用分析,动态调用(`obj[methodName]()`)无法识别。
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 脚本依赖
|
|
23
|
-
|
|
24
|
-
本 Skill 直接调用以下本地脚本完成全部分析工作:
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
3rdLibraryLoop/MCP/scripts/rn-analyze-test-coverage.cjs
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**调用方式**:通过 `node` 命令行直接执行,使用 `--` 参数传参。
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## 任务参数
|
|
35
|
-
|
|
36
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
37
|
-
|------|------|------|------|
|
|
38
|
-
| `libroot` | string | ✅* | 库根目录路径(RN 三方库的鸿蒙化仓库目录,包含 `package.json`) |
|
|
39
|
-
| `spec` | string | ✅* | 已有的 interface-spec.json 路径(与 `libroot` 二选一) |
|
|
40
|
-
| `output` | string | ❌ | 输出 Markdown 报告路径,默认 `03-{库名}-Test覆盖率报告.md` |
|
|
41
|
-
| `title` | string | ❌ | 报告标题 |
|
|
42
|
-
| `mode` | string | ❌ | 匹配模式: `auto`(默认) \| `ast` \| `regex` |
|
|
43
|
-
| `version` | string | ❌ | 上游 npm 版本号(如 `4.7.3`),未指定时自动从 dependencies/README 推断;⚠️ 勿用库自身 `package.json.version`(RNOH 库 version 常为团队自编版本号,非上游版本) |
|
|
44
|
-
| `src` | string | ❌ | 测试源码目录覆盖,默认自动检测 |
|
|
45
|
-
| `local-spec` | boolean | ❌ | 启用本地 `src/` 作为接口规格来源(默认从上游 npm 提取),用于 RNOH 扩展型库避免本地独有 API 盲区 |
|
|
46
|
-
|
|
47
|
-
> `libroot` 与 `spec` 至少提供一个。提供 `spec` 时跳过接口提取步骤直接使用;仅提供 `libroot` 时脚本自动从源码提取接口(必要时拉取上游 npm 源码)。
|
|
48
|
-
|
|
49
|
-
**派生变量**:
|
|
50
|
-
- `skillDir`:本 Skill 所在目录
|
|
51
|
-
- `scriptPath`:分析脚本路径 = `{{skillDir}}/../../../MCP/scripts/rn-analyze-test-coverage.cjs`
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## 执行命令
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
node "{{skillDir}}/../../../MCP/scripts/rn-analyze-test-coverage.cjs" \
|
|
59
|
-
--libroot "{{libroot}}" \
|
|
60
|
-
[--output "{{output}}"] [--title "{{title}}"] [--mode auto|ast|regex] [--version "{{上游版本}}"] [--src "{{测试源码目录}}"] [--local-spec]
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
或从已有 interface-spec.json 生成:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
node "{{skillDir}}/../../../MCP/scripts/rn-analyze-test-coverage.cjs" \
|
|
67
|
-
--spec "{{spec}}" --libroot "{{libroot}}" [--output "{{output}}"]
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
其中:
|
|
71
|
-
- `{{skillDir}}` = SKILL.md 所在目录
|
|
72
|
-
- `{{libroot}}` = RN 三方库的鸿蒙化仓库根目录
|
|
73
|
-
- `{{workspaceRoot}}` = `3rdLibraryLoop` 工作区根目录
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## 脚本自动完成
|
|
78
|
-
|
|
79
|
-
1. 获取接口规格(从 `--spec` 指定的 JSON 读取,或从 `libroot` 源码自动提取,必要时拉取上游 npm 源码 `index.js`/`index.d.ts` 及本地 TurboModule Spec `Native*.ts`)
|
|
80
|
-
2. 自动检测测试源码目录(按优先级查找):
|
|
81
|
-
- `example/src/test`、`example/src/tests`、`example/__tests__`
|
|
82
|
-
- `example/src/`(递归)、`example/src/*/`(RN3rdTemplate RNTesterList 模式 A:`example/src/<LibName>/`)
|
|
83
|
-
- `demo/__tests__`、`demo/src/test`、`demo/src/tests`
|
|
84
|
-
- `__tests__`、`test`、`tests`
|
|
85
|
-
3. 递归扫描测试源码目录下所有 `.ts`、`.tsx`、`.js`、`.jsx`、`.ets` 文件(排除 `node_modules`、`harmony`、`android`、`ios`、`__mocks__`)
|
|
86
|
-
4. 提取 `import { ... } from 'lib'` 语句(ES Module 默认/命名/别名/混合导入、CommonJS require、side-effect import)
|
|
87
|
-
5. AST/正则双层匹配:静态方法、实例方法(追踪变量声明与类型)、链式调用、对象字面量属性、默认导入命名空间宽松兜底
|
|
88
|
-
6. 直接渲染输出 Markdown 覆盖率报告
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## 库源码目录结构约定
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
{{libroot}}/
|
|
96
|
-
├── package.json ← 库 package.json(依赖中含上游 npm 包名)
|
|
97
|
-
├── src/ ← JS 层导出源码
|
|
98
|
-
├── harmony/ ← 鸿蒙化原生代码(ArkTS/C++,扫描时排除)
|
|
99
|
-
├── __tests__/ ← 测试源码(自动检测目录之一)
|
|
100
|
-
└── example/
|
|
101
|
-
├── __tests__/ ← 测试源码(自动检测目录之一)
|
|
102
|
-
├── src/test/ ← 测试源码(自动检测目录之一)
|
|
103
|
-
└── ...
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
> 脚本自动检测测试目录,无需手动指定 `--src`;如自动检测失败或多目录共存,可用 `--src` 显式指定。
|
|
107
|
-
> ⚠️ 使用 `rn-lib-add-example`(RN3rdTemplate 模板)创建的 example 工程,其 demo 位于 `example/src/<LibName>/`,需显式 `--src example/src`(或 `--src example/src/<LibName>`)。
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## 输入依赖
|
|
112
|
-
|
|
113
|
-
- **前置SKILL**: rnoh-lib-code-adapt(可选;测试源码通常来自 rnoh-lib-test-align 的移植产物)
|
|
114
|
-
- **输入文件**: 库源码目录(含 `package.json` 和测试源码目录)
|
|
115
|
-
- **输出文件**: Markdown 覆盖率报告(脚本直接生成)
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## 输出
|
|
120
|
-
|
|
121
|
-
生成 Markdown 报告,包含以下章节:
|
|
122
|
-
- **基本信息**:库名、源文件数、生成时间
|
|
123
|
-
- **覆盖率总览**:方法级覆盖率百分比、S/N/M 统计、进度条
|
|
124
|
-
- **按接口类型统计**:method/constructor/property/field/enumValue/function/variable/type 分类别覆盖率
|
|
125
|
-
- **类级覆盖率**:按类分组的覆盖明细(按覆盖率升序排列)
|
|
126
|
-
- **未覆盖接口详情**:按类分组的未覆盖接口清单(含参数、返回类型、说明)
|
|
127
|
-
- **已覆盖接口详情**:按类分组的已覆盖接口清单(含签名和覆盖来源文件)
|
|
128
|
-
- **文件覆盖详情**:每个测试文件覆盖的接口数和接口列表
|
|
129
|
-
- **覆盖率提升建议**:按优先级排列的未覆盖接口补充清单
|
|
130
|
-
|
|
131
|
-
> 当未找到测试源文件时,报告会标注「无测试文档声明」并列出所有接口为未覆盖。
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## 注意事项
|
|
136
|
-
|
|
137
|
-
1. **确定性**:所有计数和匹配由脚本完成,同一组输入必定产生相同输出
|
|
138
|
-
2. **子目录排除**:自动排除 `node_modules`、`harmony`、`android`、`ios`、`__mocks__` 等目录
|
|
139
|
-
3. **构造函数和枚举**:已在接口提取阶段排除
|
|
140
|
-
4. **动态调用限制**:`obj[methodName]()` 无法识别;**命令式组件**(`forwardRef` + `useImperativeHandle` + `ref.current.method()`)的 ref 调用同样无法被 AST 归因,覆盖率会被低估。对这类库应更看重 field/props 层与 Hook 层指标,方法层覆盖率仅供参考
|
|
141
|
-
5. **模式选择**:`auto` 优先 AST 匹配(需 TypeScript 模块),失败时降级正则;`ast` 强制 AST;`regex` 强制正则
|
|
142
|
-
6. **版本推断**:未传 `--version` 时,脚本从 `package.json` 的 `dependencies` 或 README 自动推断上游 npm 版本号
|
|
143
|
-
> ⚠️ **版本核对**:RNOH 库的 `package.json.version` 常为团队自编版本号(非上游 npm 版本),勿直接用作 `--version`。执行前应先 `npm view <上游包名> versions --json` 核对真实可用版本,选择与本地 `src/` API 风格匹配的主版本线(看标志性导出符号,如 v4 的 `useCameraDevice`/`takePhoto` vs v5 的 `useCamera`/`CameraController`)。
|
|
144
|
-
> ⚠️ **降级风险**:若指定 `--version` 在 npm 不存在而脚本自动降级到 `latest`,且 `latest` 主版本号与指定版本不同(跨 major),可能导致拉取到重构后完全不兼容的 API 面(如 vision-camera 4.x→5.x)。务必核对降级后的 API 一致性,必要时显式指定同主版本最大号。
|
|
145
|
-
7. **本地扩展 API 盲区**:接口规格默认取自上游 npm,本地 RNOH 扩展 API(未出现在上游导出中)不计入分母,覆盖率被轻微高估且扩展 API 不会出现在未覆盖清单中。使用 `--local-spec` 以本地 `src/index.tsx` 导出为规格来源可缓解此盲区。
|
|
1
|
+
---
|
|
2
|
+
name: rnoh-lib-xts-coverage
|
|
3
|
+
description: 分析 RN 鸿蒙三方库现有测试用例对接口的覆盖情况。通过 rn-analyze-test-coverage.cjs 脚本一步完成接口提取、测试覆盖率匹配和 Markdown 报告生成。当需要对 RN 鸿蒙三方库的测试用例进行接口覆盖率分析时调用。
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
compatibility: 需要 Node.js 运行环境
|
|
6
|
+
metadata:
|
|
7
|
+
version: "1.1.0"
|
|
8
|
+
category: rn-testing
|
|
9
|
+
language: JavaScript/TypeScript
|
|
10
|
+
useWhen: 分析 RN 鸿蒙三方库测试用例对接口的覆盖情况
|
|
11
|
+
consumed-by: rnohLibTestAlignSkill
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# RN 鸿蒙三方库测试用例接口覆盖率分析
|
|
15
|
+
|
|
16
|
+
通过 `rn-analyze-test-coverage.cjs` 脚本一步完成接口提取、测试覆盖率匹配和 Markdown 报告生成,无需中间文件。
|
|
17
|
+
|
|
18
|
+
> ⚠️ **核心约束**:基于静态 import 和接口调用分析,动态调用(`obj[methodName]()`)无法识别。
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 脚本依赖
|
|
23
|
+
|
|
24
|
+
本 Skill 直接调用以下本地脚本完成全部分析工作:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
3rdLibraryLoop/MCP/scripts/rn-analyze-test-coverage.cjs
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**调用方式**:通过 `node` 命令行直接执行,使用 `--` 参数传参。
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 任务参数
|
|
35
|
+
|
|
36
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
37
|
+
|------|------|------|------|
|
|
38
|
+
| `libroot` | string | ✅* | 库根目录路径(RN 三方库的鸿蒙化仓库目录,包含 `package.json`) |
|
|
39
|
+
| `spec` | string | ✅* | 已有的 interface-spec.json 路径(与 `libroot` 二选一) |
|
|
40
|
+
| `output` | string | ❌ | 输出 Markdown 报告路径,默认 `03-{库名}-Test覆盖率报告.md` |
|
|
41
|
+
| `title` | string | ❌ | 报告标题 |
|
|
42
|
+
| `mode` | string | ❌ | 匹配模式: `auto`(默认) \| `ast` \| `regex` |
|
|
43
|
+
| `version` | string | ❌ | 上游 npm 版本号(如 `4.7.3`),未指定时自动从 dependencies/README 推断;⚠️ 勿用库自身 `package.json.version`(RNOH 库 version 常为团队自编版本号,非上游版本) |
|
|
44
|
+
| `src` | string | ❌ | 测试源码目录覆盖,默认自动检测 |
|
|
45
|
+
| `local-spec` | boolean | ❌ | 启用本地 `src/` 作为接口规格来源(默认从上游 npm 提取),用于 RNOH 扩展型库避免本地独有 API 盲区 |
|
|
46
|
+
|
|
47
|
+
> `libroot` 与 `spec` 至少提供一个。提供 `spec` 时跳过接口提取步骤直接使用;仅提供 `libroot` 时脚本自动从源码提取接口(必要时拉取上游 npm 源码)。
|
|
48
|
+
|
|
49
|
+
**派生变量**:
|
|
50
|
+
- `skillDir`:本 Skill 所在目录
|
|
51
|
+
- `scriptPath`:分析脚本路径 = `{{skillDir}}/../../../MCP/scripts/rn-analyze-test-coverage.cjs`
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 执行命令
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
node "{{skillDir}}/../../../MCP/scripts/rn-analyze-test-coverage.cjs" \
|
|
59
|
+
--libroot "{{libroot}}" \
|
|
60
|
+
[--output "{{output}}"] [--title "{{title}}"] [--mode auto|ast|regex] [--version "{{上游版本}}"] [--src "{{测试源码目录}}"] [--local-spec]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
或从已有 interface-spec.json 生成:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
node "{{skillDir}}/../../../MCP/scripts/rn-analyze-test-coverage.cjs" \
|
|
67
|
+
--spec "{{spec}}" --libroot "{{libroot}}" [--output "{{output}}"]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
其中:
|
|
71
|
+
- `{{skillDir}}` = SKILL.md 所在目录
|
|
72
|
+
- `{{libroot}}` = RN 三方库的鸿蒙化仓库根目录
|
|
73
|
+
- `{{workspaceRoot}}` = `3rdLibraryLoop` 工作区根目录
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 脚本自动完成
|
|
78
|
+
|
|
79
|
+
1. 获取接口规格(从 `--spec` 指定的 JSON 读取,或从 `libroot` 源码自动提取,必要时拉取上游 npm 源码 `index.js`/`index.d.ts` 及本地 TurboModule Spec `Native*.ts`)
|
|
80
|
+
2. 自动检测测试源码目录(按优先级查找):
|
|
81
|
+
- `example/src/test`、`example/src/tests`、`example/__tests__`
|
|
82
|
+
- `example/src/`(递归)、`example/src/*/`(RN3rdTemplate RNTesterList 模式 A:`example/src/<LibName>/`)
|
|
83
|
+
- `demo/__tests__`、`demo/src/test`、`demo/src/tests`
|
|
84
|
+
- `__tests__`、`test`、`tests`
|
|
85
|
+
3. 递归扫描测试源码目录下所有 `.ts`、`.tsx`、`.js`、`.jsx`、`.ets` 文件(排除 `node_modules`、`harmony`、`android`、`ios`、`__mocks__`)
|
|
86
|
+
4. 提取 `import { ... } from 'lib'` 语句(ES Module 默认/命名/别名/混合导入、CommonJS require、side-effect import)
|
|
87
|
+
5. AST/正则双层匹配:静态方法、实例方法(追踪变量声明与类型)、链式调用、对象字面量属性、默认导入命名空间宽松兜底
|
|
88
|
+
6. 直接渲染输出 Markdown 覆盖率报告
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 库源码目录结构约定
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
{{libroot}}/
|
|
96
|
+
├── package.json ← 库 package.json(依赖中含上游 npm 包名)
|
|
97
|
+
├── src/ ← JS 层导出源码
|
|
98
|
+
├── harmony/ ← 鸿蒙化原生代码(ArkTS/C++,扫描时排除)
|
|
99
|
+
├── __tests__/ ← 测试源码(自动检测目录之一)
|
|
100
|
+
└── example/
|
|
101
|
+
├── __tests__/ ← 测试源码(自动检测目录之一)
|
|
102
|
+
├── src/test/ ← 测试源码(自动检测目录之一)
|
|
103
|
+
└── ...
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
> 脚本自动检测测试目录,无需手动指定 `--src`;如自动检测失败或多目录共存,可用 `--src` 显式指定。
|
|
107
|
+
> ⚠️ 使用 `rn-lib-add-example`(RN3rdTemplate 模板)创建的 example 工程,其 demo 位于 `example/src/<LibName>/`,需显式 `--src example/src`(或 `--src example/src/<LibName>`)。
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 输入依赖
|
|
112
|
+
|
|
113
|
+
- **前置SKILL**: rnoh-lib-code-adapt(可选;测试源码通常来自 rnoh-lib-test-align 的移植产物)
|
|
114
|
+
- **输入文件**: 库源码目录(含 `package.json` 和测试源码目录)
|
|
115
|
+
- **输出文件**: Markdown 覆盖率报告(脚本直接生成)
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 输出
|
|
120
|
+
|
|
121
|
+
生成 Markdown 报告,包含以下章节:
|
|
122
|
+
- **基本信息**:库名、源文件数、生成时间
|
|
123
|
+
- **覆盖率总览**:方法级覆盖率百分比、S/N/M 统计、进度条
|
|
124
|
+
- **按接口类型统计**:method/constructor/property/field/enumValue/function/variable/type 分类别覆盖率
|
|
125
|
+
- **类级覆盖率**:按类分组的覆盖明细(按覆盖率升序排列)
|
|
126
|
+
- **未覆盖接口详情**:按类分组的未覆盖接口清单(含参数、返回类型、说明)
|
|
127
|
+
- **已覆盖接口详情**:按类分组的已覆盖接口清单(含签名和覆盖来源文件)
|
|
128
|
+
- **文件覆盖详情**:每个测试文件覆盖的接口数和接口列表
|
|
129
|
+
- **覆盖率提升建议**:按优先级排列的未覆盖接口补充清单
|
|
130
|
+
|
|
131
|
+
> 当未找到测试源文件时,报告会标注「无测试文档声明」并列出所有接口为未覆盖。
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 注意事项
|
|
136
|
+
|
|
137
|
+
1. **确定性**:所有计数和匹配由脚本完成,同一组输入必定产生相同输出
|
|
138
|
+
2. **子目录排除**:自动排除 `node_modules`、`harmony`、`android`、`ios`、`__mocks__` 等目录
|
|
139
|
+
3. **构造函数和枚举**:已在接口提取阶段排除
|
|
140
|
+
4. **动态调用限制**:`obj[methodName]()` 无法识别;**命令式组件**(`forwardRef` + `useImperativeHandle` + `ref.current.method()`)的 ref 调用同样无法被 AST 归因,覆盖率会被低估。对这类库应更看重 field/props 层与 Hook 层指标,方法层覆盖率仅供参考
|
|
141
|
+
5. **模式选择**:`auto` 优先 AST 匹配(需 TypeScript 模块),失败时降级正则;`ast` 强制 AST;`regex` 强制正则
|
|
142
|
+
6. **版本推断**:未传 `--version` 时,脚本从 `package.json` 的 `dependencies` 或 README 自动推断上游 npm 版本号
|
|
143
|
+
> ⚠️ **版本核对**:RNOH 库的 `package.json.version` 常为团队自编版本号(非上游 npm 版本),勿直接用作 `--version`。执行前应先 `npm view <上游包名> versions --json` 核对真实可用版本,选择与本地 `src/` API 风格匹配的主版本线(看标志性导出符号,如 v4 的 `useCameraDevice`/`takePhoto` vs v5 的 `useCamera`/`CameraController`)。
|
|
144
|
+
> ⚠️ **降级风险**:若指定 `--version` 在 npm 不存在而脚本自动降级到 `latest`,且 `latest` 主版本号与指定版本不同(跨 major),可能导致拉取到重构后完全不兼容的 API 面(如 vision-camera 4.x→5.x)。务必核对降级后的 API 一致性,必要时显式指定同主版本最大号。
|
|
145
|
+
7. **本地扩展 API 盲区**:接口规格默认取自上游 npm,本地 RNOH 扩展 API(未出现在上游导出中)不计入分母,覆盖率被轻微高估且扩展 API 不会出现在未覆盖清单中。使用 `--local-spec` 以本地 `src/index.tsx` 导出为规格来源可缓解此盲区。
|