pumuki 6.3.306 → 6.3.307

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.
@@ -2795,6 +2795,24 @@ let text = "XCTAssertEqual(value, expected)"
2795
2795
  assert.deepEqual(collectSwiftXCTestAssertionLines(ignored), []);
2796
2796
  });
2797
2797
 
2798
+ test('hasSwiftXCTestAssertionUsage permite UI tests XCTest brownfield explicitos', () => {
2799
+ const uiTest = `
2800
+ import XCTest
2801
+
2802
+ final class BuyerCommerceUISmokeTests: XCTestCase {
2803
+ func testCheckoutFlow() {
2804
+ let app = XCUIApplication()
2805
+ app.launch()
2806
+ XCTAssertTrue(app.buttons["Continue"].exists)
2807
+ XCTAssertEqual(app.staticTexts["Title"].label, "RuralGo")
2808
+ }
2809
+ }
2810
+ `;
2811
+
2812
+ assert.equal(hasSwiftXCTestAssertionUsage(uiTest), false);
2813
+ assert.deepEqual(collectSwiftXCTestAssertionLines(uiTest), []);
2814
+ });
2815
+
2798
2816
  test('hasSwiftXCTUnwrapUsage detecta XCTUnwrap real y evita strings', () => {
2799
2817
  const source = `
2800
2818
  let value = try XCTUnwrap(optionalValue)
@@ -2832,6 +2850,24 @@ let sample = "waitForExpectations(timeout: 1)"
2832
2850
  assert.deepEqual(collectSwiftWaitForExpectationsLines(modernWait), []);
2833
2851
  });
2834
2852
 
2853
+ test('hasSwiftWaitForExpectationsUsage permite waits en UI tests XCTest brownfield explicitos', () => {
2854
+ const uiWait = `
2855
+ import XCTest
2856
+
2857
+ final class BuyerCommerceUISmokeTests: XCTestCase {
2858
+ func testCheckoutFlow() {
2859
+ let app = XCUIApplication()
2860
+ app.launch()
2861
+ XCTAssertTrue(app.buttons["Continue"].waitForExistence(timeout: 5))
2862
+ wait(for: [expectation(description: "Loaded")], timeout: 1)
2863
+ }
2864
+ }
2865
+ `;
2866
+
2867
+ assert.equal(hasSwiftWaitForExpectationsUsage(uiWait), false);
2868
+ assert.deepEqual(collectSwiftWaitForExpectationsLines(uiWait), []);
2869
+ });
2870
+
2835
2871
  test('hasSwiftLegacyExpectationDescriptionUsage detecta expectation(description:) sin flujo moderno', () => {
2836
2872
  const legacyExpectation = `
2837
2873
  let expectation = expectation(description: "Done")
@@ -2258,6 +2258,10 @@ export const collectSwiftQuickNimbleLines = (source: string): readonly number[]
2258
2258
  };
2259
2259
 
2260
2260
  export const hasSwiftXCTestAssertionUsage = (source: string): boolean => {
2261
+ if (hasSwiftLegacyXCTestUiOrPerformanceUsage(source)) {
2262
+ return false;
2263
+ }
2264
+
2261
2265
  if (hasSwiftBrownfieldXCTestQualityPattern(source)) {
2262
2266
  return false;
2263
2267
  }
@@ -2304,6 +2308,10 @@ const hasSwiftConfirmationUsage = (source: string): boolean => {
2304
2308
  };
2305
2309
 
2306
2310
  export const collectSwiftWaitForExpectationsLines = (source: string): readonly number[] => {
2311
+ if (hasSwiftLegacyXCTestUiOrPerformanceUsage(source)) {
2312
+ return [];
2313
+ }
2314
+
2307
2315
  return sortedUniqueLines([
2308
2316
  ...collectSwiftRegexLines(source, /\b(?:self\s*\.\s*)?wait\s*\(\s*for\s*:/),
2309
2317
  ...collectSwiftRegexLines(source, /\bwaitForExpectations\s*\(/),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pumuki",
3
- "version": "6.3.306",
3
+ "version": "6.3.307",
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": {
package/skills.lock.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": "1.0",
3
3
  "compilerVersion": "1.0.0",
4
- "generatedAt": "2026-05-19T19:44:36.203Z",
4
+ "generatedAt": "2026-05-19T20:42:51.075Z",
5
5
  "bundles": [
6
6
  {
7
7
  "name": "android-guidelines",