@codacy/tools- 不支持的工具
目录
概览
此软件包持有 已产生,已承诺的表 包含每个 Codacy 云工具
没错 没有 在此 CLI 中有一个本地分析器适配器—— “ 不支持 ”
(只有云)工具。 它使CLI将这些工具作为头等公民对待
配置和结构 info 编号 : analyze 编号 : init 流动,尽管它们
从未在当地执行.
"不支持"意味着什么
当一个工具出现在Codacy目录中时,将在此跟踪(/api/v3/tools),已经 没有
本地适配器 (其UUID没有被任何兄弟姐妹工具包所引用)
prefetch 脚本),并且是 可跟踪 ——即不腐烂和不腐烂
客户端/只独立(仅在客户环境中运行).
说明携带 unsupported: true剩下的CLI就是这么告诉他们的
除了真正的适配器.
目录
src/descriptors.json一个AdapterDescriptor每个工具unsupported: true, (中文(简体) ),uuid设定,supportedRunners: ["container"]) (中文(简体) ).src/patterns/<toolId>.json——该工具的全图案集(外形与a 支持的适配器patterns.json) (中文(简体) ). 没有图案的工具没有文件 .src/index.ts出口unsupportedDescriptors(耳,微小)和loadUnsupportedPatterns(toolId)(懒盘读取,缓存.src/framework-mappings.json——手工操作的框架匹配规则(见下文).
框架制图
几种只使用云的工具的船舶框架特定模式(PHPCS → CakePHP/WordPress/Drupal/Magento/)
共通体; 达塔纳利策 → Fluter/Angular; SonarCSharp → ASP.NET Core/实体框架/xUnit/;
CodeNarc – 圣杯/ Spock/.; Codacy ScalaMeta Pro – 游戏框架.
src/framework-mappings.json 地图 工具标识 – FrameworkMappings 这样
init --auto 只有在实际检测到框架时(并排除
与被支持的工具完全一样.
- 没错 手淫和犯罪 - 不一样
descriptors.json编号 :patterns/,这是 没有 触动 以generate所以它能活下来.index.ts将其合并到每个描述符的frameworkMappings在负载时间. - 从图案形状中选择每个工具的机制 :
prefixes当图案ID被命名为 框架(例如:.PHPCS_CakePHP_, (中文(简体) ),tags其他(如:.flutter, (中文(简体) ),aspnetcore, (中文(简体) ),grails) (中文(简体) ). - 每个 密钥必须是
DEPENDENCY_ENTITIES键 (单位:千美元)packages/tooling/src/dependency-entities.ts(b) —— 马桶,而不是显示名称,因为那是自动点火匹配的。 标签是 复制并重新措辞(angular为角 2+,angular-dart是AngularDart,所以关键是 保存一个 Dart 工具的图案, 避免在 npm 依赖上显示 。 如果发现无法检测到框架 然而,请在适当的生态系统模块中添加一个插图packages/runner/src/discover/ecosystems/。 。 。 . test/framework-mappings.test.ts强制执行,每个关键地图 到一个真正的工具, 合并应用, 并且每个前缀/后缀仍然与所承诺的模式相匹配(防止再生后漂移).- 科达西·斯卡拉梅塔 Pro6个
Custom_Scala_Play*模式都是默认的,读取 Play 的 请求/标题 API,所以在被映射前,他们发射 在每一个斯卡拉雷波.play-framework实值 从sbt-plugin坐标addSbtPlugin宣布并自conf/routes版式 - 游戏被宣布为 sbt 插件,这就是为什么 告诉密钥打开group:artifact。 。 。 . 它的其他80种模式 根本没有标记 并且是真正的通用的斯卡拉规则,所以它们留下来 普遍适用.
重现清单
从回波根:
pnpm generate-unsupported
或来自此包 :
pnpm generate
剧本( E)scripts/generate.mjs获取目录, 减去本地
所支持的工具( 由 UUID 从兄弟姐妹处读取) prefetch 脚本——没有要保存的列表
),过滤出已贬值/客户端工具,并重写
descriptors.json + 键 patterns/提交结果。 在网络故障时它会警告
并退出 0,使已承诺的文件不受影响.
每当 Codacy 添加/ 移动工具或执行新的本地适配器时运行此功能 (然后在下一次再生时从这份清单中消失).
如何消耗
packages/cli/src/index.ts通过registerUnsupportedTool()所以他们出现在getRegisteredDescriptors()。 。 。 .init --auto电话loadUnsupportedPatterns()来填补离线的仅云工具.init --remote编号 :--default运行时从 API 获取图案, 因此 不读取此软件包的图案文件——只读其描述符/注册.
发展
pnpm build # tsup bundle + copy src/patterns → dist/patterns
pnpm test # manifest shape + drift invariants
pnpm lint
loadUnsupportedPatterns 读取 dist/patterns/<toolId>.json 运行时间
(单位:千美元)__dirname- 相对的)和 src/patterns/ 在测试期间.
维护者的注释
- 图案目录是 已重建 每页
generate运行如此删除的工具 别把烂文件留下. - 软件包与
@codacy/tools-目的前缀: CLI 保存 那些外部的包,所以__dirname解决此软件包自己的问题dist/并找到图案文件. filePatterns实值["*"]对所有条目——不支持的工具从不路径文件 所以价值是化妆品.