pumuki 6.3.370 → 6.3.372
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.
|
@@ -76,6 +76,16 @@ const NON_CODE_RULE_PATTERNS: ReadonlyArray<RegExp> = [
|
|
|
76
76
|
/\btestflight\b/,
|
|
77
77
|
/\bfastlane\b/,
|
|
78
78
|
/\bdeployments?\b/,
|
|
79
|
+
/\banalytics[-\s]firebase[-\s]analytics\b/,
|
|
80
|
+
/\bapp[-\s]module\b.*\bcomposicio[-\s]?n\b.*\bfinal\b/,
|
|
81
|
+
/\bbuild[-\s]types?\b.*\bdebug\b.*\brelease\b/,
|
|
82
|
+
/\bbuild[-\s]variants?\b/,
|
|
83
|
+
/\bbuildconfig\b.*\bconstantes\b/,
|
|
84
|
+
/\bbuildsrc\b/,
|
|
85
|
+
/\bcore[-\s]modules?\b/,
|
|
86
|
+
/\bcompose[-\s]bom\b/,
|
|
87
|
+
/\bcrashlytics[-\s]firebase\b/,
|
|
88
|
+
/\bdatabase[-\s]database[-\s]class[-\s]abstracta\b/,
|
|
79
89
|
/\bxcode\b.*\bversion\b/,
|
|
80
90
|
/\bxcodebuild\b/,
|
|
81
91
|
/\bvoiceover\b.*\b(test|screen reader)\b/,
|
|
@@ -230,6 +240,17 @@ const isNonCodeRule = (rule: SkillsCompiledRule): boolean => {
|
|
|
230
240
|
return NON_CODE_RULE_PATTERNS.some((pattern) => pattern.test(haystack));
|
|
231
241
|
};
|
|
232
242
|
|
|
243
|
+
const isMetaInstructionRule = (rule: SkillsCompiledRule): boolean => {
|
|
244
|
+
const normalizedId = normalizeText(rule.id);
|
|
245
|
+
return (
|
|
246
|
+
normalizedId.includes('.use-grep-for-') ||
|
|
247
|
+
normalizedId.includes('.use-read-on-') ||
|
|
248
|
+
normalizedId.includes('.use-references-') ||
|
|
249
|
+
normalizedId.includes('.references-') ||
|
|
250
|
+
normalizedId.includes('.then-use-references-')
|
|
251
|
+
);
|
|
252
|
+
};
|
|
253
|
+
|
|
233
254
|
const hasDirectCodeDetectorCandidate = (rule: SkillsCompiledRule): boolean => {
|
|
234
255
|
const haystack = normalizeText(`${rule.id} ${rule.description} ${rule.sourceSkill}`);
|
|
235
256
|
return CODE_RULE_WITH_DIRECT_DETECTOR_PATTERNS.some((pattern) => pattern.test(haystack));
|
|
@@ -239,6 +260,20 @@ const classifyRule = (rule: SkillsCompiledRule): ClassifiedSkillsRule => {
|
|
|
239
260
|
const evaluationMode = rule.evaluationMode ?? 'AUTO';
|
|
240
261
|
const astNodeIds = resolveMappedHeuristicRuleIdsForCompiledRule(rule);
|
|
241
262
|
|
|
263
|
+
if (isMetaInstructionRule(rule)) {
|
|
264
|
+
return {
|
|
265
|
+
ruleId: rule.id,
|
|
266
|
+
platform: rule.platform,
|
|
267
|
+
sourceSkill: rule.sourceSkill,
|
|
268
|
+
sourcePath: rule.sourcePath,
|
|
269
|
+
evaluationMode,
|
|
270
|
+
severity: rule.severity,
|
|
271
|
+
status: 'NO_ES_REGLA_DE_CODIGO',
|
|
272
|
+
reason: 'Instruccion meta de uso de tooling o referencias; no debe emitirse como finding runtime.',
|
|
273
|
+
astNodeIds,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
|
|
242
277
|
if (astNodeIds.length > 0) {
|
|
243
278
|
return {
|
|
244
279
|
ruleId: rule.id,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pumuki",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.372",
|
|
4
4
|
"description": "Enterprise-grade AST Intelligence System with multi-platform support (iOS, Android, Backend, Frontend) and Feature-First + DDD + Clean Architecture enforcement. Includes dynamic violations API for intelligent querying.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|